• Like
Epsilon
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Published

A quick overview of Epsilon

A quick overview of Epsilon

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
564
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
20
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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