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
&graph
generators, for specifying the RDF graph serialization format. Seerdflib
documentation (linked above) to see which are available. Typical formats arejson-ld
,ttl
,xml
. Default format if non specified isjson-ld
.nocompact
: available forconsole
&graph
generators, when format isjson-ld
. If specified, won't add@context
with prefix-namespace mapping in the serialized JSON.filename
: available forgraph
&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.
The console
generator prints graph serialization to the console. Example use:
foo@bar:~$ textx generate examples/models/pickplace_quantifiers.bdd --target console --format ttl
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
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