Both textual and graphical modeling have their well-known strengths and weaknesses – obviously, we want the best of both worlds!
Enter Xtext/Sirius Integration: This talks includes a live demo of Xtext editors used as direct editors in Sirius diagrams and in the Properties view. We can both edit elements of the same model as used for the diagram, or edit text attribute contents.
Furthermore, this talk looks at some of the integration challenges and how to (mostly) overcome them.
Xtext and Sirius are among the most-used Eclipse Modeling Framework technologies, covering textual and graphical modeling, respectively. Previous EclipseCon talks discussed the different usage scenarios and difficulties of integrating these technologies. We focused on the “Xtext editors within Sirius diagrams and properties view” scenario and could solve most of the integration difficulties. The result is called Xtext/Sirius Integration.
Our main goals were to be a good Sirius citizen, i.e. configuring all details in the Odesign model, and to support as much of Xtext’s features as possible without requiring changes to the Xtext language.
This talk shows a live demo of Xtext/Sirius Integration capabilities, including:
- Using Xtext as direct edit in Diagram editor or as field in Properties view
- Editing model elements or text attributes as model
- Editing only selected features of an element
- Using the same or a different Xtext language for persistence and editing
Furthermore, we look at some of the integration challenges and how to (mostly) overcome them:
- Merging text-based model changes back into the Sirius session while maintaining references
- Improving user experience by using alternate grammar and scoping
- Integrating with Sirius’ deep technology stack for both the Odesign editor and runtime
The integration is already used in production environments. We’re currently in discussion with Obeo to open source this integration as a contribution to the Sirius project.