scieee Science in your language
[en] (orig)

On the Reusable Specification of Non-functional Properties in DSLs

Abstract

Domain-specific languages (DSLs) are an important tool for effective system development. They provide concepts that are close to the problem domain and allow analysis as well as generation of full solution implementations. However, this comes at the cost of having to develop a new language for every new domain. To make their development efficient, we must be able to construct DSLs as much as possible from reusable building blocks. In this paper, we discuss how such building blocks can be constructed for the specification and analysis of a range of non-functional properties, such as, for example, throughput, response time, or reliability properties. We assume DSL semantics to be provided through a set of transformation rules, which enables a range of analyses based on model checking. We demonstrate new concepts for defining language modules for the specification of non-functional properties, show how these can be integrated with base DSL specifications, and provide a number of syntactic conditions that we prove maintain the semantics of the base DSL even in the presence of non-functional–property specifications.

Read accessible full text

On the Reusable Specification of Non-functional Properties in DSLs

Author: Durán, Francisco; Zschaler, Steffen; Troya Castilla, Javier
Publisher: Springer
Year: 2012
DOI: 10.1007/978-3-642-36089-3_19
Source: https://idus.us.es/bitstreams/d8bd6b2a-84a2-4fb0-9edd-175fdeb5bc4d/download
On he Reusable Speci ica ion o Non- unc ional
P ope ies in DSLs
F ancisco Du ´an1, S e en Zschale 2, and Ja ie T oya1
1Depa amen o de Lenguajes y Ciencias de la Compu aci´on
Uni e sidad de M´alaga
{du an,ja ie c}@lcc.uma.es
2Depa men o In o ma ics
King’s College London
[email p o ec ed]
Abs ac . Domain-speci ic languages (DSLs) a e an impo an ool o e ec i e
sys em de elopmen . They p o ide concep s ha a e close o he p oblem do-
main and allow analysis as well as gene a ion o ull solu ion implemen a ions.
Howe e , his comes a he cos o ha ing o de elop a new language o e e y
new domain. To make hei de elopmen e icien , we mus be able o cons uc
DSLs as much as possible om eusable building blocks. In his pape , we dis-
cuss how such building blocks can be cons uc ed o he speci ica ion and anal-
ysis o a ange o non- unc ional p ope ies, such as, o example, h oughpu ,
esponse ime, o eliabili y p ope ies. We assume DSL seman ics o be p o-
ided h ough a se o ans o ma ion ules, which enables a ange o analyses
based on model checking. We demons a e new concep s o de ining language
modules o he speci ica ion o non- unc ional p ope ies, show how hese can
be in eg a ed wi h base DSL speci ica ions, and p o ide a numbe o syn ac ic
condi ions ha we p o e main ain he seman ics o he base DSL e en in he
p esence o non- unc ional–p ope y speci ica ions.
1 In oduc ion
Domain-speci ic languages (DSLs) a e an impo an ool o eaping he p oposed ben-
e i s o model-d i en enginee ing [1]. DSLs a e languages based on concep s close o
he p oblem domain han he echnical solu ion. They a e, he e o e, a good way o al-
low domain-expe s, who may lack p og amming skills, o cons uc o pa icipa e in
cons uc ing subs an ial pa s o new sys ems. In addi ion, because much mo e knowl-
edge o he domain is a ailable when in e p e ing s a emen s in a DSL, i is possible
o p o ide much mo e ex ensi e code gene a ion; his can enable comple e gene a ion
o unning sys ems om a ela i ely simple DSL-based model [2]. Howe e , o DSLs
o be e ec i e, hey may need o be implemen ed o e y na ow domains [1], which
implies ha a la ge numbe o DSLs needs o be implemen ed. This equi es highly
e icien echniques o de eloping new DSLs, ideally based on an abili y o euse and
compose pa ial languages o new domains.
In he design o so wa e sys ems, many esea che s dis inguish be ween unc ional
and non- unc ional p ope ies (NFPs)—also some imes e e ed o as ex a- unc ional
p ope ies o quali y o se ice. While unc ional p ope ies a e cons ain s on wha
he so wa e sys em does, NFPs a e cons ain s on how i does i — o example, how
much esou ces a e used o how long i akes o p ocess an indi idual eques . NFPs
a e impo an o he o e all quali y o a sys em, so hey clea ly need o be aken in o
accoun h oughou de elopmen . We need o be able o p edic and analyse NFPs om
an ea ly s age o de elopmen , so as o a oid cos ly e-design o e-implemen a ion
a a la e s age. When de eloping sys ems based on DSLs, hese DSLs, consequen ly,
need o include an abili y o exp ess and analyse ele an NFPs. Howe e , he analysis
o NFPs is di icul and usually equi es subs an ial specialis expe ise. In eg a ing an
abili y o speci y NFPs in o DSLs can subs an ially inc ease he e o equi ed o build
a DSL. In his pape , we p opose a echnique o allowing NFP speci ica ion o be
encapsula ed in o eusable DSL componen s. This way, he bu den o speci ying he
NFPs o DSLs is d as ically educed, and specialis expe ise is mainly equi ed when
he language componen is cons uc ed. De eloping new DSLs capable o speci ying
pa icula NFPs in he con ex o a pa icula domain hen becomes a ma e o wea ing
in he NFP’s language componen .
The e-Mo ions language and sys em allows he de ini ion o isual DSLs and hei se-
man ics h ough in-place model- ans o ma ion ules, p o iding suppo o hei anal-
ysis h ough simula ion o model checking in Maude [3]. In [4], T oya, Ri e a, and
Vallecillo build on he ideas o he e-Mo ions amewo k [5,6] o keep ack o speci ic
NFPs by adding auxilia y objec s o DSLs. Howe e , hei app oach s ill equi es he
NFP speci ica ion and analysis componen o be ede ined om sc a ch o e e y new
DSL. In his pape we build on hei wo k, bu aim o modula ise he NFP pa in o
i s own language componen . To do so, we ake inspi a ion om he wo k in [7] whe e
Zschale in oduced he no ion o con ex models o p o ide an in e ace be ween TLA+
speci ica ions o non- unc ional and unc ional p ope ies. We will use pa ame isa ion
o e me a-models o achie e a simila e ec o ou language componen s. Speci ically,
we p esen a o mal amewo k o such language componen s, syn ac ic condi ions o
hei consis ency and p oo s o hese condi ions. We also p esen a basic p o o ype im-
plemen ing hese ideas in he con ex o e-Mo ions. Howe e , a ull in eg a ion is no in
he scope o his cu en pape .
While ou p o o ype and o iginal mo i a ion a e o he case o e-Mo ions, bo h ou
app oach and o mal amewo k a e mo e gene al. They can be applied o any DSL
speci ica ion whose seman ics a e based on model ans o ma ions. Mo eo e , while
ou wo k is clea ly mo i a ed om he need o modula ising NFP speci ica ions, he
o mal amewo k co e s a bi a y conse a i e ex ensions o such DSLs, gua an eeing
hem o be spec a i e in he sense o [8].
The emainde o his pape is s uc u ed as ollows: In Sec ion 2, we discuss a de-
ailed mo i a ing example o explain he ision o wha we would like o achie e. Sec-
ion 3 hen p esen s a o malisa ion o hese ideas oge he wi h consis ency condi ions
and ske ches o hei p oo s (see [9] o addi ional de ails on his). Sec ion 4 b ie ly
discusses ou ini ial p o o ype. Finally, Sec ion 5 discusses ela ed wo k ollowed by
conclusions and an ou look o u u e wo k in Sec ion 6.
Fig.1. P oduc ion line (a) me amodel and (b) conc e e syn ax ( om [4])
2 Mo i a ing Example
In his sec ion, we p esen an example o wha we wan o achie e. This is based on
wo k p esen ed by T oya, Ri e a, and Vallecillo in [4]. Thei wo k de ines DSLs om
wo pa s: a me a-model o he language concep s and a se o ans o ma ion ules o
speci y he beha iou al seman ics o he DSL.
Figu e 1(a) shows he me amodel o a DSL o speci ying p oduc ion-line sys ems,
o p oducing hamme s ou o hamme heads and handles, which a e gene a ed in e-
spec i e machines, and anspo ed along he p oduc ion line ia con eyo s and ays.
As usual in MDE-based DSLs, his me amodel de ines all he concep s o he language
and hei in e connec ions; in sho , i p o ides he language’s abs ac syn ax. In addi-
ion, a conc e e syn ax is p o ided. In he case o ou example, his is su icien ly well
de ined by p o iding icons o each concep (see Figu e 1(b)); connec ions be ween
concep s a e indica ed h ough a ows connec ing he co esponding icons.
Ins ances o his DSL a e in ended as oken models [10]. Tha is, hey desc ibe a
speci ic si ua ion and no he se o all possible si ua ions (as is he case, e.g., o class
diag ams). The beha iou al seman ics o he DSL can, he e o e, be gi en by speci y-
ing how models can e ol e; ha is, wha changes can occu in a pa icula si ua ion.
This is speci ied h ough a se o model ans o ma ion ules. Figu e 2 shows an ex-
ample o such a ule. The ule consis s o a le -hand side ma ching a si ua ion be o e
he execu ion o he ule and a igh -hand side showing he esul o applying he ule.1
Speci ically, his ule shows how a new hamme is assembled: a hamme gene a o a
1The e a e some o he pa s o he ule, bu hey a e no ele an o ou cu en discussion. Fo
a mo e de ailed discussion, please e e o ma e ial on e-Mo ions [5,6].
Fig.2. Assemble ule indica ing how a new hamme is assembled ( om [4])
has an incoming ay o pa s and is connec ed o an ou going con eyo bel . Whene e
he e is a handle and a head a ailable, and he e is space in he con eyo o a leas
one pa (speci ied by an OCL cons ain in he le -hand side o he ule), he hamme
gene a o can assemble hem in o a hamme . The new hamme is added o he pa s
se o he ou going con eyo bel . The comple e seman ics o ou p oduc ion-line DSL
is cons uc ed om a numbe o such ules co e ing all kinds o a omic s eps ha can
occu .2
Fo p oduc ion line sys ems, we a e in e es ed in a numbe o non- unc ional p op-
e ies. Fo example, we would like o assess he h oughpu o he p oduc line o how
long i akes o a hamme o be p oduced.3We can achie e his by ex ending ou DSL
speci ica ion wi h obse e s [4]. Di e en om [4], he e we sugges de ining speci i-
ca ion languages o obse e s en i ely sepa a ely om any speci ic DSL. We will use
he same mechanisms we used o de ining he p oduc line DSL o de ine a DSL ha
enables us o speci y h oughpu o p oduc ion ime o sys ems.
Figu e 3(a) shows he me a-model o a DSL o speci ying p oduc ion ime. Two
hings should be no ed abou his me a-model:
2The comple e speci ica ion o he P oduc ion Line example can be ound a
h p://a enea.lcc.uma.es/E-mo ions/PLSExample.
3We use his p ope y as an example he e. O he p ope ies can be de ined easily in a
simila ein as shown in [4] and on h p://a enea.lcc.uma.es/index.php/
Main Page/Resou ces/E-mo ions/PLSObExample.
MMRespTime
p
Se e , Queue,
Reques
(a) Me a-model. (b) Conc e e syn ax.
Fig.3. Me a-model and conc e e syn ax o esponse ime obse e
1. I de ines no concep p oduc ion ime. Ins ead, i de ines some hing called esponse
ime, which is a mo e gene ic concep . P oduc ion ime is eally only meaning ul in
he con ex o p oduc ion sys ems. Howe e , he gene al concep o esponse ime
co e s his su icien ly well.
2. I is a pa ame ic model (i.e., a model empla e). The concep s o Se e ,Queue,
and Reques and hei in e connec ions a e pa ame e s o he me a-model, and
hey a e shaded in g ey o illus a ion pu poses. We use hem o desc ibe in which
si ua ions esponse ime can be speci ied, bu hese concep swill need o be mapped
o conc e e concep s in a speci ic DSL.
Figu e 3(b) shows he conc e e syn ax o he esponse ime obse e objec . Whene e
ha obse e appea s in a beha iou al ule, i will be ep esen ed by ha g aphical
symbol.
Figu e 4 shows an example ans o ma ion ule de ining he seman ics o he e-
sponse ime obse e . This s a es ha i he e is a se e wi h an in queue and an ou
queue and he e ini ially a e some eques s (a leas one) in he in queue, and he ou
queue con ains some eques s a e ule execu ion, he las esponse ime should be
eco ded o ha e been equal o he ime i ook he ule o execu e. Simila ules need
o be w i en o cap u e o he si ua ions in which esponse ime needs o be measu ed,
o example, whe e a eques s ays a a se e o some ime, o whe e a se e does no
ha e an explici in o ou queue.
No e ha he ule in Figu e 4 looks di e en om he ule shown in Figu e 2. This
is because he ule is ac ually a ule ans o ma ion, while Figu e 2 is a ans o ma ion
ule. The uppe pa o Figu e 4 (shaded in g ey o illus a ion pu poses) is a pa e n o
que y desc ibing ans o ma ion ules ha need o be ex ended o include esponse- ime
accoun ing. The lowe pa desc ibes he ex ensions ha a e equi ed. So, in addi ion
o eading Figu e 4 as a ‘no mal’ ans o ma ion ule (as we ha e done in he p e ious
pa ag aph),we can also ead i as a ule ans o ma ions a ing: “Find all ules ha ma ch
he shaded pa e n and add ResponseTime objec s o hei le and igh -hand sides
as desc ibed.” In e ec , obse e models become highe -o de ans o ma ions [11].
As he ules in obse e models a e ule ans o ma ions, we can allow some addi-
ional concep s o be exp essed. Fo example, Figu e 4 uses mul iplici ies o exp ess ha

