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.
robbdd is a Python package and can be installed using pip install.
The following Python packages must also be installed as dependencies:
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 forconsole&graphgenerators, for specifying the RDF graph serialization format. Seerdflibdocumentation (linked above) to see which are available. Typical formats arejson-ld,ttl,xml. Default format if non specified isjson-ld.nocompact: available forconsole&graphgenerators, when format isjson-ld. If specified, won't add@contextwith prefix-namespace mapping in the serialized JSON.filename: available forgraph&gherkingenerators, for specifying the output file name. File extensions will be ignored. If not specified, the model file name will be used by default.
The console generator prints graph serialization to the console. Example use:
foo@bar:~$ textx generate examples/models/pickplace_quantifiers.bdd --target console --format ttlThe 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_graphOr 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/generatedThe 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