Create a new Diagram

This walkthrough will explain the basic steps which are needed to create a multi-level model and work with Melanee.

  • Opening the Melanee Perspective: With the new build, the Melanee perspective is displayed by default. If you need to reopen the perspective go to “Window” -> “Open Persepecitve” -> “Other” -> “Melanee”

  • Creating a new Project: New models can only be created within projects. To create a new Project right-click in the “Project Explorer” and select New -> Project -> Melanee Project

  • Creating a new File: Right click on the project and select New -> LML Diagram.

  • Creating a new DeepModel: First, a DeepModel needs to be created which is the container for elements of the domain. Select the “DeepModel” element from the “DeepModel Definition” palette, move the mouse into the file and left mouse click. Afterwards, levels can be added to it: select the “Level” element from the same palette and click into the DeepModel.

  • Add Entities: Select “Entity” from the “Domain Definition” palette and click in the wanted level of the model. Pay attention to the mouse pointer as it indicates where an entity can be added and where not.

  • Add Attributes/Methods: To add an Attribute or a Method, select the respective element in the “Domain Definition” palette and hover over the entity that should be modified. Modifications of the feature can be done in the linguistic properties view. There, the Datatype, Durability (indicates over how many levels the feature is present), Mutability (indicates over how many levels the value of the attribute can be modified), Name and Value can be defined.

  • Add Inheritances: Select “Inhertiance” from the “Correlation Definition” palette and click into the wanted level. To connect the inheritance with entities, choose the “Super-/Subtype” element of the same palette – start in the middle of the inheritance symbol, hold a left click and move the mouse to the wanted entity. With the close of the left click, a menu opens where the type of the entity can be chosen, either being the Supertype or the Subtype.

  • Add Connections: Select “Connection” in the “Domain Definition” palette, click on the first entity, hold the left click and move the mouse to the second entity, close the left click. The connection can be named and the links between the entities can be modified in the linguisitc properties view.

  • Expand/Collapse Generalizations, Connections, etc.: Inheritances and connections have both a dotted, visually insignificant and an exploded, verbose visualization. To toggle between both, select the model element and click the +/- sign from the pop up menu.

  • Using the dynamic DSL palette in lower levels: In lower levels, a new palette appears — the “DSL Elements”. This palette provides all elements of the level above that are instantiable (linguistic property of the element).

A detailed description can be found here or watch the whole interactive Tutorial: