Dimitris Kolovos, Louis RoseRichard Paige, Nikos Matragkas,@dskolovos, @louismrose, @richpaige, @nmatragkasEnterprise Syst...
What is MDE?
Model Driven Engineering Promotes models to first-class artefacts More than documentation Live entities that are amenab...
Models ≠ UML diagrams UML is just one modelling language Most domains have differentabstractions/semantics Domain Speci...
What is ?
Eclipse Modeling Project Top-level project of Eclipse Open-source project Provides tool-support for building DomainSpec...
Eclipse Modeling Project Eclipse Modeling Framework (EMF) Specify abstract syntax of DSLs EMF ≈ XML++ Graphical Modeli...
What is ?
: a family ofintegrated programminglanguages for managingEMF and other typesof models
 Mature project Under Eclipse.orgsince 2006 Well-documented Examples, articles,screencasts, book Substantial user bas...
before epsilon...
Languages for MDE Inconsistent syntaxes Different dialects of OCL Different ways to perform modelnavigation/modificatio...
Example: Checking fora UML stereotype
OCL (Model validation)package umlcontext Elementdef Operations:let hasStereotype(s : String) : Boolean= getAppliedStereoty...
ATL (M2M Transformation)helper context UML2!Element def :hasStereotype(s : String): Booleanself.getAppliedStereotypes()->e...
MOFScript (Code Generation)uml.Element::hasStereotype(s : String): Boolean {result = self.getAppliedStereotypes()->exists(...
Languages for MDE
Architecture of
Features Task-specific languages for a rangeof MDE tasks All languages have consistent syntaxes Can manage models from ...
Epsilon Object LanguagePlay with EOL in your browser:www.eclipse.org/epsilon/live
Epsilon Generation Language
Epsilon Transformation Language
Epsilon Validation Language
2.Tools
Epsilon Tools
Epsilon Tools EuGENia Front-end that simplifies the development of GMFeditors Workflow ANT tasks for composing chains ...
Epsilon Tools Exeed Customizable tree-based EMF model editor Modelink Multi-panel editor for model weaving Concordanc...
EuGENia GMF front-end
 Download www.eclipse.org/epsilon Documentation www.eclipse.org/epsilon/doc www.eclipse.org/epsilon/doc/eugenia Scre...
Upcoming SlideShare
Loading in …5
×

Epsilon

1,222 views

Published on

A quick overview of Epsilon

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,222
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
26
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Epsilon

  1. 1. Dimitris Kolovos, Louis RoseRichard Paige, Nikos Matragkas,@dskolovos, @louismrose, @richpaige, @nmatragkasEnterprise SystemsGroupDepartment of Computer Science, University ofYorkEpsilon: Practical MDEwith Eclipse/EMF
  2. 2. What is MDE?
  3. 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. 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. 5. What is ?
  6. 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. 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. 8. What is ?
  9. 9. : a family ofintegrated programminglanguages for managingEMF and other typesof models
  10. 10.  Mature project Under Eclipse.orgsince 2006 Well-documented Examples, articles,screencasts, book Substantial user base > 3.5K posts in theforum
  11. 11. before epsilon...
  12. 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
  13. 13. Example: Checking fora UML stereotype
  14. 14. OCL (Model validation)package umlcontext Elementdef Operations:let hasStereotype(s : String) : Boolean= getAppliedStereotypes()->exists(st | st.name = s)endpackage
  15. 15. ATL (M2M Transformation)helper context UML2!Element def :hasStereotype(s : String): Booleanself.getAppliedStereotypes()->exists(st | st.name = s);
  16. 16. MOFScript (Code Generation)uml.Element::hasStereotype(s : String): Boolean {result = self.getAppliedStereotypes()->exists(st | st.name = s);}
  17. 17. Languages for MDE
  18. 18. Architecture of
  19. 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. 20. Epsilon Object LanguagePlay with EOL in your browser:www.eclipse.org/epsilon/live
  21. 21. Epsilon Generation Language
  22. 22. Epsilon Transformation Language
  23. 23. Epsilon Validation Language
  24. 24. 2.Tools
  25. 25. Epsilon Tools
  26. 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. 27. Epsilon Tools Exeed Customizable tree-based EMF model editor Modelink Multi-panel editor for model weaving Concordance EMF model integrity management
  28. 28. EuGENia GMF front-end
  29. 29.  Download www.eclipse.org/epsilon Documentation www.eclipse.org/epsilon/doc www.eclipse.org/epsilon/doc/eugenia Screencasts www.eclipse.org/epsilon/cinema Twitter: @epsilonews

×