Sirius
The Sirius project is a proposed open source project under the Modeling top-level Project.
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.
Background
Sirius has been developed by Thales as an internal component and is deployed within the whole Group. It is also deployed in other organizations as part of the Obeo Designer product. It is the core platform of several modeling environments already widely used, some of them with more than 2,000 installations a month via the Eclipse Marketplace.
From the specifier/developer perspective, Sirius provides:
- The ability to define workbenches providing editors including diagrams, tables or trees.
- The ability to integrate and deploy the aforementioned environment into Eclipse IDE’s or RCP applications.
- The ability to customize existing environments by specialization and extension.
From the end user perspective, Sirius provides:
- Rich and specialized modeling editors to design their models.
- Synchronization between these different editors.
Scope
Sirius aims at providing specific multi-view workbenches through graphical, table or tree modeling editors. Users can easily define their own modeling workbench, even with very little technical knowledge of Eclipse, while still being able to deeply customize it when needed.
The project provides a runtime and the associated tools required to describe, test, and distribute these workbenches on top of the Eclipse platform.
Description
Approach
Sirius enables the specification of a modeling workbench in termes of graphical, table or tree editors with validation rules and actions using declarative descriptions. All shape characteristics and behaviors can be easily configured with a minimum technical knowledge. This description is dynamically interpreted to materialize the workbench within the Eclipse IDE. No code generation is involved, the specifier of the workbench can have 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.
Multi-concern editors
We believe in the power of dedicated representations to analyze specific problems. Sirius provides a set of customizable and highly dynamic representations working seamlessly together on top of models. These representations can be combined and customized according to the concept of Viewpoint, inspired from the ISO/IEC-42010 standard. Views, dedicated to a specific Viewpoint can adapt both their display and behavior depending on the model state and on the current concern. The same information can also be simultaneously represented through diagram, table or tree editors.
Model Management
Sirius provides a runtime that works with models within the Eclipse IDE, providing the notion of «Modeling Project», an integration with the Project Explorer, handling the synchronization of workspace resources and in memory instances and the sharing of command stacks and editing domains across editors.
The main non-functional focuses for this runtime are scalability, performance and an easy-to-use UI’s.
Flexibility
The workbench description is loosely connected to the structure of the model thanks to queries. They are able to define the diagram content even in a way which does not match the model structure. As long as an EMF model is in memory, being a UML model or a DSL done with Xtext, the runtime operates the same.
Extensibility
For supporting specific use cases and requirements, there is always a need for customization. Sirius is extensible in many ways, notably by providing new kinds of representations, new query languages and by being able to call Java code to interact with Eclipse or any other system. Extensibility is achieved through the use of extension points and, when needed, by reusing existing APIs available in the underlying components (e.g. using the GMF runtime extension points to adapt a graphical modeler).
Why Eclipse?
By releasing and developing Sirius publicly we are pursuing two objectives:
- Strengthening the Eclipse Modeling Eco-system by enabling the creation of rich modeling workbenches at a very low cost.
- Unleashing the potential collaborations with other partners and projects in a healthy and commercially-friendly environment.
Furthermore Sirius is tightly based and integrated with most of the Eclipse Modeling projects (see the «Relationship with other Eclipse Projects» section).
Finally, Sirius has been developed for Thales during the last few years by Obeo, already a strong contributor to the Eclipse projects.
So, it feels just right to start this adventure in Eclipse.
Relationship with other Eclipse Projects
The Sirius project is making heavy use of all the Eclipse Modeling projects, notably:
- EMF Core as the basics for every model access and introspection, but also EMF Transaction and Validation.
- The GMF runtime and GMF notation projects are the basis of the dynamic graphical modeling capability of Sirius.
- Acceleo and MDT-OCL as the foundation of the query languages used to define the mapping between the models and the representations.
- Xtext is also supported as models are loaded and saved using their textual syntax, enabling concurrent use of diagram, table and textual editors.
- EEF (Extended Editing Framework) also integrates with Sirius in order to provide rich properties editing.
- Sphinx : Sirius brings a declarative definition of modeling workbenches which could benefit from being integrated in Sphinx.
Initial Contribution
The initial contribution includes :
- Sirius runtime: Life-cycle management, query and dynamic interpretation of the environment descriptions.
- Sirius runtime IDE: Integration with the Eclipse IDE.
- Sirius editors: Tools to specify modeling workbenches.
Thales holds the copyright of this code.
Legal Issues
Committers
All contributions will be distributed under the Eclipse Public License.
- We propose a co-lead for the Sirius project:
- Stephane Bonnet, Thales Global Services
- in charge of the team developing and deploying this technology within Thales.
- Pierre-Charles David, Obeo
- the technical lead of the project at Obeo.
The following individuals are proposed as initial committers to the project:
- Alex Lagarde, Obeo
- Benoit Langlois, Thales Global Services
- Cedric Brun, Obeo
- Esteban Dugueperoux, Obeo
- Florian Barbin, Obeo
- Hugo Marchadour, Obeo
- Jean Barata, Thales Global Services
- Julien Dupont, Obeo
- Laurent Redor, Obeo
- Matthieu Helleboid, Thales Global Services
- Maxime Porhel, Obeo
- Nathalie Lepine, Obeo
- Phillipe Dul, Thales Global Services
- Steve Monnier, Obeo
- Yann Mortier, Obeo
We welcome additional committers and contributions.
Mentors
The following Architecture Council members will mentor this project:
- Ed Merks
- Kenn Hussey
Interested Parties
The following individuals, organisations, companies and projects have expressed interest in this project:
- Airbus
- Soyatec
- Itemis AG
- Eike Stepper, ES Consulting
Project Scheduling
- April 2013: code submission and IP review
- September 2013: first builds on the Eclipse infrastructure.
- November 2013: 0.9 release
- November 2013: declaration as part of the Luna simultaneous release
- June 2014: 1.0 release with Eclipse Luna
Changes to this Document
Date | Change |
---|---|
06-March-2013 | Document created |
11-March-2013 | Reformulated scope |
17-April-2013 | Add interested parties |