Here you can find the sources and the installation steps.
After the installation you can start to create projects and your desired models (see Features Overview) in the current eclipse environment. However, if you want to see the output of the code generator in the console (which might be helpful because it shows additional hints and errors of the model) you need to launch a new eclipse environment. You can do this as following:
Run→Run Configurations…→Right click on Eclipse Application on the left side→New Configuration→Choose a name→Run
A new eclipse environment will start. If you then create the projects and the desired models in this new environment, you will see the output of the code generators every time it is triggered in the console of the old eclipse environment.
Only the models of the Building Block and the TCL feature have associated code generators. To trigger them manually, just add a whitespace somewhere in their textual models (*.bbdsl and *.tcl respectively) and save the files.
It is up to the user how exactly to organize the different models in projects. If it is necessary to reference model elements in other projects from the model in your current project you need to define project references:
Sometimes when launching Eclipse it happens that existing models in existing projects can not find references to models in other projects anymore. In that case just close all the referenced projects and then open them again.
This model-driven toolchain has several features with different purposes as shortly introduced in the following.
Description: Allows to model collections of Data Objects that define the underlying data structure of a variability entity in a general sense. From a more concrete point of view they may represent things such as communication objects between component services or component parameters.
Model file extension: .dordsl
Generates: —
Supported model types: Textual
Required model dependencies: —
Optional model dependencies: Data Objects
DataObjectRepo {}
DataObjectRepo { UnboundedDataObjectDef UdoLocation2D { ElementDef x is Real, ElementDef y is Real } BoundedDataObjectDef BdoKinematicDOFs { ElementDef KinematicDOFs is String StringVSPInit ["2D", "3D"] } }
Description: Allows to model Building Blocks and their decomposition structures. Building Blocks may represent concrete functionalities at different levels of abstraction such as functions, components (decompose to functions), skills (decompose to components) or tasks (decompose to skills).
Model file extension: .bbdsl
Generates: Variability solver for the referenced DVG model
Supported model types: Textual, graphical
Required model dependencies: DVG*
*A model is valid without a reference to a DVG but if you want to solve the associated variability you need to reference a corresponding DVG
BuildingBlockDescription <DesiredName> { BuildingBlock <DesiredName> { } }
For more information see Details on the Building Block Feature.
Description: Allows to model Dependency Variability Graphs (DVGs) which describe the composition of variability of Building Blocks.
Model file extension: .dvgdsl
Generates: —
Supported model types: Textual, graphical
Required model dependencies: Building Block
Optional model dependencies: Data Objects
DVG <DesiredName> {}
For more information see Details on the DVG Feature.
Description: Allows to model task nets for orchestrating the run-time execution of SmartSoft based robotic systems.
Model file extension: .tcl
Generates: SmartTCL code, a Lisp based DSL to orchestrate the run-time execution of SmartSoft based robotic systems
Supported model types: Textual, graphical
Required model dependencies: —
Behavior <DesiredName> {}
For more information see Details on the TCL Feature.