scieee Open visual document viewer

On the Reusable Specification of Non-functional Properties in DSLs

Durán, Francisco; Zschaler, Steffen; Troya Castilla, Javier

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.

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 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)