Eclipse Sirius, the technology behind Capella
What is Eclipse Sirius? How does it work and why is it the technology behind Capella? Find out more about this technology that could facilitate the creation and the maintenance of graphical modeling workbenches.
As the state-of-the-art engineering tool vendors did not provide the appropriate offer, Thales decided in 2007 to develop its own Model-Based Systems Engineering (MBSE) method and workbench. This initiative resulted in Arcadia and Capella.
To reduce the complexity and the cost of developing such a custom modeling tool, Thales worked with Obeo to create a new technology that could facilitate the creation and the maintenance of graphical modeling workbenches. This technology, Eclipse Sirius, is available in open source since 2013.
Completely generic, Sirius leverages the Eclipse modeling technologies, including EMF for the model management and GMF for the graphical representation. It makes it possible to equip teams who have to deal with complex architectures on specific domains.
It is particularly adapted for users that have defined a DSL (Domain Specific Language) and need graphical representations to better elaborate and analyze a system and improve the communication with other team members, partners or customers.
Capella, a Sirius-based workbench
Thanks to Sirius, Thales developed Capella, an innovative visual MBSE workbench offering advanced graphical editing capabilities:
- specific diagrams dedicated to the kind of representations defined by Arcadia method (dataflow, scenario, functional chain, breakdown, modes & states, data model, component wiring, allocation)
- a consistent colour scheme (all function-related elements are green, and all component-related elements are blue)
- complexity management (display of computed exchanges between functions, automated contextual diagrams, filters to automatically hide or show some elements, etc.)
- model validation and quick fixes organized in categories (Integrity, design, completeness, etc.)
Sirius can also be used, through the Capella Studio environment, to develop additional graphical representations dedicated to specific engineering concerns, called viewpoint:
- electrical power systems
- power and thermal performance depending on flight phase consumption
- redundancy rules, failure scenarios and propagation
- reconfiguration issues
- early identification of spatial arrangement constraints impacting the architecture
How does it work?
The graphical editors can be easily configured with a minimal technical knowledge.
The Sirius runtime uses a description of the modeling workbench which defines the complete structure of the model editors, their behavior, and all the edition and navigation tools. This description can be seen as a mapping between the DSL concepts (the elements defined by the Ecore model) and the graphical workbench (the diagrams, the tables, the tools, etc).
In addition, to help the users master the potential complexity of their models, Sirius provides several mechanisms to focus on elements of interest:
- Conditional styles: change the graphical rendering of objects depending on their properties. For example: changing the background color to red when an attribute exceeds a threshold, varying the size of the shape according to the value of an attribute, etc.
- Layers and filters: display or hide elements of the diagram according to specific conditions.
- Validation and quick-fixes: the model can be validated by specific rules. The problems are listed on the Problems View and the corresponding objects are graphically marked. For some problems, quick-fixes can be suggested to correct the model.
Sirius also provides the notion of “Modeling Project”, an integration with the Project Explorer. It handles the synchronization of workspace resources, and in-memory instances. It also manages the sharing of command stacks and editing domains across editors.
The editors’ description is dynamically interpreted to materialize the modeling workbench within the Eclipse IDE.
No code generation is involved: the editors’ description is dynamically interpreted to materialize the modeling workbench within the Eclipse IDE and the specifier of the workbench receives instant feedback while adapting the description. Once completed, the modeling workbench can be deployed as a standard Eclipse plugin. Thanks to this short feedback loop, a workbench or its specialization can be created in a matter of hours.
Integration with other technologies
Sirius can also be integrated with other technologies such as Eclipse Xtext to provide complementary textual editors. With Xtext, models are loaded and saved using their textual syntax, enabling concurrent use of diagram, table and textual editors.
To enable teams working simultaneously with Sirius-based modeling tools, Obeo has developed Obeo Designer Team, an add-on that integrates Sirius with Eclipse CDO to allow several users to collaborate live and fluently on the same model, without losing time managing conflicts.
Sirius ecosystem and roadmap
Since the creation of Capella, many other modeling workbenches have already been implemented with Sirius in various fields and use-cases. You can find some noteworthy examples on the public Sirius gallery.
Brand new case-studies were also presented during SiriusCon, last november in Paris. You can discover the presentations here.
At SiriusCon, I also presented Sirius roadmap: from origins, up to what’s actually cooking.
If you need additional features to be integrated to Sirius, know that Sirius is continuously evolving according to rich collaborations with the ecosystem, in an Open Innovation mode. It is in this spirit that we invite you to share the needs you would like Sirius to fulfill by completing this short survey.
You are welcome on board!
This post was originally published in the December 2017 issue of the Eclipse Newsletter: Capella: open source MBSE solution
For more information and articles check out the Eclipse Newsletter.