reusable specification of non-functional properties in dsls francisco durán, steffen zschaler, and...

14
Reusable Specification of Non-functional Properties in DSLs Francisco Durán, Steffen Zschaler, and Javier Troya 28 September, 2012

Upload: irene-blankenship

Post on 13-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Reusable Specification ofNon-functional Properties

in DSLsFrancisco Durán, Steffen Zschaler, and Javier Troya

28 September, 2012

(c) Durán, Zschaler, Troya 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 3

Example: A Production Line

28/09/2012

(c) Durán, Zschaler, Troya 4

Non-functional Properties

28/09/2012

Analysis Opportunities

DSL modelsDefined by the user+

BehavioralModel

Structural Model

Ecore (MOF)

Rewriting LogicSemantic DomainTransparent to the user

Semantic MappingsTransparent to the user

(Real-Time) MaudeSimulation, 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

(c) Durán, Zschaler, Troya 628/09/2012

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 7

Modularised Response Time Observer

28/09/2012

MMResponseTime Server, Queue, Request

(c) Durán, Zschaler, Troya 8

Weaving Languages

28/09/2012

(c) Durán, Zschaler, Troya 9

Weaving Languages

28/09/2012

(c) Durán, Zschaler, Troya 10

Weaving Languages (2)

28/09/2012

(c) Durán, Zschaler, Troya 11

Weaving Languages (2)

28/09/2012

(c) Durán, Zschaler, Troya 12

Sanity Conditions

• Need to ensure that adding observers does not change behavioursTransformation 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

DSLMMDSL MDSL

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.

(c) Durán, Zschaler, Troya 13

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 14

QUESTIONS?

28/09/2012