Fig.4. Sample esponse ime ule
he e may be an a bi a y numbe o eques s (bu a leas one) associa ed wi h a queue.
This is no allowed in ‘no mal’ ans o ma ion ules ( he e we need o explici ly show
each ins ance). Howe e , using mul iplici ies allows exp essing pa e ns o be ma ched
agains ans o ma ion ules—a ma ch is gi en by any ule ha has he indica ed numbe
o ins ances in i s le - o igh -hand side.
To use ou esponse- ime language o allow speci ica ion o p oduc ion ime o ham-
me s in ou p oduc ion-line DSL, we need o wea e he wo languages oge he . Fo
his, we need o p o idea binding om he pa ame e so he esponse- imeme a-model
(Figu e 3(a)) o concep s in he p oduc ion-line me a-model (Figu e 1(a)). Speci ically,
we bind:
–Se e o Assemble as we a e in e es ed in measu ing esponse ime o his
pa icula machine;
–Queue o Limi edCon aine as he Assemble machine is o be connec ed
o an a bi a y Limi edCon aine o queuing incoming and ou going pa s;
–Reques o Pa as Assemble only does some hing when he e a e Pa s o
be p ocessed; and
– Associa ions:
•The in and ou associa ions om Se e o Queue a e bound o he co e-
sponding in and ou associa ions om Machine o T ay and Con eyo ,
espec i ely; and
•The associa ion om Queue o Reques is bound o he associa ion om
Con aine o Pa .
Fig.5. Wo en me a-model o measu ing p oduc ion ime o he hamme assemble (highligh ing
added o illus a ion pu poses)
Wea ing he me a-models acco ding o his binding p oduces he me a-model in Fig-
u e 5. The wea ing p ocess has added he ResponseTime concep o he me a-model.
No ice ha he wea ing p ocess also ensu es ha only sensible wo en me a-models can
be p oduced: o a gi en binding o pa ame e s, he e needs o be a ma ch be ween he
cons ain s exp essed in he obse e me a-model and he DSL me a-model. We will
discuss his issue in mo e o mal de ail in Sec ion 3.
The binding also enables us o execu e he ule ans o ma ions speci ied in he ob-
se e language. Fo example, he ule in Figu e 2 ma ches he pa e n in Figu e 4, gi en
his binding: In he le -hand side, he e is a Se e (Assemble) wi h an in-Queue
(T ay) ha holds wo Reques s(Handle and Head) and an ou -Queue (Con ey-
o ). In he igh -hand side, he e is a Se e (Assemble) wi h an in-Queue (T ay)
and an ou -Queue (Con eyo ) ha holds one Reques (Hamme ). Consequen ly,
we can apply he ule ans o ma ion om Figu e 4, which p oduces he ule shown in
Figu e 6. This ule is equi alen o wha would ha e been w i en manually.
Clea ly, such a sepa a ion o conce ns be ween a speci ica ion o he base DSL and
speci ica ions o languages o non- unc ional p ope ies is desi able. In he nex sec-
ion, we discuss he o mal amewo k equi ed o his and how we can dis inguish sa e
bindings om unsa e ones.
3 Fo mal F amewo k
G aph ans o ma ion [12] is a o mal, g aphical and na u al way o exp essing g aph
manipula ion based on ules. In g aph-based modelling (and me a-modelling), g aphs
a e used o de ine he s a ic s uc u es, such as class and objec ones, which ep esen
Fig.6. Resul o wea ing Figu e 2 and Figu e 4
isual alphabe s and sen ences o e hem. We o malise ou app oach using he yped
g aph ans o ma ion app oach, speci ically he Double Pushou (DPO) algeb aic ap-
p oach, wi h posi i e and nega i e applica ion condi ions [13]. Ou g aphs a e, in pa -
icula , yped a ibu ed g aphs [14]. We howe e ca y on ou o malisa ion o weak
adhesi e high-le el eplacemen (HLR) ca ego ies (see [15]).
The concep s o adhesi e and (weak) adhesi e HLR ca ego ies abs ac he oun-
da ions o a gene al class o models, and comes oge he wi h a collec ion o gene al
seman ic echniques. Thus, e.g., gi en p oo s o adhesi e HLR ca ego ies o gene al
esul s such as he Local Chu ch-Rosse , o he Pa allelism and Concu ency Theo em,
hey a e au oma ically alid o any ca ego y which is p o ed an adhesi e HLR ca -
ego y. This amewo k has been a b eak- h ough o he DPO app oach o algeb aic
g aph ans o ma ion, o which mos main esul s can be p o en in hese ca ego ical
amewo ks, and ins an ia ed o any HLR sys em. One o hese cases is he one o in-
e es o us: he ca ego y o yped a ibu ed g aphs was p o en o be an adhesi e HLR
ca ego y in [14].
In his sec ion, we p esen a o mal amewo k o wha i means o de ine speci i-
ca ion languages o non- unc ional p ope ies sepa a ely o ‘no mal’ DSLs, and in a
way ha can be eused ac oss such DSLs. To his end, we will i s abs ac away om
he conc e e ep esen a ion o languages and models in e-Mo ions [5,6] ha we ha e
used in Sec ion 2. Ins ead, we will o mally ep esen he key elemen s o which such
languages and models consis and he unc ions which a e used o manipula e hem.
MObs
MMObs  RlsObs
MDSL
MMDSL  RlsDSL
Binding
BMM  BRls
MDSL
(MMDSL Binding MMObs) (RlsDSL Binding RlsObs)
Fig.7. A chi ec u e o he o mal amewo k
Figu e 7 p o ides a g aphical o e iew o he o mal amewo k we a e p oposing.
I can be seen ha his consis s o i e pa s:
1. MDSL: The speci ica ion o a DSL (wi hou any no ion o non- unc ional p ope -
ies);
2. MObs : The speci ica ion o a language o modelling non- unc ional p ope ies o
in e es ;
3. Binding: An a e ac exp essing how he pa ame e s o MObs should be ins an ia ed
wi h concep s om MDSL in o de o wea e he wo languages;
4. ⊗: A unc ion ha pe o ms he ac ual wea ing; and
5. M
DSL: A DSL ha combines he speci ica ion o some unc ionali y (as pe MDSL)
and some non- unc ional p ope ies (as pe MObs ).
3.1 The Models In ol ed and Thei Rela ionships
Following he algeb aic g aph ans o ma ion app oach, a DSL can be seen as a yped
g aph g amma . A yped g aph ans o ma ion sys em GTS =(TG,P)consis s o
a ype g aph TG and a se o yped g aph p oduc ions P.A yped g aph g amma
GG =(GTS ,S)consis s o a yped g aph ans o ma ion sys em GTS and a yped
s a g aph S. A language is hen de ined by he se o g aphs eachable om Susing
he ans o ma ion ules P.
De ini ion 1 (DSL). The speci ica ion MXo a DSL Xis gi en by a me amodel MMX,
ep esen ing he s uc u al concep s o he language, and a se o ans o ma ion ules
RlsX, de ining i s beha iou al seman ics. 
A me amodel is jus a ype g aph, and a ans o ma ion ule associa ed o i is a g aph
p oduc ion yped o e he ype g aph p o ided by such me amodel.
The languages MDSL and M
DSL a e DSL speci ica ions. MObs is, essen ially, also
a no mal DSL speci ica ion. No ice ha we assume a single obse e model MObs o
each non- unc ional p ope y. I we needed se e al o hese p ope ies, we could con-
side MObs o be he combina ion o he speci ica ions o hese non- unc ional p ope -
ies, o we could i e a e he p ocess by ins an ia ing M
DSLonce ob ained wi h a second
obse e s model MObsp oducing a esul ing speci ica ion M

