SlideShare a Scribd company logo
1 of 45
Download to read offline
What the heck is Eclipse Modeling
and why should you care !
me
CTO at Obeo – cedric.brun@obeo.fr
Strategic Member of the Eclipse Foundation
Projet lead of:
● EMF Compare
● Modeling Amalgamation
Commiter:
● Acceleo
● Mylyn Intent
● Eclipse Packaging Project
Eclipse Architecture and Planning Council
Rich and diverse Ecosystem
Mature technologies and frameworks to build
applications
dedicated tools
You can try at a very low cost
Happy birthday
The origins
Tool vendors era
Modeling goes enterprise !
Industrial adopters
Resistance is futile
The Eclipse Modeling
Project
One of the most diverse top-level project in Eclipse
Tool vendors
Service providers
Individuals
Academics
The Eclipse Modeling
Project
Wide range of public
Wide range of maturity level
Ask for help on the forum
Check for activity
Mind the Incubation status
The most amazing Acronym
collection
The Eclipse Modeling Project
Structure
A «few» sub projects:
Core technologies in EMF, Incubating in EMFT
Standards and related tools in MDT
Graphical Modeling in GMP
Textual Modeling in TMF
Model Transformation in M2M
Code Generation in M2T
Agent Based Modeling and Simulation in AMP
And
Integration, Packaging & Examples in Amalgamation
we Deliver
Most projects are part of the release trains
Galileo, Helios, Indigo and soon Juno
A single stop: the Eclipse Modeling Package
Core platform
Discovery
http://www.eclipse.org/modeling/amalgam/
What
is Modeling ?
Capturing information to
represent a system enabling:
Validation
Prototyping
Automation
Documentation
...
What
makes a good model ?
1. It is answering a question
2. It is used
Two Faces
Technologies to build
applications
Technologies to build
dedicated tools
Using EMF «as is»
1° Design your data model using Ecore
2° Initialize an «EMF Generator model»
3° Generate Java code
Using EMF «as is»
You are getting:
✔ Domain model independent of serialization (XMI, XML, Binary ...)
✔ Efficient Java API
✔ Referenceable model elements through URI + fragments
✔ Common API to listen and react to changes.
✔ Resources and REST api for documents
✔ Rich and efficient reflective API.
✔ Commands and free undo/redo
✔ ...
At a cost:
✔You'll depend on EMF (which is standalone, but still...)
You need UI, right ?
EMF and EEF are generating rich applications with forms
Generated web apps
EMF generates RAP application (RCP in a browser)
Or GWT !
+ Model Repository
With CDO :
✔ Distributed and connected application
✔ Optimistic and pessimistic concurrent strategies
✔ Offline support
✔ Lazy loading, and unloading !
✔ Database backend
✔ Fail-over
✔ ...
Connected application
You don't need
anything else,
do you ?
Two Faces
Technologies to build
applications
Technologies to build
dedicated tools
Building your own Tools
Graphical
● GMF has been around quite
a long time already
● Graphiti is the new
challenger
http://www.eclipse.org/modeling/gmp
Building your own Tools
Textual
http://www.eclipse.org/xtext
Building your own Tools
Forms
http://www.eclipse.org/eef
Extended Editing Framework aka EEF
(just graduated)
Building your own Tools
Automation
http://www.eclipse.org/acceleo
Template based generator
Complete editor
Debugger and profiler
Core runtime is standalone
Iterative generations
OMG std for generation
a Full blown environment
●Large scale deployement and distribution
●Rich modeling tools
(graphical, textual, forms)
●Fine grained collaborative support
●Ability to customize the tools and
distribute the customizations
●Huge models scalability
●Customizable code generators
●Tests on all this tooling
A few hours
A lot of work
Features
You are here
easy Automation
●Basic Editing capabilities
Reflective Editors
●Team-wide deploiement through SCM
●Classic collaboration processes
EMF compare
● Code generation!
A few hours
A lot of work
Features
You are here
Every intermediate level is valid too!
A few hours
A lot of work
Features
Here might be fine for you
Let's Try ...
You need (*)
● Eclipse
● EMF
● Acceleo
We will build:
A model to keep track of our app features among n versions
(*) Two clicks to install from the Eclipse Marketplace
Is that a Good model?
1. Its answering a question
What features have been updated/created in version 1.234?
2. It is used
to generate skeletons of tests
to generate documentation
how to Proceed?
1. code a prototype of what you expect
2. create the domain model
3. create an instance of this domain model
4. create a generation template
5. launch
how to Proceed?
1. code a prototype of what you expect
how to Proceed?
2. create the domain model
how to Proceed?
3. create an instance of this domain model
how to Proceed?
4. create a generation template
how to Proceed?
5. launch
Result?
Customize it
Adding non-generated doc
What are the Benefits?
We have a consistent vision of our features among versions
We produce a useful deliverable for our end users
Our tooling is versioned with its «project» dedicated branch
Anybody from the team can maintain and change the tooling
It took 2 hours to set up
https://github.com/cbrun/versions-generator
Domain model
Generator
Prototype
Generated tests
Generated doc
Model instance
Rich and diverse Ecosystem
You can build
applications
dedicated tools
You can try at a very low cost
Try it !
References
« Alice in Wonderland » pictures are from John Tenniel in public domain since 1964
The Eclipse Modeling Package
http://www.eclipse.org/modeling/amalgam/
The Eclipse Forum
http://www.eclipse.org/forums/
The Eclipse Modeling Cross Projects Example
http://goo.gl/51RuK
The versions generator example:
https://github.com/cbrun/versions-generator
Obeo Network
http://www.obeonetwork.org/
Me
@bruncedric on twitter
http://model-driven-blogging.blogspot.com/

