Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Programmatic Muddle Management

1,449 views

Published on

Talk at eXtreme Modelling workshop co-located with MoDELS 2013.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

×