SRRC Wiki

Service Robotics Research Center
at Ulm University of Applied Sciences

User Tools

Site Tools


sdvg:smartdependencyvariabilitygraphs

SmartDependencyVariabilityGraphs Toolchain

Installation

Here you can find the sources and the installation steps.

General Hints About Usage

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:

RunRun 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.

Triggering the Code Generators

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.

Model References Between Different Projects

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:

  1. Right click on your current project→PropertiesProject References→Select the projects you want to reference→Apply and Close
  2. Close your current project (Right click on project→Close Project)
  3. Open the closed project again (Right click on project→Open Project)

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.

Features Overview

This model-driven toolchain has several features with different purposes as shortly introduced in the following.

Data Objects Feature

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

Creating a textual model in a new project

  1. FileNewOtherModeling Project→Enter the name of the project→Finish
  2. Right click on the created project→NewFile
  3. Enter the name of the file and append .dordsl
  4. FinishYes

Minimal valid textual model

DataObjectRepo {}

Simple example model

DataObjectRepo {
  UnboundedDataObjectDef UdoLocation2D {
    ElementDef x is Real,
    ElementDef y is Real
  }
  BoundedDataObjectDef BdoKinematicDOFs {
    ElementDef KinematicDOFs is String
    StringVSPInit ["2D", "3D"]
  }
}

Building Block Feature

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*
Optional model dependencies: Data Objects, Building Block, 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

Creating a textual model in a new project

  1. FileNewOtherModeling Project→Enter the name of the project→Finish
  2. Right click on the created project→NewFile
  3. Enter the name of the file and append .bbdsl
  4. FinishYes

Minimal valid textual model

BuildingBlockDescription <DesiredName> {
  BuildingBlock <DesiredName> {
  }
}

Creating a graphical model

  1. Make sure that a valid textual model exists (i.e. at least a minimal valid textual model should be there)
  2. Open the representations.aird file in your project (if the .bbdsl file does not appear in Models, close the project and open it again (right click on the project→Close Project/Open Project)
  3. New (Representations)→BBNextBuilding Block Description <DesiredName>→Finish→Enter a name→OK

Simple example model

For more information see Details on the Building Block Feature.

DVG 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

Creating a textual model

  1. FileNewOtherModeling Project→Enter the name of the project→Finish
  2. Right click on the created project→NewFile
  3. Enter the name of the file and append .dvgdsl
  4. FinishYes

Minimal valid textual model

DVG <DesiredName> {}

Creating a graphical model

  1. Make sure that a valid textual model exists (i.e. at least a minimal valid textual model should be there)
  2. Open the representations.aird file in your project (if the .dvgdsl file does not appear in Models, close the project and open it again (right click on the project→Close Project/Open Project)
  3. New (Representations)→DvgNextDVG <DesiredName>→Finish→Enter a name→OK

Simple example model

For more information see Details on the DVG Feature.

TCL 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: —
Optional model dependencies: Building Block, DVG, TCL

Creating a textual model

  1. FileNewOtherModeling Project→Enter the name of the project→Finish
  2. Right click on the created project→NewFile
  3. Enter the name of the file and append .tcl
  4. FinishYes

Minimal valid textual model

Behavior <DesiredName> {}

Creating a graphical model

  1. Make sure that a valid textual model exists (i.e. at least a minimal valid textual model should be there)
  2. Open the representations.aird file in your project (if the .tcl file does not appear in Models, close the project and open it again (right click on the project→Close Project/Open Project)
  3. New (Representations)→TclNextBehavior <DesiredName>→Finish→Enter a name→OK

Simple example model

For more information see Details on the TCL Feature.

sdvg/smartdependencyvariabilitygraphs.txt · Last modified: 2023/02/20 09:10 by admin

DokuWiki Appliance - Powered by TurnKey Linux