DSL, which could again
be ins an ia ed by ano he obse e s model MObs ,e c.
means inse ing he ResponseTime class, adding i s a ibu es and es ablishing he
espTime e e ence among Assemble and ResponseTime classes. As o he
ou pu GCS ile, i means adding all he necessa y da a ega ding he conc e e syn ax o
he ResponseTime class.
Be ween i s inpu s, he second ans o ma ion, Wea eBeh.a l, akes he models
p oduced by he i s ans o ma ion. I pe o ms in a simila way. The i s s ep is o
copy all hose ules om RlsDSL in he ou pu model wi h he beha iou al ules. Nex ,
hose ules ha ing co espondences wi h ules in RlsObs a e deco a ed wi h obse e
objec s, links and a ibu es.
5 Rela ed Wo k
We discuss ela ed wo k in wo a eas: modelling o non- unc ional p ope ies and mod-
ula language de ini ion.
5.1 Modelling o Non-Func ional P ope ies
Modelling and analysis o non- unc ionalp ope ieshas been an ac i e esea ch a ea o
a subs an ial amoun o ime al eady. Ou wo k is ela ed o o he wo k aiming o sup-
po speci ica ion o a wide ange o non- unc ionalp ope ies— o example,languages
such as QML [20], CQML [21], CQML+[22], o SLAng [23]. These languages ake a
me a-modelling app oach o he speci ica ion o non- unc ional p ope ies in a wo-s ep
p ocess: In a i s s ep, modelle s speci y non- unc ional cha ac e is ics— o example,
pe o mance. These cha ac e is ics a e hen used in a second s ep o exp ess cons ain s
o e applica ion models; ha is, non- unc ional p ope ies. This is simila o ou ap-
p oach: An obse e model MObs e ec i ely de ines a non- unc ional cha ac e is ic.
A wo en DSL M
DSL can hen be used o model non- unc ional p ope ies. The ap-
p oaches men ioned abo e di e in hei amoun o o mal igo (inc easing om QML
o CQML+and SLAng) and he ype o sys ems hey suppo (all excep SLAng a e
aimed a componen -based sys ems; SLAng is mean o se ice-based sys ems). They
ypically do no p o ide ex ensi e suppo o analysis o he models c ea ed.
Mo e o mal ende ings o hese concep s can be ound in [16] and [7]. The o me
p esen s a o mal encoding o eal- ime p ope ies using so-called his o y-de e mined
a iables, which a e hen used o model non- unc ional cha ac e is ics ha depend on
ime. [7] ex ends his o a o mal amewo k o speci ying non- unc ional p ope ies
o componen -based sys ems. While hese app oaches can po en ially enable p oo s o
non- unc ional p ope ies, i is no clea how well hey a e sui ed o p edic i e analysis
o sys em p ope ies— o example h ough simula ion.
The app oach by T oya and Vallecillo [4] aims o add ess his issue by p o iding
a speci ica ion based on obse e s and ans o ma ions. This enables p edic i e anal-
ysis h ough simula ion based on an encoding in e-Mo ions [5, 6], which is ansla ed
in o Maude. Howe e , hei app oach equi es he de ails o a non- unc ional cha ac e -
is ic o be ede ined comple ely o each DSL. Ou p oposal is an ex ension o his wo k

using ideas om [7, 16] o sepa a e he speci ica ion o non- unc ional cha ac e is ics
om ha o he unc ional beha iou al seman ics o a DSL.
5.2 Modula Languages, Models, and T ans o ma ions
We p opose o wea e wo language de ini ions: One language enables he (abs ac )
speci ica ion o a se o non- unc ional p ope ies while he second language ocuses
en i ely on speci ying ele an beha iou s in a pa icula domain. Below we b ie ly e-
iew some ela ed wo k in he gene al a ea o modula de ini ion o languages, models,
and ans o ma ions. We discuss selec ed ela ed wo k in h ee a eas:
1. Modula de ini ion o languages;
2. Modula de ini ion o models; and
3. Modula de ini ion o model ans o ma ions.
Modula De ini ion o Languages. The e is a la ge body o wo k on modula ly de in-
ing compu e languages. Mos o his wo k (e.g., [24–26]) deals wi h ex ual languages
and in pa icula wi h issues o composing con ex - ee g amma s. While he gene al
idea o language composi ion is ele an o ou wo k, his speci ic s and o esea ch is
pe haps less ela ed and will, he e o e, no be discussed in mo e de ail.
Fo languages based on me a-modelling, he e is much less esea ch on language
composi ion. Much o he wo k on model composi ion (see nex sub-sec ion) is o
cou se o ele ance as me a-models a e models hemsel es. Ch is ian Wende’s wo k
on ole-based language composi ion [27] is an app oach ha speci ically add esses he
modula isa ion o me a-models. Fo a language module, Wende’s wo k allows he de -
ini ion o a composi ion in e ace by allowing language designe s o use wo ypes o
me a-model concep s: me a-classes and me a- oles. Me a-classes a e used as in no mal
me a-modelling o exp ess he co e me a-model concep s. Me a- oles a e like me a-
classes, howe e hey ac ually ep esen concep s o be p o ided by ano he language—
including de ini ions o ope a ions and a ibu es, which a e le abs ac in he me a-
ole. Me a- oles a e, hus, simila o ou use o me a-model pa ame e s in MMObs .
Howe e , Wende’s wo k uses me a-class ope a ions o p o ide an ope a ional iew on
languageseman ics, while we use model ans o ma ions o encode language seman ics.
Modula Modelling. Ou no a ion o exp essing pa ame ised me a-models is based
on how UML exp esses pa ame ised models. Simila no a ions ha e been used in
aspec -o ien edmodelling (AOM) app oaches— o example,Theme/UML[28] o RAM
[29]. Mo e gene ally, ou language composi ion echnique is based on he no ion o
model wea ing om AOM. Theme/UML, RAM, o Reusewa e [30] a e examples o
aspec -o ien ed modelling echniques, which a e asymme ic [31]; ha is, hey make a
dis inc ion be ween a base model and an aspec model ( he model ha is pa ame ised)
ha is wo en in o he base model. This is also ue o ou app oach: MDSL is he base
model and MObs is he model ha is wo en in o i . The e is an al e na i e app oach o
AOM ha is mo e symme ic and conside s all models o be wo en as equal. This is
ypically based on iden i ying co esponding elemen s in di e en models and me ging
hese. Examples a e UML package me ge o signa u e-based me ging [32]. Mos ypes
o AOM also conside syn ac ic wea ing only, dis ega ding he seman ics o he mod-
ula models. In con as , we explici ly conside he model seman ics and po ide o mal
no ions ensu ing ha he composi ion does no es ic he se o beha iou s modelled
in he base DSL.
Modula Model T ans o ma ions. The seman ics o he languages we a e discussing
a e exp essed using model ans o ma ions. As such, wo k on modula ising model
ans o ma ions is o ele ance o ou wo k. Gene ally, his wo k can be dis inguished
in o wo k on ex e nal and on in e nal modula isa ion o model ans o ma ions: The
o me conside s a comple e model ans o ma ion as he uni o modula i y, while
he la e aims o p o ide modula i y inside indi idual ans o ma ions [33]. As we a e
modi ying he in e nals o he base ans o ma ion by adding in de ail desc ibed in he
obse e ans o ma ion ules, ou app oach is an in e nal modula isa ion echnique.
None heless, ideas om ex e nal composi ion app oaches a e o in e es o us. In pa -
icula , he wo k on model yping and eusable model ans o ma ions p esen ed in [34]
shows how he se o me a-model concep s e ec i ely used by a model ans o ma ion
can be compu ed and how his can be used o make he ans o ma ions mo e eusable.
This is simila o he way in which we use he pa ame ised pa o MMObs o make he
obse e ans o ma ion ules mo e eusable and o adap hem o di e en DSLs.
6 Conclusions and Ou look
We ha e p esen ed a o mal amewo k o language componen s o he speci ica ion
o non- unc ional p ope ies (NFPs) in domain-speci ic languages (DSLs). Speci ically,
his enables language designe s o encapsula e he seman ics o pa icula NFPs in a
eusable language speci ica ion ha can be wo en in o a base DSL speci ica ion o
p oduce a DSL ha also enables he modelling and analysis o ha pa icula NFP in he
con ex o a speci ic domain. We ha e p esen ed condi ions o he consis ency o such
language componen s; in pa icula hese ensu e ha wea ing a language componen
wi h a DSL does no add nei he emo e alid beha iou s om he seman ics o any
exp essions in ha DSL.
Ou wo k makesa numbe o assump ionsabou he s uc u eo he baseDSL as well
as abou he NFPs o be speci ied. In he u u e, we aim o educe hese assump ions o
p o ide a mo e gene al amewo k o he speci ica ion o NFPs in DSLs. Mos im-
po an ly, we will u he s udy he cases whe e he e is no simple alignmen be ween
RlsObs and RlsDSL. This will equi e mo e powe ul pa e n-exp ession cons uc s in
RlsObs |MM
Pa and a mo e complex wea ing algo i hm ha allows obse e ules o be
bound o mul iple DSL ules and ice e sa. Ou cu en o malisa ion also does no
conside he e ec o well- o medness ules de ined o any o he DSLs in ol ed, al-
hough hei addi ion should be ela i ely s aigh o wa d.
Acknowledmen s. We would like o hank An onio Vallecillo o ui ul discussions
h oughou he wo k on his pape , and o Fe nando O ejas o his collabo a ion in he
de elopmen o he o malisa ion o he p oposal. This wo k has been pa ially sup-
po ed by Spanish Go e nmen P ojec TIN2011-23795.
Re e ences
1. Hu chinson, J., Whi le, J., Rounce ield, M., K is o e sen, S.: Empi ical assessmen o MDE
in indus y. In: Taylo , R.N., Gall, H., Med ido ic, N. (eds.) P oc. 33 d In ’l Con . on So -
wa e Enginee ing (ICSE 2011), pp. 471–480. ACM (2011)
2. Hemel, Z., Ka s, L.C.L., G oenewegen, D.M., Visse , E.: Code gene a ion by model ans o -
ma ion: A case s udy in ans o ma ion modula i y. So wa e and Sys ems Modelling 9(3),
375–402 (2010); Published on-line i s a www.sp inge link.com
3. Cla el, M., Du ´an, F., Eke , S., Lincoln, P., Ma ´ı-Olie , N., Mesegue , J., Talco , C.: All
Abou Maude - A High-Pe o mance Logical F amewo k. LNCS, ol. 4350. Sp inge , Hei-
delbe g (2007)
4. T oya, J., Ri e a, J.E., Vallecillo, A.: Simula ing domain speci ic isual models by obse a-
ion. In: P oc. 2010 Sp ing Simula ion Mul icon e ence (Sp ingSim 2010), pp. 128:1–128:8.
ACM, New Yo k (2010)
5. Ri e a, J.E., Du ´an, F., Vallecillo, A.: A g aphical app oach o modeling ime-dependen be-
ha io o DSLs. In: P oceedings o he IEEE Symposium on Visual Languages and Human-
Cen ic Compu ing, VL/HCC 2009, pp. 51–55. IEEE (2009)
6. Ri e a, J.E., Du ´an, F., Vallecillo, A.: On he Beha io al Seman ics o Real-Time Do-
main Speci ic Visual Languages. In: ¨
Ol eczky, P.C. (ed.) WRLA 2010. LNCS, ol. 6381,
pp. 174–190. Sp inge , Heidelbe g (2010)
7. Zschale , S.: Fo mal speci ica ion o non- unc ional p ope ies o componen -based so wa e
sys ems: A seman ic amewo k and some applica ions he eo . So wa e and Sys ems Mod-
elling (SoSyM) 9, 161–201 (2009)
8. Ka z, S.: Aspec Ca ego ies and Classes o Tempo al P ope ies. In: Rashid, A., Aks¸i , M.
(eds.) T ansac ions on AOSD I. LNCS, ol. 3880, pp. 106–134. Sp inge , Heidelbe g (2006)
9. Du ´an, F., O ejas, F., Zschale , S.: Beha iou p o ec ion in modula ule-based sys em speci-
ica ions (submi ed o publica ion, 2012)
10. K¨uhne, T.: Ma e s o (me a-) modeling. So wa e and Sys ems Modeling 5, 369–385 (2006)
11. Tisi, M., Jouaul , F., F a e nali, P., Ce i, S., B´ezi in, J.: On he Use o Highe -O de Model
T ans o ma ions. In: Paige, R.F., Ha man, A., Rensink, A. (eds.) ECMDA-FA 2009. LNCS,
ol. 5562, pp. 18–33. Sp inge , Heidelbe g (2009)
12. Rozenbe g, G. (ed.): Handbook o G aph G amma s and Compu ing by G aph T ans o ma-
ions. Founda ions, ol. 1. Wo ld Scien i ic (1997)
13. Eh ig, H., Eh ig, K., Habel, A., Pennemann, K.H.: Theo y o cons ain s and applica ion
condi ions: F om g aphs o high-le el s uc u es. Fundamen a In o ma icae 74(1), 135–166
(2006)
14. Eh ig, H., P ange, U., Taen ze , G.: Fundamen al Theo y o Typed A ibu ed G aph T ans-
o ma ion. In: Eh ig, H., Engels, G., Pa isi-P esicce, F., Rozenbe g, G. (eds.) ICGT 2004.
LNCS, ol. 3256, pp. 161–177. Sp inge , Heidelbe g (2004)
15. Eh ig, H., Eh ig, K., P ange, U., Taen ze , G.: Fundamen als o Algeb aic G aph T ans o -
ma ion. Sp inge (2005)
16. Abadi, M., Lampo , L.: An old- ashioned ecipe o eal ime. ACM ToPLaS 16(5),
1543–1571 (1994)
17. Lack, S.: An embedding heo em o adhesi e ca ego ies. Theo y and Applica ions o Ca e-
go ies 25(7), 180–188 (2011)
18. Jouaul , F., Allilai e, F., B´ezi in, J., Ku e , I.: ATL: a model ans o ma ion ool. Science o
Compu e P og amming 72(1-2), 31–39 (2008)
19. A enea: Reusable Speci ica ion o Obse e s (2012), h p://a enea.lcc.uma.es/
index.php/Main Page/Resou ces/ReusableObse e s
20. F olund, S., Kois inen, J.: QML: A language o quali y o se ice speci ica ion. Technical
Repo HPL-98-10, Hewle -Packa d Labo a o ies (1998)
21. Aagedal, J.Ø.: Quali y o Se ice Suppo in De elopmen o Dis ibu ed Sys ems. PhD he-
sis, Uni e si y o Oslo (2001)
22. R¨o ge , S., Zschale , S.: CQML+: Enhancemen s o CQML. In: B uel, J.M. (ed.) P oc. 1s
In ’l Wo kshop on Quali y o Se ice in Componen -Based So wa e Enginee ing, pp. 43–56
(June 2003)
23. Skene, J., Lamanna, D.D., Emme ich, W.: P ecise se ice le el ag eemen s. In: P oc. 26 h
In ’l Con . on So wa e Enginee ing (ICSE 2004), pp. 179–188. IEEE Compu e Socie y
(2004)
24. B a enboe , M., Visse , E.: Conc e e syn ax o objec s: Domain-speci ic language embed-
ding and assimila ion wi hou es ic ions. In: P oc. 19 h Annual ACM SIGPLAN Con .
on Objec -O ien ed P og amming, Sys ems, Languages, and Applica ions (OOPSLA 2004),
pp. 365–383. ACM P ess (2004)
25. B a enboe , M., Visse , E.: Pa se Table Composi ion Sepa a e Compila ion and Bina y Ex-
ensibili y o G amma s. In: Gaˇse i´c, D., L¨ammel, R., Van Wyk, E. (eds.) SLE 2008. LNCS,
ol. 5452, pp. 74–94. Sp inge , Heidelbe g (2009)
26. K ahn, H., Rumpe, B., V¨olkel, S.: Mon iCo e: a amewo k o composi ional de elop-
men o domain speci ic languages. In ’l Jou nal on So wa e Tools o Technology T ans e
(STTT) 12(5), 353–372 (2010)
27. Wende, C., Thieme, N., Zschale , S.: A Role-Based App oach owa ds Modula Language
Enginee ing. In: an den B and, M., Gaˇse i´c, D., G ay, J. (eds.) SLE 2009. LNCS, ol. 5969,
pp. 254–273. Sp inge , Heidelbe g (2010)
28. Ca on, A., D i e , C., Jackson, A., Cla ke, S.: Model-d i en Theme/UML. T ansac ions on
Aspec -O ien ed So wa e De elopmen (2008)
29. Kienzle, J., Abed, W.A., Klein, J.: Aspec -o ien ed mul i- iew modeling. In: P oc. 8 h ACM
In ’l Con . on Aspec -O ien ed So wa e De elopmen (AOSD 2009), pp. 87–98. ACM
(2009)
30. Heiden eich, F., Hen iksson, J., Johannes, J., Zschale , S.: On Language-Independen Model
Modula isa ion. In: Ka z, S., Osshe , H., F ance, R., J´ez´equel, J.-M. (eds.) T ansac ions on
AOSD VI. LNCS, ol. 5560, pp. 39–82. Sp inge , Heidelbe g (2009)
31. Ha ison, W.H., Osshe , H.L., Ta , P.L.: Asymme ically s. symme ically o ganized
pa adigms o so wa e composi ion. Technical Repo RC22685, IBM Resea ch (2002)
32. Reddy, Y.R., Ghosh, S., F ance, R.B., S aw, G., Bieman, J.M., McEachen, N., Song, E.,
Geo g, G.: Di ec i es o Composing Aspec -O ien ed Design Class Models. In: Rashid, A.,
Aks¸i , M. (eds.) T ansac ions on AOSD I. LNCS, ol. 3880, pp. 75–105. Sp inge , Heidelbe g
(2006)
33. Kleppe, A.G.: 1s Eu opean wo kshop on composi ion o model ans o ma ions (CMT
2006). Technical Repo TR-CTIT-06-34, Cen e o Telema ics and In o ma ion Technol-
ogy, Uni e si y o Twen e (June 2006)
34. Sen, S., Moha, N., Mah´e, V., Ba ais, O., Baud y, B., J´ez´equel, J.M.: Reusable model ans-
o ma ions. So wa e and Sys ems Modeling (SoSyM), 1–15 (2010)