Skip to content

minhnh/robbdd

Repository files navigation

RobBDD

A Domain-Specific Language (DSL) for specifying robotic acceptance criteria, using concepts from bdd-dsl (described on this tutorial). Details on how to create a RobBDD model is also available in a tutorial on the same GitHub page.

Installation

robbdd is a Python package and can be installed using pip install. The following Python packages must also be installed as dependencies:

Model generators

The *.bdd models under examples/models folder can be used to generate RDF graphs or Gherkin feature files using the generators described below. RDF graph generation uses available serialization plugins provided by rdflib. These generators are created using textx generator mechanism. Two custom arguments are handled by the generators:

  • format: available for console & graph generators, for specifying the RDF graph serialization format. See rdflib documentation (linked above) to see which are available. Typical formats are json-ld, ttl, xml. Default format if non specified is json-ld.
  • nocompact: available for console & graph generators, when format is json-ld. If specified, won't add @context with prefix-namespace mapping in the serialized JSON.
  • filename: available for graph & gherkin generators, for specifying the output file name. File extensions will be ignored. If not specified, the model file name will be used by default.

Console

The console generator prints graph serialization to the console. Example use:

foo@bar:~$ textx generate examples/models/pickplace_quantifiers.bdd --target console --format ttl

Graph

The graph generator dump graph serialization to a file. Only json-ld, ttl, and xml formats are currently supported, which generate to .json, .ttl, and .xml file extensions, respectively. Example use for generating to the Turtle format:

foo@bar:~$ textx generate examples/models/pickplace_table.bdd --target graph -o examples/generated --format ttl --filename model_graph

Or generate JSON-LD without compacting IRIs, using model name as file name:

foo@bar:~$ textx generate examples/models/pickplace_quantifiers.bdd --target graph --nocompact -o examples/generated

Gherkin

The gherkin generator create Gherkin feature files from the models using generation mechanism from the bdd-dsl package. Example use:

foo@bar:~$ textx generate models/pickplace_quantifiers.bdd --target gherkin -o generated

About

DSL for specifying robotic acceptance criteria

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •