1. Dimitris Kolovos, Louis RoseRichard Paige, Nikos Matragkas,@dskolovos, @louismrose, @richpaige, @nmatragkasEnterprise SystemsGroupDepartment of Computer Science, University ofYorkEpsilon: Practical MDEwith Eclipse/EMF
2. What is MDE?
3. Model Driven Engineering Promotes models to first-class artefacts More than documentation Live entities that are amenable to automatedprocessing Validation, transformation, comparison, merging,refactoring, code generation etc.
4. Models ≠ UML diagrams UML is just one modelling language Most domains have differentabstractions/semantics Domain Specific Languages (DSLs) Models ≠ Pictures Models can be graphical or textual ... or both
5. What is ?
6. Eclipse Modeling Project Top-level project of Eclipse Open-source project Provides tool-support for building DomainSpecific 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 EMFmodels
8. What is ?
9. : a family ofintegrated programminglanguages for managingEMF and other typesof models
10. Mature project Under Eclipse.orgsince 2006 Well-documented Examples, articles,screencasts, book Substantial user base > 3.5K posts in theforum
11. before epsilon...
12. Languages for MDE Inconsistent syntaxes Different dialects of OCL Different ways to perform modelnavigation/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 rangeof MDE tasks All languages have consistent syntaxes Can manage models from differentmetamodels / modelling technologies Can call methods of Java objects Tight integration with EMF and GMF Eclipse-based development tools Editors, Launching facilities
20. Epsilon Object LanguagePlay with EOL in your browser:www.eclipse.org/epsilon/live
21. Epsilon Generation Language
22. Epsilon Transformation Language
23. Epsilon Validation Language
25. Epsilon Tools
26. Epsilon Tools EuGENia Front-end that simplifies the development of GMFeditors Workflow ANT tasks for composing chains oftransformations HUTN Implementation of the OMG Human UsableTextual Notation
27. Epsilon Tools Exeed Customizable tree-based EMF model editor Modelink Multi-panel editor for model weaving Concordance EMF model integrity management