Monday, November 2, 2015

Group And Stack Your Diagram Elements With Sirius 3.1

Want to group diagram elements into vertical or horizontal stacks? Since Sirius 3.1, it is possible.

With Sirius 3.0, it was already possible to create compartments, but we had introduced it as an "experimental" feature since some behaviors were not supported yet. Now compartments are fully operational and a new tutorial is available.

Consider this diagram that represents persons and their parental relationships.

On this diagram, if you focus on Elias, you can directly see his parents (Paul and Isa) and his children (Bryan, Clara, Dave and Fiona). And, as you understand the semantic of the father and mother relationships, you can easily guess who is his sister (Léa), and who are his grandchildren (John, Mary, Sophia, Emma, Fred and Alain).

These relationships (siblings and grandchildren) could also be graphically represented with a derived link. 

But if you use edges to represent all the differents kinds of relationships, what you may finally get is a real spaghetti nightmare! 

To avoid overhelming the users with too many edges, Sirius 3 allows you to create containers with stacked compartments where you can group sub-nodes. You can also use compartments to better distinguish different kinds of sub-elements, like the UML notation where a Class displays attributes and operations in dedicated compartments.

Each compartment can be "fixed" (it is created only once within the container) or "dynamic" (its number within the container depends on the model).

To easily visualize all the different kinds of Elias' relations, rather than using edges, we can use a container with fixed compartments for both parents, siblings and children, and a dynamic compartment for the grandchildren that groups grandchildren by their parents.

This new diagram doesn't replace the first diagram with edges. It is just complementary, providing a more synthetical representation.

To get this new diagram, Sirius 3 has introduced two new options for children representation: "Horizontal Stack" and "Vertical Stack". These options define how sub-containers will be organized. 

Note that the Sirius editor disables these options if the container contains sub-nodes (only sub-containers can be used for a stack).

Note also that Sirius manages only one level of compartments. However, it is still possible to create several levels, but this remains an experimental feature.

To read more about these compartments, I have written a Compartments Tutorial that explains, step-by-step, how to create the example that illustrates this post.

Friday, September 11, 2015

SiriusCon Paris 2015: Be Part of the Program!

After a successful Sirius roadshow that led us to Toulouse, Paris, Munich and Montreal we have decided to go one step beyond with a bigger event: a one-day conference dedicated to Sirius!

SiriusCon will take place in Paris, the 3rd of December 2015.

You can already register on

Our objective is to offer an opportunity for Sirius fans to share best practices, insights, case studies, and innovations.

It will be a free event for both beginners and advanced Sirius users. The conference will be organized with two tracks mixing 30' presentations from both Sirius committers, case-studies from Sirius adopters and experimental developments from researchers.

What we can say right now is that there will be three special sessions in the program:

  • a presentation of recent new and noteworthy features of Sirius (3.0 released in June and 3.1 coming in November) and an overview of what's cooking for Sirius 4.0 (June 2016).
  • a tutorial to create, step-by-step, a modeling tool by yourself with the help of Sirius experts
  • a clinic where you can come with your own modeling tool and discuss with Sirius committers     about your problems.

You can still be part of the program: just submit an abstract of your talk to

Call for Papers deadline is the 16th of October.

Monday, October 27, 2014

Let's Practice Sirius: BOF Session at EclipseCon

Like last year at EclipseCon, the Obeo team will organize a BOF session about Sirius.

It will take place Wednesday the 29th in Silchersaal.

(A BOF (Birds of feather) is an informal discussion group of members interested in a particular issue).

If you already know Sirius, you can come with your first Sirius modeler. But if you just want to discover this technology, you can also come with your own work (an Ecore metamodel, an Xtext editor, etc). Finally, you can also come empty-handed to start from scratch with an example provided by the Obeo team.

During the BOF session, 10 USB keys will be provided containing Sirius bundles (linux, mac and windows) and the resources corresponding to a basic tutorial.

If you plan to attend this BOF and don't want to loose time installing Sirius, you can already find these bundles and resources here:

Friday, October 24, 2014

Sirius Gallery: 20 cool and noteworthy examples

We have added a new Gallery page today on the Sirius web site:

This page presents 20 cool and noteworthy modelers already created with Sirius in various domains: Systems Engineering, Software Development, Business Configuration, etc.

Configuration of plastic products manufacturing

Capella Systems Engineering workbench

Modeling of Android mobile applications

Configuration of home automation systems

The list is not complete ... since we don't know or can't publish all what is done with Sirius, but it will be completed soon with several other examples we have in store.

So, if you also did something that could be published on this page, you can submit a short description and some nice screenshots here :

Multi-Viewpoints on EclipseCon Program

To demonstrate Sirius on short talks, I'm used to create a modeler from scratch, in ten minutes, on a topic that everybody in the audience knows: the conference they are attending.

For Eclipse Con Europe, I decided to extend this demo in order to illustrate one of Sirius' main feature : the possibility to present the same model according to different concerns.

Using Ecore Tools (based on Sirius), I created a small modeling workbench based on this DSL.

Based on this DSL, my new Conference modeling workbench provides four different representations : 3 diagrams and a cross-table.

Track Diagram

This diagram allows me to create tracks and talks, thank to the tools in the palette. For each track, I can define its speakers, the day of the talk, its location and at what hour it will be given.

Here I have created the talks by Obeo and Thales.

The container presenting each talk has a conditional style : its color depends on its duration (green if the duration exceeds 35 mn).

When populating this diagram, Sirius creates EMF objects based on the conference DSL. They can also be seen in the Model Explorer.

I have also defined two optional layers on this diagram: "Sirius" and "Speakers". Each layer allows me to dynamically change the appearance of displayed objects.

When activated, the "Sirius" layer highlights the talks containing Sirius in their title: the Sirius icon is displayed as a to-right decorator on the concerned talks, and the other talks are colored in gray.

When de-activated, the "Speaker" layer hides the speakers.

Location Diagram

This other diagram automatically presents the same talks grouped according to their location.

Days Diagram

This last diagram presents the talks grouped according to the days.

Program Table

Finally, I have also defined this table which shows the program in a classical tabular way:

Behind the scenes

These representations are simply defined without any line of code, thanks to Sirius declarative mode.

The elements of this tree define which instances of the DSL are displayed in each representation and with which graphical style.

For example, the element TalkContainer allows to display all the instances of Talk which can be retrieve through the talks reference of the current track.

Its style is defined by the Gradient white to light green element which sets the shape, the color and the label of the talk.

Friday, October 25, 2013

Launching Sirius

At Obeo, the last weeks have been very busy to launch Sirius.

Now it's done!

Sirius is here with:
  • An updatesite available from the Eclipse infrastructure
  • The integration in the Luna release train
  • A brand new website:
  • New videos

The team is ready for EclipseCon Europe 2013!

Saturday, March 23, 2013

Obeo at EclipseCon 2013

This week EclipseCon 2013 holds in Boston.

As usual, Obeo will actively participate to this event with the presence of seven of us:

Mélanie Bats

If you attend EclipseCon, try to catch them and ask them questions about EMF, Acceleo, EMF Compare, EEF, Mylyn Intent, Obeo Designer, Polarsys, Buildroot, ... they have a lot to say and to show about these topics!

But the best way remains to attend their talks: