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.
https://www.eclipsecon.org/europe2014/bof-session/lets-practice-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: https://filetransfer.obeo.fr/browse.php?parent=38896

Friday, October 24, 2014

Sirius Gallery: 20 cool and noteworthy examples

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

http://eclipse.org/sirius/gallery.html

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 :

https://bugs.eclipse.org/bugs/show_bug.cgi?id=448492

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.