Service Robotics Research Center
at Ulm University of Applied Sciences

User Tools

Site Tools


New User Interface (UI) in the SmartMDSD Toolchain v3.9

In the version 3.9, the SmartMDSD Toolchain has undergone a major User Interface (UI) upgrade. Most notably, the SmartMDSD Toolchain v3.9 explicitly distinguishes between several developer roles as defined in the RobMoSys Technical Wiki. In version 3.9, the SmartMDSD Toolchain supports the following roles:

  • Domain Expert (Tier 2): This is a combined modeling view for developing domain-specific models that act as realization-independent definitions of services, communicated types, etc.
  • Component Supplier (Tier 3): This is the specific view around models related to designing and implementing one specific software component.
  • Behavior Developer (Tier 3): This role has a specific focus on behavior coordination models.
  • System Builder (Tier 3): This is the role that uses several components and behavior models to combine them to a specific system.

These RobMoSys developer roles are realized as dedicated “Eclipse Perspectives”. Each perspective reorganizes the visible contents and windows in the SmartMDSD Toolchain specifically tailored to the needs of the related RobMoSys developer role.

Furthermore, for each of the above roles, the SmartMDSD Toolchain v3.9 provides a tailored project type that acts as a container for cohesive (i.e. related) model-types. The new project types are realized as “Eclipse Project Natures”. In version 3.9, the following project natures are defined:

  • For the Domain Expert: the DomainModels Project
  • For the Component Supplier: the Component Project
  • For the Behavior Developer: the Behavior Project
  • For the System Builder: the System Project

In case you already have projects created with an older version of the SmartMDSD Toolchain v3, then you can easily activate the new UI features for your projecty by activating one the above project natures. This can be done as follows:

As can be seen, the nature is configured by right-clicking on an existing project within the Models Explorer window and then selectiong the menu ConfigureConfigure SmartMDSD … nature (where “…” is a placeholder for actual nature type. You have to repeat this step once for each of your projects (only if they have been created with an older version prior to v3.9), each time selecting the right project nature depending on the currently selected project kind. You can always undo a configured nature by using the Remove SmartMDSD … nature command which automatically appears after a nature has been configured.

Next the related perspective can be opened as follows:

Another way to open a perspective is to use the Eclipse menu: WindowPerspectiveOpen PerspectiveOther…, and then choosing the perspective to open. You only have to do this once, after that Eclipse will provide shortcuts for all pre-opened perspectives and you can easily switch between them:

Please note, that the new perspectives automatically activate the new SmartMDSD Project Explorer window on the left, which activates several filters for projects and their contents. The new SmartMDSD Project Explorer only presents projects with a cerain project nature depending on the currently selected perspective. Moreover, the project's internal contents are cleaned-up and allow simple navigation to the models, including their graphical representation.

Wizards for Creating new Projects and Models

The new UI also provides Wizards for the creation of new projects and individual models.

Alternativelly, the wizards can be opened using the Eclipse menu: FileNewDomain-Models Project (just as an example). For creating individual models into an alrady existing project you can seamlessly use the new SmartMDSD Model creation wizard:

Finally, you can also manage your project's current dependencies to other projects using the new context menu that you can reach by right-clicking on the imports folder:

Please note, that the imports folder in the SmartMDSD Project Explorer is a virtual folder that does not exists in the file system, but is just used to visualize and manage the project's dependencies.

Generating Code and Building the Project

You can now modify the models, trigger code-generation, and build the project as follows:

You can also use the context menu by right-clicking on the project and selecting the respective commands for generating code, and for building the project. Please note, that building the project automatically triggers the cmake configuration command as well as the actual build step.

how-tos/new-v3.9-ui/start.txt · Last modified: 2019/03/13 16:13 by Alex Lotz