More Related Content

What's hot

Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012jsievers
 
Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Lars Vogel
 
Uml to code with acceleo
Uml to code with acceleoUml to code with acceleo
Uml to code with acceleoTarun Telang
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
OpenOffice.org Extension Development with Java and NetBeans in practice
OpenOffice.org Extension Development with Java and NetBeans in practiceOpenOffice.org Extension Development with Java and NetBeans in practice
OpenOffice.org Extension Development with Java and NetBeans in practiceAlexandro Colorado
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Mickael Istria
 
An introduction to papyrus
An introduction to papyrusAn introduction to papyrus
An introduction to papyrusCharles Rivet
 
MDT Papyrus - Eclipse Con 2010
MDT Papyrus - Eclipse Con 2010MDT Papyrus - Eclipse Con 2010
MDT Papyrus - Eclipse Con 2010rfaudou
 
Jangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNYJangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNYFrank Wienberg
 
CDO Ignite
CDO IgniteCDO Ignite
CDO IgniteHolmes70
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseYoann Rodiere
 
Webinar on How to use MyAppConverter
Webinar on How to use  MyAppConverterWebinar on How to use  MyAppConverter
Webinar on How to use MyAppConverterJaoued Ahmed
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...John Head
 
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoTUdoHafermann
 
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFLEnlightenmentProject
 
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...mfrancis
 

What's hot (17)

Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
Building Eclipse Plugins and RCP Applications with Tycho - ECE 2012
 
Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020Eclipse IDE and Platform news on Fosdem 2020
Eclipse IDE and Platform news on Fosdem 2020
 
2010 06 22 omg - obeo
2010 06 22   omg - obeo2010 06 22   omg - obeo
2010 06 22 omg - obeo
 
Uml to code with acceleo
Uml to code with acceleoUml to code with acceleo
Uml to code with acceleo
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
OpenOffice.org Extension Development with Java and NetBeans in practice
OpenOffice.org Extension Development with Java and NetBeans in practiceOpenOffice.org Extension Development with Java and NetBeans in practice
OpenOffice.org Extension Development with Java and NetBeans in practice
 
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
Whats new in Eclipse Indigo ? (@DemoCamp Grenoble 2011)
 
An introduction to papyrus
An introduction to papyrusAn introduction to papyrus
An introduction to papyrus
 
MDT Papyrus - Eclipse Con 2010
MDT Papyrus - Eclipse Con 2010MDT Papyrus - Eclipse Con 2010
MDT Papyrus - Eclipse Con 2010
 
Jangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNYJangaroo @ FlashCodersNY
Jangaroo @ FlashCodersNY
 
CDO Ignite
CDO IgniteCDO Ignite
CDO Ignite
 
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to EclipseGEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
GEF SVG export in JWT: a newcomer’s rocky ride to Eclipse
 
Webinar on How to use MyAppConverter
Webinar on How to use  MyAppConverterWebinar on How to use  MyAppConverter
Webinar on How to use MyAppConverter
 
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
BP218 IBM Lotus Notes 8 and IBM Lotus Expeditor Customization for LotusScript...
 
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
2015 11-04 HEADS at EclipseCon: Modelling Things for IoT
 
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
[E-Dev-Day 2014][14/16] Adding vector graphics support to EFL
 
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
Workflow for Development, Release and Versioning with OSGi / bndtools- Real W...
 

