140 likes | 263 Views
Reusable Specification of Non-functional Properties in DSLs. Francisco Durán , Steffen Zschaler , and Javier Troya 28 September, 2012. Context. Model-driven Engineering (MDE) Domain-Specific Languages defined through Metamodels (abstract syntax) Graphics (concrete syntax)
E N D
Reusable Specification ofNon-functional Propertiesin DSLs Francisco Durán, Steffen Zschaler, and Javier Troya 28 September, 2012
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 (c) Durán, Zschaler, Troya
Example: A Production Line (c) Durán, Zschaler, Troya
Non-functional Properties (c) Durán, Zschaler, Troya
Analysis Opportunities Ecore (MOF) DSL models Definedbytheuser + Structural Model Behavioral Model SemanticMappings Transparenttotheuser SemanticDomain Transparenttotheuser RewritingLogic (Real-Time) Maude Simulation, reachabilityanalysis, modelchecking • Observer values after simulation give predictions, • (Probabilistic) Model checking can be used toverify satisfaction of NFPs 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
A Different Example Problem: Complete redefinition of response time. Better: Extract definition of response time into a separate DSL and weave it in. (c) Durán, Zschaler, Troya
Modularised Response Time Observer Server, Queue, Request MMResponseTime (c) Durán, Zschaler, Troya
Weaving Languages (c) Durán, Zschaler, Troya
Weaving Languages (c) Durán, Zschaler, Troya
Weaving Languages (2) (c) Durán, Zschaler, Troya
Weaving Languages (2) (c) Durán, Zschaler, Troya
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 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. (c) Durán, Zschaler, Troya
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 languageand binding, etc. (c) Durán, Zschaler, Troya
Questions? (c) Durán, Zschaler, Troya