Full text
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 MObsp 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)