Similar to What the heck is Eclipse Modeling and why should you care !

The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJPatrick Viry
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfMoon Technolabs Pvt. Ltd.
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfMoon Technolabs Pvt. Ltd.
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformTonny Madsen
 
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in ActionBill Scott
 
The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)Peter Antman
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)IIUI
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsKevin Whinnery
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07KetanPadegaonkar
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewWill Smythe
 
NET Event - Migrating WinForm
NET Event - Migrating WinFormNET Event - Migrating WinForm
NET Event - Migrating WinFormRaffaele Garofalo
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkDave Steinberg
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerBill Scott
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWareMichael Vorburger
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platformi4consulting.org
 

Similar to What the heck is Eclipse Modeling and why should you care ! (20)

The Economics of OptimJ
The Economics of OptimJThe Economics of OptimJ
The Economics of OptimJ
 
VIRTUAL LAB
VIRTUAL LABVIRTUAL LAB
VIRTUAL LAB
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 
Which Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdfWhich Tools Are The Best For Symfony Projects_.pdf
Which Tools Are The Best For Symfony Projects_.pdf
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application PlatformEclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
Eclipse Banking Day in Copenhagen - Eclipse RCP as an Application Platform
 
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
8 Principles for Enabling Build/Measure/Learn: Lean Engineering in Action
 
The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)The Bespoke Software Product Factory (2007)
The Bespoke Software Product Factory (2007)
 
Codename one
Codename oneCodename one
Codename one
 
Lecture 4 software process model (2)
Lecture 4   software process model (2)Lecture 4   software process model (2)
Lecture 4 software process model (2)
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
Best Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native ApplicationsBest Practices for Cross-Platform Native Applications
Best Practices for Cross-Platform Native Applications
 
"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07"Eclipse Application Development" at GNUnify 07
"Eclipse Application Development" at GNUnify 07
 
EGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL OverviewEGL Conference 2011 - EGL Overview
EGL Conference 2011 - EGL Overview
 
NET Event - Migrating WinForm
NET Event - Migrating WinFormNET Event - Migrating WinForm
NET Event - Migrating WinForm
 
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling FrameworkEclipseCon 2007: Effective Use of the Eclipse Modeling Framework
EclipseCon 2007: Effective Use of the Eclipse Modeling Framework
 
Lean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partnerLean Engineering: How to make Engineering a full Lean UX partner
Lean Engineering: How to make Engineering a full Lean UX partner
 
Pragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWarePragmatic Model Driven Development using openArchitectureWare
Pragmatic Model Driven Development using openArchitectureWare
 
Mobile application development platform
Mobile application development platformMobile application development platform
Mobile application development platform
 
DevOps demystified
DevOps demystifiedDevOps demystified
DevOps demystified
 

More from Cédric Brun

Integrating Xtext and Sirius: Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsIntegrating Xtext and Sirius: Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
 
Eclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareEclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareCédric Brun
 
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Cédric Brun
 
Eclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsEclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsCédric Brun
 
EcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleEcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleCédric Brun
 
Integrating Xtext and Sirius: Strategies and Pitfalls
Integrating  Xtext and Sirius:  Strategies and PitfallsIntegrating  Xtext and Sirius:  Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsCédric Brun
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Cédric Brun
 
Modeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ frModeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ frCédric Brun
 
Modeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the worldModeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the worldCédric Brun
 
Breathe life into your designer!
Breathe life into your designer!Breathe life into your designer!
Breathe life into your designer!Cédric Brun
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, futureCédric Brun
 
Xtext + Sirius = ♥ / EclipseCon Europe 2014
Xtext + Sirius = ♥  / EclipseCon Europe 2014Xtext + Sirius = ♥  / EclipseCon Europe 2014
Xtext + Sirius = ♥ / EclipseCon Europe 2014Cédric Brun
 
Xtext + Sirius = <3
Xtext + Sirius = <3Xtext + Sirius = <3
Xtext + Sirius = <3Cédric Brun
 
Ecore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalEcore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalCédric Brun
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutesCédric Brun
 
What every developer should know about EMF Compare
What every developer should know about EMF CompareWhat every developer should know about EMF Compare
What every developer should know about EMF CompareCédric Brun
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingCédric Brun
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationCédric Brun
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models WebCédric Brun
 

More from Cédric Brun (19)

Integrating Xtext and Sirius: Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and PitfallsIntegrating Xtext and Sirius: Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and Pitfalls
 
Eclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF CompareEclipse Modeling Guided Tour - EMF Compare
Eclipse Modeling Guided Tour - EMF Compare
 
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
Eclipse Modeling Guided Tour - Acceleo Query Language (AQL)
 
Eclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreToolsEclipse Modeling Guided Tour - EcoreTools
Eclipse Modeling Guided Tour - EcoreTools
 
EcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessibleEcoreTools-Next: Executable DSL made (more) accessible
EcoreTools-Next: Executable DSL made (more) accessible
 
Integrating Xtext and Sirius: Strategies and Pitfalls
Integrating  Xtext and Sirius:  Strategies and PitfallsIntegrating  Xtext and Sirius:  Strategies and Pitfalls
Integrating Xtext and Sirius: Strategies and Pitfalls
 
Roadmap - SiriusCon2016
Roadmap - SiriusCon2016Roadmap - SiriusCon2016
Roadmap - SiriusCon2016
 
Modeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ frModeling avengers – open source technology mix for saving the world econ fr
Modeling avengers – open source technology mix for saving the world econ fr
 
Modeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the worldModeling avengers – open source technology mix for saving the world
Modeling avengers – open source technology mix for saving the world
 
Breathe life into your designer!
Breathe life into your designer!Breathe life into your designer!
Breathe life into your designer!
 
Sirius : origins, present, future
Sirius : origins, present, futureSirius : origins, present, future
Sirius : origins, present, future
 
Xtext + Sirius = ♥ / EclipseCon Europe 2014
Xtext + Sirius = ♥  / EclipseCon Europe 2014Xtext + Sirius = ♥  / EclipseCon Europe 2014
Xtext + Sirius = ♥ / EclipseCon Europe 2014
 
Xtext + Sirius = <3
Xtext + Sirius = <3Xtext + Sirius = <3
Xtext + Sirius = <3
 
Ecore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna RevivalEcore Tools 2.0 : The Luna Revival
Ecore Tools 2.0 : The Luna Revival
 
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game  - Build diagram, table and tree editors in 20 minutesSirius Role Playing Game  - Build diagram, table and tree editors in 20 minutes
Sirius Role Playing Game - Build diagram, table and tree editors in 20 minutes
 
What every developer should know about EMF Compare
What every developer should know about EMF CompareWhat every developer should know about EMF Compare
What every developer should know about EMF Compare
 
From Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse ModelingFrom Acceleo.org To Eclipse Modeling
From Acceleo.org To Eclipse Modeling
 
Acceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code GenerationAcceleo Day - Acceleo Mtl Code Generation
Acceleo Day - Acceleo Mtl Code Generation
 
Team Work With Models Web
Team Work With Models WebTeam Work With Models Web
Team Work With Models Web
 

Recently uploaded

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...asadnawaz62
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfROCENODodongVILLACER
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction managementMariconPadriquez1
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringJuanCarlosMorales19600
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 

Recently uploaded (20)

CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...complete construction, environmental and economics information of biomass com...
complete construction, environmental and economics information of biomass com...
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Risk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdfRisk Assessment For Installation of Drainage Pipes.pdf
Risk Assessment For Installation of Drainage Pipes.pdf
 
Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
computer application and construction management
computer application and construction managementcomputer application and construction management
computer application and construction management
 
Piping Basic stress analysis by engineering
Piping Basic stress analysis by engineeringPiping Basic stress analysis by engineering
Piping Basic stress analysis by engineering
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 

