What’s Coming in Sirius 6.0?

The next major version of Sirius, version 6.0, will be released on June 27, 2018 as part of the Eclipse Photon Simultaneous Release, with a corresponding version of Obeo Designer Community Edition soon after. Many of the new features for this release are already available for testing in milestone versions, and now is the right time to test them and give us feedback: there’s still time to make adjustments and fix corner cases, so do not hesitate to test and report any issue on the bugzilla. The more early feedback we get, the better the final version will be! Thanks in advance.

We’re working on an Early Access Program for Obeo Designer to make it easier to test these milestone versions on ready-to-use packages. It’s not quite ready yet but hopefully we should be able to announce it here on this blog in the next few weeks, so stay tuned.

Installing Sirius 6.0M6

In the meantime, the easiest way to test the latest milestone is to download the Eclipse IDE for Commiters Package from this page, and then:

  • 1. Select Help > Install New Software... from the top-level menu.
  • 2. In the Work with combo, select the pre-registered Photon entry.
  • 3. In the Modeling category, check the following three Sirius features for best results: Sirius Specifier Environment, Sirius Integration with Xtext (optional if you do not use Xtext at all), and Sirius ELK Integration (which is new in Sirius 6.0):

Installing Sirius 6.0M6

New Features Ready for Testing

So what are the new features that will be introduced in Sirius 6.0?

Support for background color on diagrams ( ticket #525533). Specifiers can now define the background color to be used for diagrams. All the kinds of colors supported by Sirius are available, including fixed colors, interpolated colors and computed colors. This can be configured in the new Background tab available on Diagram description elements:

Configurable background color for diagrams

Like most things in Sirius, colors can be dynamic and can depend on the current state of your model. In this case the background will be refreshed anytime your semantic model changes. Here the background color changes across a gradiant according to an expression that computes the number of classes:

Note that as part of this work we also prototyped support for background images, but it’s more complex and is currently just a proof of concept. If this interests you, feel free to contact us to see if we could collaborate on bringing this feature in a future release.

Support for "hot reload" of VSMs from deployed plug-ins ( ticket #522407). When developing a Sirius modeler, it is sometimes needed to launch an Eclipse runtime to test it, especially when the modeler starts to get complex and uses mechanisms like extension points. Once the runtime is running, changes made to the VSM in the host workspace are not reflected inside the runtime (guest). It is now possible to reload the VSM in the runtime without restarting the Eclipse instance.

In the animation below, the host Eclipse is on the left, opened on the Ecore Tools modeler definition. On the right there is a runtime launched from that host. The specifier changes the color of a mapping in the host and saves the VSM. This has no immediate effect in the runtime, and in fact, even an explicit Refresh on the diagram does not change anything. At this point, prior to Sirius 6.0 the specifier would have to close and restart the runtime to make sure the modified version of the VSM is loaded, which is rather annoying and breaks the workflow. Starting from version 6.0M5, the runtime has a new button available in the main toolbar which forces Sirius to reload the VSM definition: the new definition takes effect immediately on the diagram, exactly like when you test your VSM in the development workspace.

Support for 'hot reload' of VSMs from deployed plug-ins

Quick navigation to service method implementation in the VSM editor ( ticket #471900). Many parts of Sirius are configured using dynamic expression written in e.g. AQL. These expressions can very easily call into what we call service methods when needed to get the full power and raw speed of Java. With Sirius 6.0 this will be more convenient than ever: when editing an interpreted expression in the VSM editor, if the cursor is on a position which corresponds to the invocation of a Java service, hitting F3 will open the Java editor directly on the service method's implementation if it can be found. If multiple candidate methods are found and could not be disambiguated statically, a dialog opens with all the candidates for the user to choose which one(s) to open.

Here we see this feature used in the Ecore Tools modeler definition, which makes heavy use of Java services in its expressions:

Quick navigation to service method implementation in the VSM editor

Integration with ELK for improved diagram layouts ( ticket #509070). One of the most requested feature in the Community Survey was more powerful and configurable diagram layout. We’ve heard you, and Sirius now supports an optional integration with ELK for this. ELK is an Eclipse project which provides high quality and very configurable graph layout algorithms that: kudos to the ELK team for providing these in a very easy to integrate component! Concretely, specifiers can now configure which ELK algorithm and parameters should be used for each of their diagrams, directly inside the VSM. At runtime, if ELK is present, the “Arrange All” layouting operation will use it with these parameters instead of the legacy layout algorithm.

Note that this integration will still be considered experimental at the time of release and will only be available if you install the corresponding optional feature. Once again, the more we get feedback the faster we will be able to stabilize this. We have many ideas on how to improve this integration, but we need your input to decide in which direction to push this.

New “magic” edge creation tool that improves end-users experience ( ticket #528002). When an end-user wants to create a new relationship between elements on a diagram, she must first locate the appropriate edge creation tool in the palette. This can be cumbersome when the palette contains many elements. For example Ecore Tools defines four different edge creation tools (1):

Edge creation tool

Sirius 6.0 introduces a new generic edge creation tool which will be available for free on all Sirius diagrams in the palette. On the screenshot above you can see the tool in the top part of the palette (2).

With it, end users no longer have to locate the appropriate tool beforehand, but only to choose the source and target elements on the diagram: the “magic” tool will automatically identify which tools are compatible with the elements and propose them in a popup menu (or apply it directly if only one concrete tool matches):

Edge creation tool

Of course, beside these highly visible features Sirius 6.0 also includes its fair share of bug fixes and performance improvements. If you are curious, you can see the complete list of tickets currently in the scope of the version.

If you have any question on how to use these new features (the documentation may not yet be complete for all), feel free to drop us a note on the forum and we will do our best to help.

There are a few more improvements coming before the final 6.0 release in June, not the least of which is new support for defining workflows to guide your users, but that will be for another message. In the meantime, we hope the ones which are already here will please you.

React Europe 2018
Sirius Community Survey 2017 Results

Related Posts