Successfully reported this slideshow.
Your SlideShare is downloading. ×

Programmatic Muddle Management

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 18 Ad
Advertisement

More Related Content

Advertisement
Advertisement

Programmatic Muddle Management

  1. 1. 1 Programmatic Muddle Management D. Kolovos, N. Matragkas, H. Rodriguez, R. Paige Department of Computer Science University of York
  2. 2. 2Challenge Design a DSL with the help of a domain expert
  3. 3. 3Domain Expert vs. EMF* * or any similar 3-level metamodelling architecture
  4. 4. 4Domain Expert vs. EMF
  5. 5. 5Domain Expert vs. EMF Domain Expert EMF
  6. 6. 6Domain Expert vs. EMF
  7. 7. 7Validation • The diagram looks OK – but is it? • Write a program against it! – e.g. a transformation, simulator, code generator • Useful for evaluating the completeness of the underlying DSL – Concepts, relationships, structure • ... but all we have is a drawing 
  8. 8. 8Solution #1 1. Draw the diagram using a GraphML- compliant tool (e.g. yEd) 2. Script the XML representation of the diagram
  9. 9. 9 Too low level
  10. 10. 10Solution #2 1. Draw the diagram using a GraphML-compliant tool (e.g. Dia/yEd) 2. Draw a separate legend diagram 3. Export the diagram as a textual fragment 4. Annotate the fragment 5. Derive an Ecore metamodel 6. Transform the diagram to a conforming EMF model 7. Use your favourite EMF-compliant model management languages
  11. 11. 11In this work 1. Draw a diagram using GraphML 2. Annotate the diagram 3. Write model management programs against your diagram as if it was a real model using
  12. 12. 12 Demo
  13. 13. 13How it works (1/2) • The annotated diagram is translated to an intermediate EMF muddle behind the scenes
  14. 14. 14Finding all Actions • Ecore-based query – MuddleElement.all. select(me|me.type.name = “Action”)
  15. 15. 15How it works (2/2) • The muddle is accessed through a specialised Epsilon Model Connectivity driver
  16. 16. 16Finding all Actions • Muddle driver – Action.all
  17. 17. 17Summary • Presented an approach for programmatic management of annotated GraphML diagrams – No need to extract an Ecore metamodel / conforming EMF model first • Enables additional validation at early stages of the language design process
  18. 18. 18Get it! http://epsilonlabs.googlecode.com/svn/trunk/org.eclipse.epsilon.emc.graphml.updatesite

×