What the heck is Eclipse Modeling and why should you care !

  • 1. What the heck is Eclipse Modeling and why should you care !
  • 2. me CTO at Obeo – cedric.brun@obeo.fr Strategic Member of the Eclipse Foundation Projet lead of: ● EMF Compare ● Modeling Amalgamation Commiter: ● Acceleo ● Mylyn Intent ● Eclipse Packaging Project Eclipse Architecture and Planning Council
  • 3. Rich and diverse Ecosystem Mature technologies and frameworks to build applications dedicated tools You can try at a very low cost
  • 10. The Eclipse Modeling Project One of the most diverse top-level project in Eclipse Tool vendors Service providers Individuals Academics
  • 11. The Eclipse Modeling Project Wide range of public Wide range of maturity level Ask for help on the forum Check for activity Mind the Incubation status
  • 12. The most amazing Acronym collection
  • 13. The Eclipse Modeling Project Structure A «few» sub projects: Core technologies in EMF, Incubating in EMFT Standards and related tools in MDT Graphical Modeling in GMP Textual Modeling in TMF Model Transformation in M2M Code Generation in M2T Agent Based Modeling and Simulation in AMP And Integration, Packaging & Examples in Amalgamation
  • 14. we Deliver Most projects are part of the release trains Galileo, Helios, Indigo and soon Juno A single stop: the Eclipse Modeling Package Core platform Discovery http://www.eclipse.org/modeling/amalgam/
  • 15. What is Modeling ? Capturing information to represent a system enabling: Validation Prototyping Automation Documentation ...
  • 16. What makes a good model ? 1. It is answering a question 2. It is used
  • 17. Two Faces Technologies to build applications Technologies to build dedicated tools
  • 18. Using EMF «as is» 1° Design your data model using Ecore 2° Initialize an «EMF Generator model» 3° Generate Java code
  • 19. Using EMF «as is» You are getting: ✔ Domain model independent of serialization (XMI, XML, Binary ...) ✔ Efficient Java API ✔ Referenceable model elements through URI + fragments ✔ Common API to listen and react to changes. ✔ Resources and REST api for documents ✔ Rich and efficient reflective API. ✔ Commands and free undo/redo ✔ ... At a cost: ✔You'll depend on EMF (which is standalone, but still...)
  • 20. You need UI, right ? EMF and EEF are generating rich applications with forms
  • 21. Generated web apps EMF generates RAP application (RCP in a browser) Or GWT !
  • 22. + Model Repository With CDO : ✔ Distributed and connected application ✔ Optimistic and pessimistic concurrent strategies ✔ Offline support ✔ Lazy loading, and unloading ! ✔ Database backend ✔ Fail-over ✔ ...
  • 24. You don't need anything else, do you ?
  • 25. Two Faces Technologies to build applications Technologies to build dedicated tools
  • 26. Building your own Tools Graphical ● GMF has been around quite a long time already ● Graphiti is the new challenger http://www.eclipse.org/modeling/gmp
  • 27. Building your own Tools Textual http://www.eclipse.org/xtext
  • 28. Building your own Tools Forms http://www.eclipse.org/eef Extended Editing Framework aka EEF (just graduated)
  • 29. Building your own Tools Automation http://www.eclipse.org/acceleo Template based generator Complete editor Debugger and profiler Core runtime is standalone Iterative generations OMG std for generation
  • 30. a Full blown environment ●Large scale deployement and distribution ●Rich modeling tools (graphical, textual, forms) ●Fine grained collaborative support ●Ability to customize the tools and distribute the customizations ●Huge models scalability ●Customizable code generators ●Tests on all this tooling A few hours A lot of work Features You are here
  • 31. easy Automation ●Basic Editing capabilities Reflective Editors ●Team-wide deploiement through SCM ●Classic collaboration processes EMF compare ● Code generation! A few hours A lot of work Features You are here
  • 32. Every intermediate level is valid too! A few hours A lot of work Features Here might be fine for you
  • 33. Let's Try ... You need (*) ● Eclipse ● EMF ● Acceleo We will build: A model to keep track of our app features among n versions (*) Two clicks to install from the Eclipse Marketplace
  • 34. Is that a Good model? 1. Its answering a question What features have been updated/created in version 1.234? 2. It is used to generate skeletons of tests to generate documentation
  • 35. how to Proceed? 1. code a prototype of what you expect 2. create the domain model 3. create an instance of this domain model 4. create a generation template 5. launch
  • 36. how to Proceed? 1. code a prototype of what you expect
  • 37. how to Proceed? 2. create the domain model
  • 38. how to Proceed? 3. create an instance of this domain model
  • 39. how to Proceed? 4. create a generation template
  • 43. What are the Benefits? We have a consistent vision of our features among versions We produce a useful deliverable for our end users Our tooling is versioned with its «project» dedicated branch Anybody from the team can maintain and change the tooling It took 2 hours to set up https://github.com/cbrun/versions-generator Domain model Generator Prototype Generated tests Generated doc Model instance
  • 44. Rich and diverse Ecosystem You can build applications dedicated tools You can try at a very low cost Try it !
  • 45. References « Alice in Wonderland » pictures are from John Tenniel in public domain since 1964 The Eclipse Modeling Package http://www.eclipse.org/modeling/amalgam/ The Eclipse Forum http://www.eclipse.org/forums/ The Eclipse Modeling Cross Projects Example http://goo.gl/51RuK The versions generator example: https://github.com/cbrun/versions-generator Obeo Network http://www.obeonetwork.org/ Me @bruncedric on twitter http://model-driven-blogging.blogspot.com/