Skip to content
secorolabPublic
forked from 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. RobBDD Specification Tutorial
  3. Acceptance Testing Tutorials
    1. Tutorial 1: Scenarios and Variations
    2. Tutorial 2: Observations and Execution (WIP)
    3. Tutorial 3: Set Quantifiers and Sorting (execution WIP)
  4. Modelling a pickup task as JSON-LD graphs

Acknowledgement

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

EU logo SESAME logo

Releases

Packages

Contributors

Languages