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.

Reusable Specification of Non-functional Properties in DSLs

800 views

Published on

Presentation given at SLE 2012

Published in: Science, Technology
  • Be the first to comment

  • Be the first to like this

Reusable Specification of Non-functional Properties in DSLs

  1. 1. Reusable Specification of Non-functional Properties in DSLs Francisco Durán, Steffen Zschaler, and Javier Troya 28 September, 2012
  2. 2. Context • Model-driven Engineering (MDE) – Domain-Specific Languages defined through • Metamodels (abstract syntax) • Graphics (concrete syntax) • Language Semantics – Models are token models – Semantics is given through rewriting • Specified using in-place model transformations 28/09/2012 (c) Durán, Zschaler, Troya 2
  3. 3. Example: A Production Line 28/09/2012 (c) Durán, Zschaler, Troya 3
  4. 4. Example: A Production Line 28/09/2012 (c) Durán, Zschaler, Troya 3
  5. 5. Example: A Production Line 28/09/2012 (c) Durán, Zschaler, Troya 3
  6. 6. Example: A Production Line 28/09/2012 (c) Durán, Zschaler, Troya 3
  7. 7. Non-functional Properties 28/09/2012 (c) Durán, Zschaler, Troya 4
  8. 8. Non-functional Properties 28/09/2012 (c) Durán, Zschaler, Troya 4
  9. 9. Non-functional Properties 28/09/2012 (c) Durán, Zschaler, Troya 4
  10. 10. Analysis Opportunities DSL models Defined by the user + Behavioral Model Structural Model Ecore (MOF) José E. Rivera, Francisco Durán and Antonio Vallecillo: On the Behavioral Semantics of Real-Time Domain Specific Visual Languages. In Rewriting Logic and Its Applications, LNCS 6381, pp. 174–190 28/09/2012
  11. 11. Analysis Opportunities DSL models Defined by the user + Behavioral Model Structural Model Ecore (MOF) Rewriting Logic Semantic Domain Transparent to the user Semantic Mappings Transparent to the user (Real-Time) Maude Simulation, reachability analysis, model checking José E. Rivera, Francisco Durán and Antonio Vallecillo: On the Behavioral Semantics of Real-Time Domain Specific Visual Languages. In Rewriting Logic and Its Applications, LNCS 6381, pp. 174–190 28/09/2012
  12. 12. Analysis Opportunities DSL models Defined by the user + Behavioral Model Structural Model Ecore (MOF) Rewriting Logic Semantic Domain Transparent to the user Semantic Mappings Transparent to the user (Real-Time) Maude Simulation, reachability analysis, model checking José E. Rivera, Francisco Durán and Antonio Vallecillo: On the Behavioral Semantics of Real-Time Domain Specific Visual Languages. In Rewriting Logic and Its Applications, LNCS 6381, pp. 174–190 28/09/2012 •Observer values after simulation give predictions, •(Probabilistic) Model checking can be used to verify satisfaction of NFPs
  13. 13. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example
  14. 14. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example
  15. 15. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example
  16. 16. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example
  17. 17. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example
  18. 18. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example
  19. 19. 28/09/2012 (c) Durán, Zschaler, Troya 6 A Different Example Problem: Complete redefinition of response time. Better: Extract definition of response time into a separate DSL and weave it in.
  20. 20. Modularised Response Time Observer 28/09/2012 (c) Durán, Zschaler, Troya 7 MMResponseTime Server, Queue, Request
  21. 21. Modularised Response Time Observer 28/09/2012 (c) Durán, Zschaler, Troya 7 MMResponseTime Server, Queue, Request
  22. 22. Weaving Languages 28/09/2012 (c) Durán, Zschaler, Troya 8
  23. 23. Weaving Languages 28/09/2012 (c) Durán, Zschaler, Troya 8
  24. 24. Weaving Languages 28/09/2012 (c) Durán, Zschaler, Troya 8
  25. 25. Weaving Languages 28/09/2012 (c) Durán, Zschaler, Troya 8
  26. 26. Weaving Languages 28/09/2012 (c) Durán, Zschaler, Troya 9
  27. 27. Weaving Languages (2) 28/09/2012 (c) Durán, Zschaler, Troya 10
  28. 28. Weaving Languages (2) 28/09/2012 (c) Durán, Zschaler, Troya 10
  29. 29. Weaving Languages (2) 28/09/2012 (c) Durán, Zschaler, Troya 10
  30. 30. Weaving Languages (2) 28/09/2012 (c) Durán, Zschaler, Troya 10
  31. 31. Weaving Languages (2) 28/09/2012 (c) Durán, Zschaler, Troya 11
  32. 32. Sanity Conditions • Need to ensure that adding observers does not change behaviours Transformation step possible for model expressed in DSL  Step still possible in the same model expressed in DSL + Observers (possibly including appropriate observer objects) • For any legal model and transformation sequence 28/09/2012 (c) Durán, Zschaler, Troya 12 DSLMMDSL M DSL M
  33. 33. Sanity Conditions • Need to ensure that adding observers does not change behaviours Transformation step possible for model expressed in DSL  Step still possible in the same model expressed in DSL + Observers (possibly including appropriate observer objects) • For any legal model and transformation sequence 28/09/2012 (c) Durán, Zschaler, Troya 12 DSLMMDSL M DSL M This condition can only be checked once the merge has been performed. We provide conditions to be checked of the observer model and the binding that imply the condition below.
  34. 34. Conclusions • We show composition of language semantics – For DSLs based on in-place transformation – For conservative extensions • Two checkable conditions to verify consistency of such extensions – One can be checked of observer language independent of composition • Currently working to weaken some of the assumptions made on base language and binding, etc. 28/09/2012 (c) Durán, Zschaler, Troya 13
  35. 35. QUESTIONS? 28/09/2012 (c) Durán, Zschaler, Troya 14

×