New User Interface (UI) features since the SmartMDSD Toolchain version 3.9

Since 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:

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. A perspective can be opened by using the Eclipse menu: WindowPerspectiveOpen PerspectiveOther …, or simply by clicking at the Open Perspective button located at the upper right in the Eclipse window (see screenshot at righ). In the next popup window, you will see the available perspectives:

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”. Since version 3.9, the following project natures are defined:

In case you already have projects created with an older SmartMDSD Toolchain v3 version prior to v3.9, then you can easily activate the new UI features for your project by configuring 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.

DokuWiki Appliance - Powered by TurnKey Linux