Upcoming SlideShare
Loading in...5

Like this? Share it with your network





A quick overview of Epsilon

A quick overview of Epsilon



Total Views
Views on SlideShare
Embed Views



0 Embeds 0

No embeds



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

Epsilon Presentation Transcript

  • 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
  • 13. Example: Checking fora UML stereotype
  • 14. OCL (Model validation)package umlcontext Elementdef Operations:let hasStereotype(s : String) : Boolean= getAppliedStereotypes()->exists(st | st.name = s)endpackage
  • 15. ATL (M2M Transformation)helper context UML2!Element def :hasStereotype(s : String): Booleanself.getAppliedStereotypes()->exists(st | st.name = s);
  • 16. MOFScript (Code Generation)uml.Element::hasStereotype(s : String): Boolean {result = self.getAppliedStereotypes()->exists(st | st.name = s);}
  • 17. Languages for MDE
  • 18. Architecture of
  • 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
  • 24. 2.Tools
  • 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
  • 28. EuGENia GMF front-end
  • 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