Launching Obeo Designer Community

Why Obeo Designer does not launch?

On Windows 64, if ObeoDesigner.exe doesn't start (no spashscreen, no error message) the problem may come from your installed JRE. You are probably using a 32 bits version of Obeo Designer instead of 64 bits.
To force ObeoDesigner to use a 32 bits JRE, you must install a 32 bits JRE and reference it in the ObeoDesigner.ini file:
- -vm
C:\Program Files (x86)\Java\jre7\bin\javaw.exe


Using a modeling tool created with Sirius

Can I align my shapes?

Yes, you can use grid and rulers (go to property view)

Can I obtain a very simple UI, without complex Eclipse's menus?

Yes, Sirius can be integrated like an RCP application to provide minimalist UI.

How can I use EMF Compare to diff and merge models?

If the "Compare with" menu returns a textual difference of the XMI files, it means that EMF Compare didn't recognize your models. You can fix this problem by adding the file extension of your models to the Content Types list in the EMF Compare preferences. If you are the author of the metamodel, you should declare this content type by using the corresponding extension point.


Creating your own modeling tool with Sirius.

My viewpoint is not listed in the "Viewpoint selection" dialog of the "Model Content" view

Your viewpoint is not listed because it does not match with a semantic resource associated to the session. Check that at least one semantic resource is associated to the session and that its extension matches the "Model File Extension" property of your viewpoint.

What is the difference between a Viewpoint and a Layer ?

A Viewpoint is a group of representations (diagrams, tables, matrix, trees) corresponding to a given role or activity. A Layer is related to only one diagram and allows to display additional model elements or change their graphical rendering depending on a condition.

Is there a way to have associations with association ends, like in UML, i.e. showing the property (name, multiplicity, visibility, etc.) at each end of the edge?

To have associations ends like in UML you should define Begin and End label descriptions under the Edge definition.

How to group child nodes by type within a list container?

Declare a specific child Node for each type.

How to manage reflexive relationships within a Tree?

A node can import himself and be used to populate its subnodes with objects of the same type.  

Deleting an edge, also deletes the source of the edge. How to just unset the relationship ?

A Relation Based Edge is related to a semantic element. By default, it is the source of the edge. That's why deleting the edge, also deletes the source of the edge. To change this, you have to define a deletion tool and specify the relation to unset and the object to remove from the relation. To unset the target element of the edge, set the "Element Expression" property with this expression : "<%$elementView.targetNode.target%>" ($elemenView.targetNode gives the graphical element under the target of the edge).

How to allow users to add any existing element on a diagram without changing the semantic model?

For example, to add any class from another package on a UML class diagram.

For each element which can be added to the diagram, create a Node mapping with the "Synchronization" property set to "Not synchronized". Add a Drop tool for this Node mapping to allow the users to add elements on the diagram. Add a Delete tool for this Node mapping to specify that the deletion should only delete the graphical element.


I have a PerGenSpace error when I test my designer in a new Eclipse runtime

Add the option -XX:MaxPermSize=256m in the VM arguments of the Eclipse launch configuration

How to detect performance issues?

You can use a profiler to check the performance of your queries. Activate Profiling in Window -> Preferences -> Obeo Profiler. Open the view "Time Profiler View". Ask "Refresh View" to see which query takes too long.

Under Mac OS X 64 bits, when trying to launch a second runtime, it fails with the default parameters with an UnsatifiedLinkError.

Add the -d32argument in the "VM Arguments" section of the launch configuration.


Creating you Domain Model

The code generated by EMF doesn't compile (error "impl can not be resolved or is not a field")

Check that no EClass of your Ecore model has the same name than the main EPackage. If you have created a new Ecore Modeling project, the name of the EPackage is initialized from the name of the project and can be changed in the second panel.


Architecture and technology stack

Sirius relies on EMF. Is this technology mature?

EMF is widely used by very large companies like Airbus, Nasa, SAP or IBM. The current estimation states on +200 products which embedded EMF as a core framework. The project exists for 10 years with a very active community (see newsgroups, EclipseCon Talks, new features, ...). Follow this link for a detailed response from Ed Merks, the leader of EMF.

Is it possible to integrate Sirius with a DSL developped with Xtext ?

Yes there is an extension that you can install from Obeo Designer updatesite: in the category "Obeo Designer Community Edition", select "Sirius Integration with Xtext".