Skip to content

minhnh/bdd-dsl

Repository files navigation

bdd-dsl

Python package

This repository provides tooling to support the specification and execution of acceptance tests for robotic scenarios using the Behaviour-Driven Development (BDD) methodology. The underlying metamodel design is described in our paper, which was presented at the 2025 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2025).

Further documentation can be found below and on the maintained GitHub page for the repository. A more user-friendly DSL that can generate valid RDF graphs for working with bdd-dsl can be found on the RobBDD repository.

Quick start

Installation

  1. Install rdf-utils
  2. Install bdd-dsl with pip install

Gherkin generation & mockup execution with behave

A mockup test execution setup with behave is available for trying out our models. To run this setup:

  1. Generate the Gherkin feature using the generate_bdd_specs.py script. This should create a *.feature file under the examples/generated directory.
  2. Execute behave under examples/generated should run the mockup setup.

An execution setup with Nvidia Isaac Sim is available at the minhnh/bdd-isaacsim-exec repository.

Tutorials

  1. Concepts and relations for specifying robotic scenarios
  2. Tutorial: Modelling a pickup task using RobBDD & generating Gherkin features
  3. Tutorial: Modelling a pickup task as JSON-LD graphs and generating Gherkin features
  4. Tutorial: Modelling & executing BDD tests for a pickup task (WIP)

Acknowledgement

This work is partly funded by the SESAME H2020 project under grant agreement No 101017258.

EU logo SESAME logo

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages