ECMFA 2018 - Keynote : The future of modeling tools

melbats
@melaniebats
The future of modeling tools
Mélanie Bats, CTO @ Obeo
📧 melanie.bats@obeo.fr
🐦@melaniebats
@melaniebats
Who am I ?
CTO @ Obeo
Open source addict
Committer on Eclipse Sirius, Eclipse EEF, UML Designer
Member of the Eclipse Councils
Involved on collaborative projects : RT Simex, Gemoc
@melaniebats
Once upon a time...
@melaniebats
@melaniebats
@melaniebats
@melaniebats
@melaniebats
@melaniebats
@melaniebats
2002-2006 -Rise of the giants
Birth of the Eclipse Modeling
Ecosystem :
GEF/EMF/GMF
@melaniebats
2005 - Meanwhile in France
Obeo is Alive!
@melaniebats
2006 - Acceleo
@melaniebats
Obeo
Is a tool provider : develop dedicated modeling workbenches
Creates open source technologies
Is a key player of the Eclipse Modeling Ecosystem!
Has a long experience in developing graphical tools
Is involved in the open source and Eclipse projects : Sirius, Acceleo, EMF/GMF,
EcoreTools, EMF Compare, UML Designer, M2Doc, Capella...
@melaniebats
Why do we develop
modeling tools ?
@melaniebats
Tools are helping us to be more productive and
focus our time on bringing value to the products
we are building.
Unleash our complete potential...
@melaniebats
2007 - The Sirius awakens
@melaniebats
What is Sirius ?
An open source project to easily create your
own graphical modeling workbench
@melaniebats
Developing a Modeling Tool ?
Domain concepts1
@melaniebats
Developing a Modeling Tool ?
Domain concepts1 2 Configuration+
@melaniebats
Developing a Modeling Tool ?
Domain concepts1 2 3Configuration Modeling tool+ =
@melaniebats
Developing a Modeling Tool ?
Domain concepts1 2 3Configuration Modeling tool
Tool developer End User
+ =
@melaniebats
Maps concepts to...
22
Concepts1
Sirius configuration2
@melaniebats
Maps concepts to graphical elements
Graphical workbench
Sirius configuration2
3
@melaniebats
Sirius Demo
@melaniebats
03/2013 - Let it go!
http://cedric.brun.io/introducing-eclipse-sirius/
@melaniebats
Sirius is alive!
One main version every year & several minor versions
Obeo Designer Community Edition => All you need to work with Sirius
Since2007
@melaniebats
What are the trends ?
@melaniebats
A new generation of IDEs
Developers love them because of :
● Lightweight
● Simplicity
● Powerful tooling
● Easy customization
● High release cadence
@melaniebats
The VS code example
● <100Mb download
● Light UI
● Marketplace
● Extensions, Language
Servers
● Every month a new
version
@melaniebats
And other light editors
And now Atom IDE
@melaniebats
A developer today:
@melaniebats
A developer today:
- Works mainly on his localhost.
@melaniebats
A developer today:
- Works mainly on his localhost
- Codes in only few technology sets
@melaniebats
Since time immemorial ...
@melaniebats
Light client
@melaniebats
Light client
Rich application
vs
@melaniebats
Not afraid
anymore by...
browser IDE
@melaniebats
Codesandbox
@melaniebats
The newborn: Eclipse Theia
@melaniebats
Online modeling tools
Lucidchart
Draw.io
GenMyModel...
@melaniebats
Eclipse Che
@melaniebats
Che workspace
IDE RuntimesProject Files
@melaniebats
Workspace Runtimes
Application stack + “Dev Mode”
IDE Tooling as microservices in sidecars
Language
IDE
Debugger
Test
App
@melaniebats
Dedicated workbenches
@melaniebats
The well known… RCP applications
@melaniebats
@melaniebats
@melaniebats
Don’t touch it, it’s
mine!
@melaniebats
Use a
sledgehammer to
crack a nut!
@melaniebats
ONE tool
dedicated to ONE
task!
@melaniebats
The way we develop is changing
40%
Of enterprise developers are
already using >3 languages in
development.
Using Many Languages
66%
Of enterprises are already
using containers in
development, test or
production.
Adopting Containers
Source: Cloud development Survey 2017 - Evans Data Corp
@melaniebats
Being more agile with our tools
Iterate faster
Focus on value to create
Share workspace with all stakeholders
Pair programming
Live collaboration
@melaniebats
Live collaboration
@melaniebats
What is the future of
modeling tools ?
@melaniebats
Go to : www.menti.com
and
use the code 20 03 94
@melaniebats
Modeling Tools we have today
@melaniebats
Based on the Eclipse Platform → Desktop applications
- Installation is necessary
- Deployment is painful
- Updates are (re)painful
- Extra storage is needed
Modeling Tools we have today
@melaniebats
Modeling Tools we want tomorrow
@melaniebats
Modeling Tools we want tomorrow
Based on the web technologies → Cloud applications
- No need to install
- No upgrades needed
- Easy access
- Adaptable to workload increase
- Access from various device
@melaniebats
Evolution of the IDE concept?
More accessible tool
Tools integrated
Different “views” for different use cases and different users
@melaniebats
IDE-agnostic tools
Tools to be opened to more “domains”, not only engineering
Tools to be available more broadly, to more platform, to more users
@melaniebats
Carry the Sirius spirit… to the cloud
● Define your modeling workbench in the .odesign file
● Dynamic, no code generation involved
● Flexible even for complex models
… RENDERED IN A BROWSER
@melaniebats
The challenges we meet...
Ease the deployment & the maintenance
Ease the creation of modeling workbench
Manage a technology switch
Keep providing new features for existing solutions
@melaniebats
Our plans to victory
Ease the deployment & the maintenance → Use web technologies
Ease the creation of modeling workbench → Extend the Sirius capabilities
Manage a technology switch → Switch from Eclipse platform based
application to web application
Keep providing new features for existing solutions → Integrate web based
feature to desktop application
@melaniebats
What we have
prototyped
today
@melaniebats
1. Introduce
web technologies
in existing
Eclipse views
Step by step, side by side...
@melaniebats
Light client
Rich application
vs
@melaniebats
HTML
renderer
@melaniebats
Sirius
Designer
s
HTML
renderer
Sirius 6.0
@melaniebats
Sirius
Designer
s
HTML
renderer
Sirius 6.0
@melaniebats
Web components...
Sirius 6.0
Available within Sirius 6.0 : https://github.com/eclipse/sirius-components
@melaniebats
Sirius 6.0
@melaniebats
Web components... in Eclipse views
Integrate in existing Sirius workbench new features
Sirius 6.0
Eclipse view
Web
Component
Demo : Workflow
Sirius 6.0
@melaniebats
2. Make Sirius
independent from
Eclipse platform
Step by step, side by side...
@melaniebats
Split the architecture
● Progressively modularize the Sirius code base
● Isolate dependencies : Eclipse UI, GMF Runtime, Eclipse Workspace, Eclipse Runtime
● Keep the framework working at all time & keep releasing new features
● Split core business code from rendering technologies
○ Core deployable in headless (web) server
○ Exposes services through well-defined API & protocols
@melaniebats
Open Core
● Contribute new architecture to existing Eclipse Sirius project
● Still involved in the Eclipse community & release train
● As today some components will be proprietary licensed
○ Community Edition vs Team Edition
Demo : Sirius Headless
Prototype
@melaniebats
3. Expose services
through the
Graphical Server
Protocol
Step by step, side by side...
@melaniebats
ServerClientsDesktop Application
Path to go
Sirius Client
Sprotty
Sirius ServerGraphical
Server
Protocol
Sirius Core
Sprotty
Browser
Modeling tool
Eclipse
Sirius
GEF
GMF
Modeling tool
Today Tomorrow
@melaniebats
Graphical Server Protocol
● Lowering the cost of integrating a graphical tool in a platform
● Defining a protocol used to communicate between a platform and a graphical
designer
● Open source initiative : https://obeonetwork.github.io/GraphicalServerProtocol/
@melaniebats
4. Render
Sirius diagrams
in a browser
Step by step, side by side...
@melaniebats
Diagrams in the Web
First components contributed this fall
to Sirius
★★★Stay tuned!★★★
@EclipseSirius
https://blog.obeo.fr
Prototype
@melaniebats
Based on ...
Sprotty :
● A simple JS based graphical library
● Small & lightweight open source project
● Well integrated with Eclipse ELK for auto-layout
And other mainstream technologies as React & Jetty
@melaniebats
Layout & Layers in the Web
Prototype
@melaniebats
Your modeling tool in the Web
Prototype
@melaniebats
5. Sirius
integrated with
Cloud IDEs
Step by step, side by side...
Demo: Sirius integrated with Theia
Prototype
@melaniebats
Demo : Sirius integrated with Che
Prototype
@melaniebats
What’s next ?
@melaniebats
“Cloudifying” our tools
More resources
More computing power
Simplification of deployment
Tools lifecycle
@melaniebats
IA for developers
Machine learning applied to :
● Code recommendation
● Team collaboration
● Auto layout mechanism
@melaniebats
Chatbots
W
hyNot?
@melaniebats
Deep learning
Soundscool:)
Layout?
@melaniebats
Blockchain
Buzzword!
Model collaboration?
@melaniebats
Virtual Reality?
OM
G!
@melaniebats
What do you want ?
Come to chat with us
@melaniebats
Open source is the only way
Convergence of energies
Sharing of different ideas and visions
Open protocols : language server, debugger, and others...
@melaniebats
To go beyond…
We need you!
Share needs &
feedback
https://www.eclipse.org/sirius/com
munity.html
Contribute to
Sirius
https://www.eclipse.org/sirius/
Participate to the
Graphical Server
Protocol
https://github.com/ObeoNetwork/G
raphicalServerProtocol
Support Obeo
https://www.obeo.fr/en/contact
Thanks! Questions ?
melanie.bats@obeo.fr / @melaniebats
@EclipseSirius
https://blog.obeo.fr
1 sur 100

Contenu connexe

Similaire à ECMFA 2018 - Keynote : The future of modeling tools(20)

Plus de melbats(20)

SiriusCon 2021 - KeynoteSiriusCon 2021 - Keynote
SiriusCon 2021 - Keynote
melbats93 vues
EclipseCon EU 2017 - SiriusEclipseCon EU 2017 - Sirius
EclipseCon EU 2017 - Sirius
melbats459 vues

Dernier(20)

METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
METHOD AND SYSTEM FOR PREDICTING OPTIMAL LOAD FOR WHICH THE YIELD IS MAXIMUM ...
Prity Khastgir IPR Strategic India Patent Attorney Amplify Innovation23 vues
ChatGPT and AI for Web DevelopersChatGPT and AI for Web Developers
ChatGPT and AI for Web Developers
Maximiliano Firtman152 vues
[2023] Putting the R! in R&D.pdf[2023] Putting the R! in R&D.pdf
[2023] Putting the R! in R&D.pdf
Eleanor McHugh34 vues
The Research Portal of Catalonia: Growing more (information) & more (services)The Research Portal of Catalonia: Growing more (information) & more (services)
The Research Portal of Catalonia: Growing more (information) & more (services)
CSUC - Consorci de Serveis Universitaris de Catalunya51 vues

ECMFA 2018 - Keynote : The future of modeling tools