1. Dimitris Kolovos, Louis Rose
Richard Paige, Nikos Matragkas,
@dskolovos, @louismrose, @richpaige, @nmatragkas
Enterprise SystemsGroup
Department of Computer Science, University ofYork
Epsilon: Practical MDE
with Eclipse/EMF
3. Model Driven Engineering
Promotes models to first-class artefacts
More than documentation
Live entities that are amenable to automated
processing
Validation, transformation, comparison, merging,
refactoring, code generation etc.
4. Models ≠ UML diagrams
UML is just one modelling language
Most domains have different
abstractions/semantics
Domain Specific Languages (DSLs)
Models ≠ Pictures
Models can be graphical or textual
... or both
6. Eclipse Modeling Project
Top-level project of Eclipse
Open-source project
Provides tool-support for building Domain
Specific modelling languages (DSLs)
UML is just another DSL
Backed by major IT companies
IBM
SAP
Borland
7. Eclipse Modeling Project
Eclipse Modeling Framework (EMF)
Specify abstract syntax of DSLs
EMF ≈ XML++
Graphical Modeling Framework (GMF)
Graphical editors for EMF DSLs
Xtext
Textual editors for EMF DSLs
EMFCompare
Comparison and version management of EMF
models
9. : a family of
integrated programming
languages for managing
EMF and other types
of models
10. Mature project
Under Eclipse.org
since 2006
Well-documented
Examples, articles,
screencasts, book
Substantial user base
> 3.5K posts in the
forum
12. Languages for MDE
Inconsistent syntaxes
Different dialects of OCL
Different ways to perform model
navigation/modification
End up writing the same code in many languages
Poor integration and interoperation
E.g. validation -> M2M -> M2T
Recurrence of bugs / missing features
19. Features
Task-specific languages for a range
of MDE tasks
All languages have consistent syntaxes
Can manage models from different
metamodels / modelling technologies
Can call methods of Java objects
Tight integration with EMF and GMF
Eclipse-based development tools
Editors, Launching facilities
26. Epsilon Tools
EuGENia
Front-end that simplifies the development of GMF
editors
Workflow
ANT tasks for composing chains of
transformations
HUTN
Implementation of the OMG Human Usable
Textual Notation
27. Epsilon Tools
Exeed
Customizable tree-based EMF model editor
Modelink
Multi-panel editor for model weaving
Concordance
EMF model integrity management