SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 30 day free trial to unlock unlimited reading.
Reusable Specification of Non-functional Properties in DSLs
Reusable Specification of Non-functional Properties in DSLs
1.
Reusable Specification of
Non-functional Properties
in DSLs
Francisco Durán, Steffen Zschaler, and Javier Troya
28 September, 2012
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.
Example: A Production Line
28/09/2012 (c) Durán, Zschaler, Troya 3
4.
Example: A Production Line
28/09/2012 (c) Durán, Zschaler, Troya 3
5.
Example: A Production Line
28/09/2012 (c) Durán, Zschaler, Troya 3
6.
Example: A Production Line
28/09/2012 (c) Durán, Zschaler, Troya 3
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.
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.
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.
28/09/2012 (c) Durán, Zschaler, Troya 6
A Different Example
14.
28/09/2012 (c) Durán, Zschaler, Troya 6
A Different Example
15.
28/09/2012 (c) Durán, Zschaler, Troya 6
A Different Example
16.
28/09/2012 (c) Durán, Zschaler, Troya 6
A Different Example
17.
28/09/2012 (c) Durán, Zschaler, Troya 6
A Different Example
18.
28/09/2012 (c) Durán, Zschaler, Troya 6
A Different Example
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.
22.
Weaving Languages
28/09/2012 (c) Durán, Zschaler, Troya 8
23.
Weaving Languages
28/09/2012 (c) Durán, Zschaler, Troya 8
24.
Weaving Languages
28/09/2012 (c) Durán, Zschaler, Troya 8
25.
Weaving Languages
28/09/2012 (c) Durán, Zschaler, Troya 8
26.
Weaving Languages
28/09/2012 (c) Durán, Zschaler, Troya 9
27.
Weaving Languages (2)
28/09/2012 (c) Durán, Zschaler, Troya 10
28.
Weaving Languages (2)
28/09/2012 (c) Durán, Zschaler, Troya 10
29.
Weaving Languages (2)
28/09/2012 (c) Durán, Zschaler, Troya 10
30.
Weaving Languages (2)
28/09/2012 (c) Durán, Zschaler, Troya 10
31.
Weaving Languages (2)
28/09/2012 (c) Durán, Zschaler, Troya 11
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.
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.
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