1
© C
opyr
ight
201
6 O
beo
Graphical DSL with Sirius: how to simplify the creation of custom modeling
tools
Etienne JULIOT – 2017 04 26Craft-Conf Workshop Eclipse ToolMakers’Day
© C
op
yrig
ht
2017
Ob
eo Easily and rapidly create
custom modeling workbenches
Business Domain UsersModeling Workbench
© C
op
yrig
ht
2017
Ob
eo
Benefits
End users
Tools tailored to their vocabulary & processes
Tool specifiers / Developers
Reduce cost & complexity(2 hours hands-on session produces first results)
© C
op
yrig
ht
2017
Ob
eo
Principles
Specification environment Runtime environment
Tool specifiers / Developers End users
© C
op
yrig
ht
2017
Ob
eo
• The System temperature should be under 30°C and must be under 40°C .
• The cost must be as lower as possible.
• Several Data Source (cameras, radars, wifi) can provide several GB of data.
• Each Processor must be able to capture all provided data in real time.
• Each component must have an electrical power line
• The total weight must be lower than 2 Kg
• Etc.
Demo: Trade-Off for Data Flow
Time
© C
op
yrig
ht
2017
Ob
eo
Define the Metamodel
DesignGraphical Editor
LeverageData
11
2233
Model-Driven Tools
● Generation● Validation● Comparison● Transformation
Model-Driven Tools
● Generation● Validation● Comparison● TransformationBusiness Vocabulary
• Concepts• Relations• Features
Business Vocabulary
• Concepts• Relations• Features
Representations
● Displayed elements● Shapes● Coulors● Fonts
Edition tools
● Palette● Properties Views
Representations
● Displayed elements● Shapes● Coulors● Fonts
Edition tools
● Palette● Properties Views
Process
© C
op
yrig
ht
2017
Ob
eo
Complexity Management
• Synchronized Editors
• Conditional Styles
• Layers
• Filters
• Validation Rules
• Quickfixes
• Synchronized Editors
• Conditional Styles
• Layers
• Filters
• Validation Rules
• Quickfixes
© C
op
yrig
ht
2017
Ob
eo
Project history
Created by Obeo and Thales to providea generic modeling workbench
that can be tailored to specific needs
Contributed in Open Source in 2013 as a project in Eclipse
Several millionsEclipse Users
200Eclipse Members
Eclipse Strategic Member
Obeo+16M Open Source Lines of Code
+20 Eclipse Committers5 Project Leaders
13Eclipse Strategic Members
(Google, IBM, Oracle, SAP, Bosch, )…
© C
op
yrig
ht
2017
Ob
eo
A dynamic Open Source project
Already deployed on numerous operational contexts
Sponsors working on Open Innovation mode (Thales, French DoD, Sagem, ETAS-Bosch, ...)
Regular releases (2 per year, since 4 years)
Important activity on the forum (+100 messages per month)
Many visits of the web site (+144 000 pages views from 181 countries in 2016)
An annual community event with SiriusCon (18 speakers in 2016)
© C
op
yrig
ht
2017
Ob
eo
Many ready-to-use Open Source modelers
Information System Designer
UML Designer BPMN Designer
https://github.com/ObeoNetwork
... and other projects by more than 200 different authors
© C
op
yrig
ht
2017
Ob
eo
Obeo Designer
Training, Consulting, ProjectsObeo leads Sirius development,
we bring you our skills
Support & MaintenanceGuaranteed response time and favored access to fixes
Instant sharingFluent and conflictless work
on the same data
Secure Your Deployments
Collaborate with Your Team Members
Rely on Sirius experts
© C
op
yrig
ht
2017
Ob
eo
Obeo Designer Team
User 2
User 1 User 2
A shared repositoryand collaborative work mechanisms
Server
© C
op
yrig
ht
2017
Ob
eo
To get rid of file sharing problems!
Classic collaboration problems
Split the model into files
Manage the files with a Software Configuration Management tool
Manage locking at a file level
Reconcile using diff & merge
© C
op
yrig
ht
2017
Ob
eo
Users’ Feedback
Several users working simultaneously on the same data• Automatic propagation of modifications across all user views
• Authentication and data access rights
No time lost managing conflicts• Implicit locking during modifications
• Explicitly created reservation locks
Standard data exploitation• Storage in a multi-platform relational database (H2)
• Ready to deploy server configuration based on CDO
• Import/Export with local projects
How to Start?
Demonstrator focus on potential issues & visual
Good Domain model & Modeling tool applicable on a first project
● Productivity tools● Integration with other tools● Packaging● Release engineering
Prototype Industrialization Deployment
By Obeo
We develop on your behalfWe are committed to the results
Independently
You develop by your self.We provide training and support.
With Obeo
We put our experts at your disposal,on your premises or remotely
& with local partner (eg. IncQuery)
Team with all stakeholders : Sirius Features, Business Specifics, Integration
© C
op
yrig
ht
2017
Ob
eo
Metamodel definition
Capture the core concepts of your business
Represent them in a comprehensive, well formed and evolutive Ecore model.
© C
op
yrig
ht
2017
Ob
eo
Implement specific editors
Choose representations that best suit your business needs
Efficiently implement them: performance, UX, evolutivity
© C
op
yrig
ht
2017
Ob
eo
Develop complementary plug-ins
Integrate other kind of editors (textual, forms, ...)
Manage models’ life-cycle (comparison, imports/exports, ...)
Generate code or documentation
© C
op
yrig
ht
2017
Ob
eo
Integrate a ready-to-use workbench
Create a seamless assembly of tools
Provide a powerful and intuitive environment
© C
op
yrig
ht
2017
Ob
eo
Industrialize your tooling process
Select the best solutions to manage, test and build your plug-ins
Create a software factory to rapidly and safely deliver your solution