scieee Open visual document viewer

Specification and simulation of queuing network models using Domain-Specific Languages

Troya Castilla, Javier; Vallecillo Moreno, Antonio

Abstract

Queuing Network Models (QNMs) provide powerful notations and tools for modeling and analyzing the performance of many different kinds of systems. Although several powerful tools currently exist for solving QNMs, some of these tools define their own model representations, have been developed in platform-specific ways, and are normally difficult to extend for coping with new system properties, probability distributions or system behaviors. This paper shows how Domain Specific Languages (DSLs), when used in conjunction with Model-driven engineering techniques, provide a high-level and very flexible approach for the specification and analysis of QNMs. We build on top of an existing metamodel for QNMs (PMIF) to de ne a DSL and its associated tools (editor and simulation engine), able to provide a high-level notation for the specification of different kinds of QNMs, and easy to extend for dealing with other probability distributions or system properties, such as system reliability.

Full text

Speci ica ion and Simula ion o Queuing Ne wo k Models using Domain-Speci ic Languages Ja ie T oya∗, An onio Vallecillo Dep . Lenguajes y Ciencias de la Compu aci´on, Uni e sidad de M´alaga, Bule a Louis Pas eu , 35. (29071) M´alaga, Spain Abs ac Queuing Ne wo k Models (QNMs) p o ide powe ul no a ions and ools o modeling and analyzing he pe o mance o many di e en kinds o sys ems. Al hough se e al powe ul ools cu en ly exis o sol ing QNMs, some o hese ools de ine hei own model ep esen a ions, ha e been de eloped in pla o m-speci ic ways, and a e no mally di icul o ex end o coping wi h new sys em p ope ies, p obabili y dis ibu ions o sys em beha io s. This pape shows how Domain Speci ic Languages (DSLs), when used in conjunc- ion wi h Model-d i en enginee ing echniques, p o ide a high-le el and e y lexible app oach o he speci ica ion and analysis o QNMs. We build on op o an exis ing me amodel o QNMs (PMIF) o de ine a DSL and i s associa ed ools (edi o and simula ion engine), able o p o ide a high-le el no a ion o he speci ica ion o di e en kinds o QNMs, and easy o ex end o dealing wi h o he p obabili y dis ibu ions o sys em p ope ies, such as sys em eliabili y. Keywo ds: Domain-Speci ic Languages, Queuing Ne wo k Models, PMIF 1. In oduc ion The speci ica ion and analysis o he non- unc ional p ope ies o so wa e sys ems, such as QoS usage and managemen cons ain s (pe o mance, e- ∗Co esponding au ho , elephone +34.95.213.2846, ax +34.95.213.1397 Email add esses: [email p o ec ed] (Ja ie T oya), [email p o ec ed] (An onio Vallecillo) P ep in submi ed o Compu e S anda ds & In e aces No embe 2, 2012 Final published e sion o he pape a ailable on jou nal's webis e: h p://www.sciencedi ec .com/science/a icle/pii/S092054891400004X? ia%3Dihub liabili y, e c.), is c i ical in mos dis ibu ed applica ion domains, such as embedded sys ems, mul imedia applica ions o cloud compu ing. In ac , he de elopmen o me hods and ools o pe o mance e alua ion and mod- eling has been an ac i e a ea o esea ch since he ea ly days o so wa e enginee ing. Queuing Ne wo k Models (QNMs) p o ide powe ul no a ions and ools o modeling and analyzing he pe o mance o many di e en kinds o sys- ems [1]. The e a e cu en ly se e al ools o sol ing QNMs. Howe e , some o hese ools de ine hei own model ep esen a ions, ha e been de eloped in pla o m-speci ic ways, and a e no mally di icul o ex end o coping wi h new sys em p ope ies, p obabili y dis ibu ions o sys em beha iou s. A pe o mance model in e change o ma , PMIF [2], was in ended as a s an- da d o de ining and exchanging QNMs be ween ools, al hough only a ew ools suppo i . Domain Speci ic Languages (DSLs) p o ide in ui i e no a ions, close o he languages o he domain expe s, in a compac and p ecise way, and a he igh le el o abs ac ion. When used in conjunc ion wi h Model- d i en enginee ing (MDE) echniques [3], hey become easy o de elop, and allow he esul ing models o be manipula ed, analyzed and execu ed using s anda d ools. This pape shows how a DSL o QNMs can be de ined and buil , p o id- ing a high-le el and e y lexible app oach o he speci ica ion and execu- ion o QNMs a a high-le el o abs ac ion, and enabling he de elopmen o end-use ools in a lexible and cos -e ec i e manne . We also show how an exis ing de- ac o s anda d o QNM ep esen a ion and in e change (PMIF) can be in eg a ed in o he MDE domain, being also ex ended and imp o ed o cope wi h new equi ed ea u es and sys em p ope ies. Following he usual MDE p ocess, he DSL is de ined in e ms o i s abs ac syn ax,conc e e syn ax and seman ics. The abs ac syn ax de ines he domain concep s ha he language is able o ep esen , and is de ined by a me amodel. Gi en ha he pe o mance enginee ing communi y has al eady de ined a common me amodel o QNMs, we ha e adop ed PMIF as he base o ou abs ac syn ax. The conc e e syn ax de ines he no a ion o he language, and i is de ined by a mapping om he concep s o he language in o hei ex ual o g aphical ep esen a ion. In his case his is de ined using he Eclipse G aphical Modeling F amewo k (GMF [4]). Finally, he seman ics desc ibe he meaning o he models ep esen ed in he language, and in case o models o dynamic sys ems (such as ou s) he seman ics o a 2 model desc ibe he e ec s o execu ing he models. He e, he seman ics is gi en by a seman ic b idge [5] om QNMs o in-place beha io al ules, and suppo ed by he e-Mo ions oolki [6, 7]. The esul ing DSL, called xQNM, has been in eg a ed in a ool, p o ides a no a ion o he speci ica ion o di e en kinds o QNMs, is easy o ex end o dealing wi h o he p obabili y dis ibu ions o sys em p ope ies—such as eliabili y—and is compa able o o he exis ing QNM ools. The es o he pape is o ganized as ollows. A e his in oduc ion, Sec ion 2 p esen s he s a e o he a ega ding QNMs, se e al ools and PMIF. Then, Sec ion 3 in oduces he abs ac syn ax o xQNM, in e ms o an ex ension o PMIF 2 [2]. Sec ion 4 p esen s he basic MDE concep s and mechanisms ha we ha e used in ou p oposal. Sec ion 5 p esen s an o e iew o he componen s o he xQNM language, desc ibing i s seman ics in e ms o a gene ic beha io al model o QNMs, i s conc e e syn ax, and he g aphical edi o we ha e buil o c ea e and inpu queueing ne wo k models. Then, Sec ion 6 explains how we deal wi h QNMs beha io al simula ions, i compa es hem wi h o he ools and p esen s he ex ensions needed o conside ailu es in se e s. Finally, Sec ion 7 concludes and ou lines some lines o u u e wo k. 2. S a e o he A 2.1. Queuing Ne wo k Models In compu e sys ems, many jobs sha e he sys em esou ces such as CPU, disks, and o he de ices. Since gene ally only one job (o some o hem) can use he esou ce a any gi en ime, all o he jobs wan ing o use ha esou ce wai in queues. Sys ems whe e jobs may be se iced a one o mo e queues be o e lea ing he sys em a e modeled wi h queuing ne wo ks. Queuing heo y helps in de e mining he ime ha jobs spend in a ious queues in he sys em [8]. These imes can hen be combined o p edic he sys em esponse ime, which is basically he o al ime ha a job spends inside he sys em, and o he non- unc ional ea u es such as h oughpu , idle- imes, e c. The e a e wo main ypes o queuing ne wo ks: open and closed. The o me has ex e nal a i als and depa u es. The jobs en e he sys em a a sou ce and depa a a sink (Fig. 1(a)). The numbe o jobs in he sys em a ies wi h ime. Closed ne wo ks ha e no ex e nal a i als o depa u es: he jobs in he sys em keep ci cula ing om one queue o he nex . The 3 (a) An Open Queuing Ne wo k (b) A Closed Queuing Ne wo k Figu e 1: Examples o an Open and a Closed Queuing Ne wo ks. o al numbe o jobs in he sys em is cons an . I is possible o iew a closed sys em as a sys em whe e he sink is connec ed back o he sou ce (Fig. 1(b)), and jobs lea ing he sys em immedia ely e-en e i . The e a e also mixed ne wo ks, which beha e as open o some wo kloads and closed o o he s. All jobs o a single class ha e he same se ice demands and ansi ion p obabili ies. 2.2. QNM ools The e a e se e al comme cial packages o queuing ne wo k modeling, like QNAP2 [9], he PDQ analyze [10], SPE·ED [11], RESQME [12], BEST/1 [13], CSIM [14]. The e a e also many academic ools including TANGRAM- II [15], SHARPE [16], JINQS [17, 18], qne wo ks [19] and JMT [20] ( o a e y comple e lis , see [21]). Table 1 p esen s se e al ele an ea u es o some o he exis ing packages and ools o sol ing QNMs (xQNM has also been included o compa ison wi h he es ). They a e lis ed acco ding o hei app oxima e ch onological appea ance. Fo each ool we lis he e alua ion echnique i uses (analy ical me hods, simula ion o bo h), he speci ic model ep esen a ion needed, he p obabili y dis ibu ions i accep s and he ypes o QNMs i can analyze. Mos o hese ools we e de eloped some yea s ago, and each o hem speci ies a queuing ne wo k model in a di e en way and wi h a di e en language. To add ess he p oblem o exchanging models among ools, a pe o mance model in e change o ma (PMIF) was p oposed [2, 24, 25, 26]. PMIF p o ides a common ep esen a ion o sys em pe o mance model da a ha can be used o exchange models among QNM modeling ools. Howe e , s ill mos o he exis ing ools a e no able o ecei e a PMIF model as inpu . I is ue ha some ools ied o de ine common o ma s o ool in e ope abili y pu poses, wi h goal simila o PMIF. This is he case o MOSEL-2 [27], a ool ha p o ides means o speci ying QNMs and ca ying ou some pe o mance 4 Table 1: Fea u es o some packages and ools o QN modeling and analysis Tool E alua ion ech- nique (Inpu ) Model Fo - ma P obabili y Dis ibu- ions admi ed Types o QNM sup- po ed RESQME (1986) Disc e e e en simu- la ion G aphical en i on- men wi h ex ual in o ma ion o d aw inpu models E lang, Exponen ial, No mal, Uni o m, e c. Ex ended QNMs o e- sou ce connec ion sys ems SHARPE (1987) Analysis G aphical use in e - ace o d awing inpu models I allows s- indepen- den andom a iables and mixing o dis i- bu ions. I canno handle Weibull dis ibu- ions [22] QNMs and also mul i- ple model ypes (Faul T ee, Ma ko Chain, Semi- Ma ko Chain, MRGP, GSPN, PFQN, MPFQN, T ask g aph, e c.) QNAP2 (1992) Bo h disc e e e en simula ion and anal- ysis P og amma ical. The analy ical sol e s need o be in oked E lang, Exponen ial, No mal, Uni o m, e c. Open, closed and mixed queuing ne wo ks QSIM (1995, Release 6.11) Disc e e e en simu- la ion G aphical use in e - ace o d awing he inpu models Exponen ial, Gamma, E lang, Uni o m, De e minis ic, Non- Homogeneous Poisson, e c. Open and closed ne wo ks SPE·ED (1996) Analysis and Simula- ion G aphical use in e - ace o d awing he inpu models Va ious ( o simula ion) Any QNM as well as SPE models as de ined in Con- nie U. Smi h’s books PEPSY-QNS (1996) Bo h analysis and disc e e e en simu- la ion G aphically (wi h XPEPSY), o ex u- ally Va ious ( o simula ion) Open, closed and mixed ne wo ks TANGRAM- II (1997) Analysis and simula- ion P og amma ical (models a e composed o objec s ha in- e ac by exchanging messages) Exponen ial, Pa e o, De e minis ic, Uni- o m, E lang, Gaussian, Log-no mal, FARIMA, FBM Models o communica- ion sys ems (compu e ne wo ks, a ic sys ems, e c.) PDQ (1998) Analysis P og amma ical (us- ing C) Exponen ial dis ibu- ion Open and closed ne wo ks MQNA (2003) Analysis Tex ually Exponen ial dis ibu- ion Open and closed p oduc - o m QNs and ini e capac- i y QNs. WinPEPSY- QNS (2006) Analysis and simula- ion (closed queuing sys ems wi h capac- i y and phase ype dis ibu ions canno be simula ed) G aphical use in e - ace o d awing inpu models Phase- ype dis ibu- ions (app oxima ions o long- ail dis ibu- ions achie ed by ini e mix u es o exponen- ials [23]) S ochas ic models based on queuing ne wo ks wi h phase- ype dis ibu ions JINQS (2006) Disc e e e en simu- la ion P og amma ical (in Ja a) Exponen ial, Weibull, Cauchy, De e minis ic, E lang, Gamma, Geo- me ic, No mal, Pa e o, Uni o m Any queuing sys em and queuing ne wo k model JMT (2007) Analysis and disc e e e en simula ion G aphical use in e - ace o d awing inpu models. Wiza ds a e a ailable. I also sup- po s in e ope abili y ia XML Pa e o, Gamma, Hy- pe exponen ial, E lang, e c. Any queuing sys em and queuing ne wo k model qne wo ks (2009) Analysis P og amma ical (in Oc a e) Poisson dis ibu ions o a i al a es and Ex- ponen ial dis ibu ions o se ice imes Open, closed and mixed ne wo ks wi h mul iple job classes xQNM (2012) Disc e e e en simu- la ion G aphical use in e - ace o d awing he inpu models. Impo - a ion o PIMF mod- els is also allowed Uni o m, Exponen- ial, No mal, Gamma, Weibull, E lang, F, Log-no mal, Pa e o, Pascal, e c. Open and closed ne wo ks 5 measu emen s o e hem. The ool is equipped wi h a se o model ansla o s ha allow he au oma ic ans o ma ion o MOSEL-2 models o se e al hi d- pa y pe o mance e alua ion ools. WEASEL [28] is an in e es ing clien - se e applica ion in which he use can speci y a PMIF 2 (see Sec . 2.3) model g aphically and hen sol e i by using he ollowing ex e nal solu ion ools: PDQ, SHARPE, MVACCKSW (MVA using di e en me hods) and PEPSY. Fu he mo e, i o e s he op ion o ansla e he PMIF 2 model o he speci ic no a ion o di e en ools, such as PDQ, SHARPE, PMVA, QNAP, OPENQN, CLOSEDQN, MVAQFP, MQNA1, MQNA2 and PEPSY. Only some o he ools men ioned p o ide a g aphical in e ace o he de ini ion o QNMs (namely RESQME, SHARPE, SPE·ED, PEPSY, JMT, QSIM and xQNM), in he es he inpu models ha e o be in oduced ex u- ally o p og amma ically. And in mos cases, all hese o ma s a e p op ie a y and canno be easily po ed o o he ools. Analy ical me hods do no allow he exac e alua ion o he pe o mance o QNMs wi h a bi a y p obabili y dis ibu ions o a i al and se ice imes, only i hey use Exponen ial and Uni o m dis ibu ions. This is why many packages also o e solu ions based on simula ion o dealing wi h o he dis i- bu ions: TANGRAM-II, SPE·ED, QNAP2, WinPEPSY-QNS and he JMT sui e. Ou ool belongs o his g oup. Among he ools desc ibed in Table 1, he e a e ools w i en in FOR- TRAN (QNAP2), C++ (TANGRAM-II and WinPEPSY-QNS), C (PEPSY- QNS, PDQ Analyze ), GNU Oc a e (qne wo ks) and Ja a (JINQS, JMT). This is one aspec in which ou ool signi ican ly di e s om he es , be- cause i has been de eloped using MDE echniques, and is de ined in e ms o DSLs and model ans o ma ions be ween hem, a a highe le el o ab- s ac ion. This allows us he possibili y o modi y o imp o e one o i s pa s and keep he es un ouched, and p o ides us wi h a e y o ganized and modula a chi ec u e. Consequen ly, i makes he ool easie ex ensible o u u e e sions and imp o es i s main ainabili y. jEQN [29] is a DSL o he speci ica ion and implemen a ion o dis ibu ed simula o s o ex ended queueing ne wo ks. Al hough i also uses MDE echniques and p o ides a DSL o speci ica ion and simula ion, i builds on Ja a while ou app oach elies on an exis ing DSL o he speci ica ion o eal- ime sys ems. Besides, jEQN ocuses on he de elopmen o dis ibu ed simula o s om local ones o ex ended QNMs while ou ool ocuses on he de ini ion and managemen o QNMs (de ini ion, impo a ion, expo a ion) as well as on hei simula ion. Mos o he wo ks abou QNMs do no conside ailu es. This is, he 6 se e s ha compose he ne wo k can ail, being unable o p ocess jobs o some ime and con ibu ing o sys em delay. In his sense, hese wo ks conside ha he ne wo ks ha e an “ideal” beha io , whe e no hing can go w ong. Bu his is a om eali y, since in many sys ems modeled wi h queuing ne wo ks many hings can go w ong. Fo example, in manu ac u ing sys ems, he machines ha make up he sys em can ail, o he ac ual se e s ha compose any kind o ne wo k modeled wi h a QNM can ha e ailu es oo (ha dwa e ailu es, ailu es due o wea ou , andom ailu es, e c.). The e a e some wo ks ha do ake in o accoun ailu es o his ype. Fo example, Das and Mu ay Woodside [30] conside ha any o he en i ies in a model can unde go a ailu e, which is independen o he ailu es o o he en i ies in he model. Each en i y ihas i s own componen s a e, Si(0 o 1), co esponding o i s wo king s a e o ailed s a e, and is go e ned by a sepa a e Ma ko chain wi h a wo king s a e (si= 1) and a ailed s a e (si= 0), wi h a es o ailu e and epai . We ha e applied his idea o ne wo ks’ componen s ha ing wo s a es o ex end he beha io o o dina y QNMs (see Sec ion 6.4). Al iok [31] has e iewed in de ail li e a u e pe aining o queues wi h se ice b eakdowns due o ailu es o se ice s a ions. S. Kuma and P. R. Kuma conside machine’s ailu es in manu ac u ing sys ems [32], and assign exponen ial imes o imes o ailu e and imes o epai . Go il and Fu su ey in [33] con ibu ions and applica ions o queuing heo y in he ield o disc e e pa manu ac u ing, whe e hey e e ence o he wo ks dealing wi h ailu es in manu ac u ing low lines [34, 35, 36]. 2.3. E olu ion o PMIF PMIF was concei ed as a common ep esen a ion o sys em pe o mance model da a ha could be used o mo e models be ween modeling ools [26]. I s c ea o s we e in e es ed in ool in e ope abili y o So wa e Pe o mance Enginee ing [37]. I s s uc u e ep esen s he so wa e p ocessing s eps and o he in o ma ion o wo kloads ha execu e in he sys em pe o mance le el. PMIF, howe e , was bo n o sys em pe o mance models ha ep esen compu e pla o ms and ne wo k in e connec ions wi h a ne wo k o queues and se e s. I s ep esen a ion echnique had o be app op ia e o exp ess he in e change o ma and i needed o be capable o exp essing a wide ange o sys em execu ion models: hose con aining a small numbe o se e s o a e y la ge numbe o hem, om one o many wo kloads, bo h open and closed models, ha may be sol ed using ei he analy ical o simula ion solu ion echniques. I also had o be usable wi h exis ing ools, include modeling 7 Figu e 2: PMIF 1.0 Me amodel ea u es ha ools p o ide, suppo he modeling pa adigms p e alen in ools, and use e minology common in ools and modeling esea ch. So he i s e sion o PMIF (1998), as explained in [26], add essed a speci ic ype o pe o mance model: Queuing Ne wo k Models ha may be sol ed using exac analy ical solu ion algo i hms. The esul ing me amodel is shown in Figu e 2. In his e sion, he use o he ope a ional analysis e m isi s a he han he s ochas ic modeling p obabili y among se e s was p oposed. A new e sion o he PMIF me amodel and i s XML schema speci ica ion (called PMIF 2.0, and la e PMIF 2) was hen p esen ed in [24, 38, 2]. An XML-based app oach was used o ackle he complexi y and amoun o e - o equi ed o c ea e he PMIF in e ace. I uses he p e ious PMIF (PMIF 1.0) me amodel as a s a ing poin because i is a good desc ip ion o he in o ma ion equi emen s o pe o mance model in e change, bu uses XML o implemen he ans e o ma . As p e iously men ioned, he PMIF 1.0 me amodel uses numbe o isi s ins ead o ou ing p obabili ies, assuming ha om he numbe o isi s, and wi h he knowledge o he queuing ne - wo k opology, ou ing p obabili ies can be calcula ed. This assump ion is ue o many o he queuing ne wo ks ha model compu e sys ems. How- e e , i is no ue o he gene al case. This is why he ou ing p obabili y was added as a ansi elemen which speci ies whe e a job has o ansi and 8 Figu e 3: PMIF 2 Me amodel ( om [2]) wi h wha p obabili y. One o he ad an ages o PMIF is ha i can be used by web se ices o expo and impo QNMs among di e en modeling ools. In [39], PMIF 2 is used as he exchange o ma o QNMs among SPE·ED and QNAP by means o a web se ice. Fi s , he so wa e model c ea ed in he SPE·ED pe o mance modeling ool is expo ed o he PMIF 2 o ma . Then, i is ans o med o he QNAP no a ion, a e which he model is eady o be analyzed by QNAP. The PMIF 2 me amodel is shown in Fig. 3. In his pape , we ake a s ep o wa d because ou aim is no jus o be able o desc ibe models in XML, bu o in eg a e hem in o he MDE ool chain. Thus, we ha e used Eco e [40] as me a-me amodel, and so Eco e models ep esen ing queuing ne wo k models exp essed in PMIF can be de ined. Fu he mo e, se e al p obabili y dis ibu ions o a i al and se ice imes can be speci ied in he models. This is u he explained in Sec ion 3. 3. Exp essing PMIF in Eco e The me amodel con o ming o Eco e [40] ha we p opose o de ining QNMs, named ePMIF ( o Eco e-PMIF), is shown in Figu e 4. I can be seen as he MDE e sion o he PMIF 2 me amodel p esen ed in [2] (Fig. 3), wi h some mino changes. AQueuingNe wo kModel is composed o one o mo e Wo kloads, ze o o mo e A cs, one o mo e Nodes and one o mo e Se iceReques s. The A c class 9 Figu e 6: xQNM G aphical Edi o 5.1. A Tool o D awing and Simula ing QNMs Ou DSL is suppo ed by a ool which p o ides a g aphical edi o o c ea ing queueing ne wo ks con o ming o PMIF o ePMIF me amodels. I means ha i can be de ined open, closed and mixed ne wo k models in he g aphical in e ace. A his momen , only open and closed ne wo ks can be simula ed in xQNM. This sec ion explains he capabili ies p o ided by his ool. 5.1.1. QNMs g aphical de ini ion The g aphical edi o o ou ool has been de eloped using GMF. Fig. 6 con ains a snapsho o ou edi o , wi h he g aphical ep esen a ion o he QNM model showed in Fig. 1(a). The di e en kinds o ne wo k objec s (OpenWo kloads, ClosedWo kloads, Se e s, Wo kUni Se e s, e c.) can be selec ed om he menu on he igh and be placed on he main panel. The p ope ies o objec s (a ibu es and e e ences) a e speci ied in he lowe panel. To assign alues o he sequences o ansi ions, he use has o selec he objec and click on he a ibu e in he lowe panel. A new window whe e he alues can be in oduced is shown in Fig. 7. P obabili y 16 Figu e 7: Assigning alues o sequences (a) Speci ying he dis ibu ion. (b) Selec ing he Se e associa ed o he Se iceReques . Figu e 8: D op down lis s in he lowe panel. dis ibu ions a e speci ied as a ibu es o ype P obDis ibu ion (Fig. 8(a)). Re e ences o objec s ( ha model o example ansi ions) a e indica ed using d op down lis s (Fig. 8(b)). As in any GMF p ojec , xQNM models admi wo ep esen a ions, each one s o ed in a di e en ile. One con ains he g aphical in o ma ion, and can be edi ed wi h ou g aphical ool. The second one is plain XML ile ha con ains he model elemen s, and can be edi ed wi h he s anda d Eclipse ee- iew model edi o . The use can selec ei he o hem in he le panel. 5.1.2. Expo ing QNMs Once a queuing ne wo k model is de ined wi h he g aphical edi o , i can be expo ed o an XML ile wi h i s ePMIF ep esen a ion. The XML is simila o he PMIF 2 XML ile, wi h he co esponding ex ensions o ansi- ions and p obabili y dis ibu ions. Thus, he e a e no A i alRa e,Se iceTime and ThinkTime a ibu es anymo e; bu A i alDis ,Se iceDis and ThinkDis . Objec s con aining any o hese a ibu es also con ain one o mo e a ibu es named Pa am ha speci y he pa ame e s o he dis ibu ions. Fo ins ance, le us conside he example shown in Fig. 1(a) and desc ibed in Sec ion 3 o an open QNM wi h a CPU and wo disks: A and B. Dis ibu ions o se ice imes a e supposed o be Gamma ( o disk A) and Exponen ial ( o disk B), 17 and Poisson o a i al imes. Lis ing 1 shows he XML ile ha has been expo ed om he de ini ion o his open ne wo k model using ou ool. Lis ing 1: ePMIF XML File <QueueingNe wo kModel Name="Jain572" De sc ip i on= " Eco e XML PMIF " Da e−Time="040711"> <Wo kload> <OpenWo kload Wo kloadName=" OWL " A i esA ="Sou ce" Depa sA =" Sink " A i alDis ="Poisson" TimeUni s=" sec "> <T ansi P ob a bi li y=" 1.0 " To=" CPU " /> <Pa am Value=" 3.0 " /> </OpenWo kload> </Wo kload> <Node> <Se e Name=" CPU " Quan i y="1" SchedulingPolicy=" FCFS "/> <Se e Name=" DISKB " Quan i y="1" SchedulingPolicy=" FCFS "/> <Wo kUni Se e Name=" DISKA " Quan i y="1" SchedulingPolicy=" FCFS " TimeUni s=" sec " S e i c e D i s =" Gamma "> <Pa am Value=" 0.5 " /> <Pa am Value=" 2.0 " /> </Wo kUni Se e > <Sou ceNode Name="Sou ce"/> <SinkNode Name=" Sink " /> </Node> <Se iceReques > <DemandSe iceReques Se iceDemand="2592.0" TimeUni s=" sec " Wo kloadName=" OWL " Se e ID=" DISKB " Numbe O Visi s=" 86400 "> <T ansi P ob a bi li y=" 1.0 " To=" CPU " /> </DemandSe iceReques > <Wo kUni Se iceReques Wo kloadName=" OWL " Se e ID=" DISKA "> <T ansi P ob a bi li y=" 1.0 " To=" CPU " /> </Wo kUni Se iceReques > <TimeSe iceReques TimeUni s=" sec " Wo kloadName=" OWL " Se e ID=" CPU " S e i c e D i s =" Exponen ial "> <Pa am Value=" 0.01 "/> <T ansi P ob a bi li y="0.4375" To=" DISKA "/> <T ansi P ob a bi li y=" 0.5 " To=" DISKB "/> <T ansi P ob a bi li y="0.0625" To=" Sink "/> </TimeSe iceReques > </Se iceReques > <A c F omNode="Sou ce" ToNode=" CPU " /> <A c F omNode=" CPU " ToNode=" DISKA "/> <A c F omNode=" CPU " ToNode=" DISKB "/> <A c F omNode=" CPU " ToNode=" Sink " /> <A c F omNode=" DISKA " ToNode=" CPU " /> <A c F omNode=" DISKB " ToNode=" CPU " /> </QueueingNe wo kModel> 18 Ou ool also suppo s he expo a ion o s anda d PMIF 2 XML o ma , as long as he dis ibu ions a e hose suppo ed by PMIF 2. 5.1.3. Impo ing QNMs The xQNM ool o e s he possibili y o impo PMIF 2 iles. These iles a e ans o med in o he co esponding ePMIF iles, modi ying he a ibu es as equi ed. Thus, a ibu es Se iceTime and ThinkTime a e au oma ically ansla ed in o he co esponding se iceDis and hinkDis a ibu es. New a ibu es se icePa ams and hinkPa ams a e c ea ed wi h he alues o Se - iceTime and ThinkTime a ibu es, espec i ely. The same happens wi h he A i alRa e a ibu e in PMIF 2, which is ansla ed o an a i alDis a ibu e (o ype Poisson in his case). I is also possible o impo plain ePMIF XML iles o he xQNM ool (i.e., wi h no g aphical in o ma ion). The ATL ans o ma ion used o his is he opposi e o he one used o he expo a ion o ePMIF models, explained abo e. When plain XML iles con aining ei he PMIF o ePMIF models a e im- po ed in o ou ool, a ile con aining he new model gene a ed is c ea ed. Ha ing no g aphical in o ma ion abou he model, his ile only accep s he isualiza ion using he Eclipse ee- iew edi o . F om his ile, he use can gene a e ano he ile so ha he model can be deployed in he g aphical edi- o . The elemen s will ini ially appea in a andom posi ion in he g aphical edi o (since no g aphical in o ma ion is a ailable), and he use is hen ee o a ange hem as p e e ed. 5.2. A Gene ic Beha io al Model o QNMs The gene ic beha io al model o open and closed QNMs is de ined in e ms o a se o e-Mo ions ules. No e ha use s o he xQNM ool do no need o be awa e o such beha io al model. Mixed queuing ne wo k models de ined using he g aphical use in e ace o xQNM canno be simula ed a his momen . 5.2.1. QNMs s uc u al model and Obse e s addi ion PMIF models desc ibe he s uc u e o he QNM, and can be used o speci y he dynamics o QNMs in e ms o job lows. Howe e , we also need o speci y, eco d and manage addi ional in o ma ion o deal wi h he pe o mance p ope ies o he sys em. Fo hese asks we use obse e s. 19 Figu e 9: Obse e s me amodel Obse e s we e in oduced in [49, 50] as an e ec i e means o speci y he non- unc ional p ope ies o sys ems desc ibed by high-le el DSLs. An obse e is an objec whose pu pose is o moni o he s a e o he sys em objec s and ac ions. Obse e s, as any o he objec s, ha e a s a e and a well-de ined beha io . The a ibu es o he obse e s cap u e hei s a e, and a e used o s o e he a iables ha we wan o moni o . To in oduce obse e s in o he beha io al ules o xQNM (in o de o speci y and measu e he pe o mance p ope ies o QNMs), we need o speci y a me amodel o hem. This is shown in Fig. 9. The idea is o combine bo h me amodels (Figs. 4 and 9) so ha obse e s can be used in ou beha io al ules. In ac , since e-Mo ions allows use s o me ge se e al me amodels in he de ini ion o a DSL, we can de ine he obse e s me amodel in a non- in usi e way, i.e., we do no need o modi y he sys em me amodel o add a ibu es ha s o e he alues o he non- unc ional p ope ies we wan o moni o . In he obse e s me amodel we can see ha he e a e h ee ypes o ob- se e s o moni o ing he pe o mance me ics o a di e en ype o objec . We ha e Wo kloadOb o moni o ing Wo kloads,Se e Ob o moni o Se e s, and Se iceReques Ob o moni o TSe iceReques s. These h ee ha e a e e - ence o class EOjec , which poin s o he objec hey moni o . In addi ion, we ha e he SimOb obse e , which s o es he simula ion un pa ame e s in oduced by he use (see Sec ion 6.1). The aim o Wo kloadOb obse e s is o moni o pe o mance p ope ies o wo kloads. The idea is o associa e one obse e o his ype o each wo kload. 20 I s a ibu es a e used o measu e he a e age h oughpu ( houghpu A ), esponse ime ( espTimeA ) and jobs (jobsA ) o he associa ed wo kload. I also con ains h ee sequences ( h T ace, espTT ace and jobsT ace) ha s o e he aces wi h he alues o h oughpu , esponse ime and jobs a e age, espec i ely, a di e en imes o he simula ion. Se e Ob obse e s moni o se e s. They s o e he a e age queue leng h in hei a ibu e leng hQA , and keep he aces in a ibu e leng hQT ace. A ibu e leng hQAcc is used o compu e leng hQA . As explained in [41], he queue leng h o a se e conside s he jobs in he queue and he jobs being se ed. Each se ice eques in he model will ha e a Se iceReques Ob obse e associa ed o i . Conside ing ha a se ice eques is he ela ionship be ween a se e and a wo kload ha eques s i s se ice, he da a moni o ed by his obse e ep esen s he pe o mance ela ionship be ween hem. In his way, when we men ion wo kloads (o jobs belonging o hem) and se e s in he explana ion o he a ibu es, we mean he wo kloads (o jobs) and se e s associa ed o he se ice eques . Se iceReques Ob obse e s ha e se e al a ibu es: •se ed. Numbe o jobs p ocessed by he se e . • imeBusy. Time ha he se e has been busy (p ocessing jobs). •u iliza ion. Pe cen age o he ime ha he se e has been busy. •wai ingTAcc and wai ingTA . Sum and a e age wai ing imes in he queue o he jobs p ocessed by he se e , espec i ely ( he wai ing ime o a job is he ime be ween he a i al o he job o he se e queue un il i s a s being p ocessed). •se iceTAcc and se iceTA . Sum and a e age se ice ime o all jobs p ocessed by he se e . • esidenceTA . A e age esidence ime o all jobs p ocessed by he se e ( he esidence ime o a job is he ime be ween he job en e s he se e queue and lea es he se e ). • h oughpu . Numbe o jobs p ocessed by he se e pe uni o ime. •u ilizT ace, wai T ace, se T ace, esidT ace and h T ace. These a ibu es keep he aces o he co esponding alues h oughou he simula ion. 21 5.2.2. QNMs beha io al model This sec ion in oduces he e-Mo ions ules ha desc ibe he beha io o QNMs. Basically he e is one ule o jobs en e ing he ne wo k (En e Open- WLFnT), one o speci ying how jobs ansi be ween se e s (T ansi JobsnT), and a hi d one o jobs lea ing he ne wo k (Exi OpenWLF). Fo e iciency easons he e a e a ia ions o hese ules when he e is only one se e o which he jobs can ansi o (so no decisions a e o be made). In addi ion, wo ules a e in cha ge o speci ying how he alues o global obse e s a e upda ed. These ules a e b ie ly desc ibed he e. Fo a comple e desc ip ion o all he ules, he in e es ed eade can consul [51]. In any case, he ules a e comple ely anspa en o he xQNM use , hey jus speci y he beha io o he sys em, and allow o simula e i . a) A se o jobs en e he ne wo k. Rule En e OpenWLFnT (Fig. 10(a)) models how OpenWo kload objec s en e he ne wo k, when hey can ansi o mo e han one se e . The ule has in bo h LHS and RHS pa e ns he Open- Wo kload o which he job belongs (owl), he Se e o which he job ansi s o (se e ), he Se iceReques ha ela es bo h o hem (s ), and he Sou ce node a which jobs belonging o he OpenWo kload en e (s). The e a e also he ela ionships be ween hese objec s (wld,a i esA ,s and connec edTo). The des ina ion se e is de e mined by a iable pos and he OCL condi- ion in he LHS. I uses he ansi ion p obabili ies. A new job en e ing he sys em is modeled by he addi ion o a new iden i ie o he wklds sequence o he TSe iceReques , and he addi ion o he cu en ime elapse o he S and aS sequences. Va iable du a ion speci ies he du a ion o he ule: in his example i ollows a Poisson dis ibu ion (see he a iable du a ion decla a ion in he op le co ne o he ule). The e is also a simila ule o OpenWo kloads whose jobs always ansi o he same Se e when hey en e he Sou ce node. Tha ule, called En- e OpenWLF1T [51], is a simpli ied e sion o he En e OpenWLFnT ule ha we ha e de eloped o pe o mance easons (because no OCL exp essions o condi ions need o be compu ed in his case). b) T ansi ion o jobs be ween se e s. Rule T ansi JobsnT (Fig. 11) models he ansi ion o jobs be ween se e s (and also om a Se e o a Node o ype SinkNode). Jobs can belong o ei he OpenWo kloads o ClosedWo kloads, so his ule is used o bo h. The LHS o ule T ansi JobsnT con ains all he objec s needed o his 22 (a) En e OpenWLFnT ule (b) Exi OpenWLF Rule Figu e 10: Rules o packe s en y and lea ing. ule o be igge ed: he sou ce Se e (s), he a ge Node (n, which is ei he aSe e o a SinkNode), he Wo kload (wl) o which jobs belong, he TSe - iceReques s associa ed o he men ioned elemen s (s S and s T), and he Ob- se e s (s SOb and sOb) whose a ibu es a e o be upda ed in he RHS o he ule. The h ee sequences ep esen ing he jobs in he sou ce TSe iceReques (s S) a e also upda ed in he RHS by elimina ing he co esponding jobs and adding hem o he sequences o he a ge TSe iceReques (s T). The a ibu es o he wo obse e s a e also upda ed. c) Jobs lea e he ne wo k. Rule Exi OpenWLF (Fig. 10(b)) models how jobs lea e he ne wo k. Consequen ly, i is applied only o e OpenWo kloads. When he TSe iceReques (s ) con ains jobs, his ule is i ed and he co - esponding a ibu es in he OpenWo kload (owl) and he obse e associa ed 23 Figu e 11: T ansi JobsnT ule o i (wlOb) a e upda ed. The jobs p esen in he TSe iceReques (s ) a e dele ed, modeling ha hey ha e le he ne wo k. This ule upda es he a ibu es o he obse e s, namely h T ace,Re- spTT ace and jobsT ace, e e y ime a job lea es he sys em. The new alues co espond o he calcula ed h oughpu , mean esponse ime and jobs a e - age, which a e appended o he sequences wi h he aces. Simila o ule Exi OpenWLF, ano he ule is in cha ge o upda ing he a ibu es o obse e s associa ed o ClosedWo kloads. The a ibu es a e he same, apa om he one o he a e age numbe o jobs, which is no longe necessa y. Finally, ano he ule, Upda eT aces (no shown he e o b e i y), is de ined o upda e he a ibu es o aces in he o he obse e s. They a e upda ed ei he when jobs lea e he sys em (in OpenWo kloads) o when jobs a i e a he cen alS ( o ClosedWo kloads). I is impo an o ecall ha use s do no need o w i e hese ules, 24 hey ha e been de ined once and apply o all QNMs. In ac , hey can be seen as p o iding a beha io al seman ics o QNMs by explici ly speci ying he beha io o QNMs in a language wi h well-de ined seman ics [52]. In addi ion, hey a e all au oma ically con igu ed and gene a ed acco ding o he ype o ne wo k de ined by he use , and o he p obabili y dis ibu ions used. 5.2.3. Gene a ing he beha io al ules Once he use inse s a model wi hin he xQNM ool ei he by d awing i wi h he g aphical in e ace o by impo ing i , i is au oma ically ansla ed o i s s uc u al and beha io al models. This is done by he ATL ans o - ma ion shown in Fig. 5 om o al 2 o o als 4 and 5. The ans o ma ion has wo main pa s, he gene a ion o he s uc u al model and he gene a ion o he beha io al model. Fo he o me , he ans o ma ion akes he ePMIF model con o ming o he ePMIF me amodel and ans o ms i in o an mo e compac ep esen a ion o ePMIF ha we use in e nally wi h e-Mo ions. Al hough he i s e sion o xQNM used ePMIF di ec ly, we ealized ha o pe o mance easons we could op imize his ep esen a ion o make i mo e compac and e icien . This was e y impo an o conduc ing he simula ions. Such new ep esen a ion is in e nal o ou ool and anspa en o use s, who s ill use ePMIF models o desc ibe hei QNM models. Tha me amodel and he changes wi h espec o ePMIF a e desc ibed in de ail in [51]. Fo gene a ing he beha io al model, he ans o ma ion iden i ies he ype o queuing ne wo k used (open o closed) and selec s he app op ia e ules among he ones p esen ed in Sec ion 5.2.2, which a e a ailable in a eposi o y. Those ules, as well as he ePMIF model a e he inpu pa ame e s o he ATL ans o ma ion. The ans o ma ion also adjus s some ea u es o he ules acco ding o he p obabili y dis ibu ions used in he model, which is e lec ed in he ules du a ion, o he pe o mance me ics ha he use wan s o moni o . Rega ding he la e , only hose me ics a e il e ed by he ATL ans o ma ion and appea as objec s a ibu es in he inal ules (Figu e 12 shows how such pa ame e s a e speci ied by he use ). I means ha simula ions whe e less pa ame e s a e o be moni o ed a e as e . 25 Table 3: Analysis compa ison. RP: Rou ing P obabili ies, NV: Numbe o Visi s Tool U iliza ion Th oughpu Wai T. Se T. Res T. Queue L. PDQ (RP) 0.09 03.0 0.003 0.03 0.0330 0.099 PDQ (NV) 0.72 24.0 0.056 0.03 0.0857 2.571 PEPSY (RP) 0.72 24.0 0.077 0.03 0.107 1.851 PEPSY (NV) 0.72 24.0 0.077 0.03 0.107 1.851 JMT (RP) 0.69 23.4 0.158 0.03 0.187 2.597 xQNM (RP) 0.72 23.8 0.076 0.03 0.106 2.869 Theo e ical 0.72 24.0 0.077 0.03 0.107 2.571 Rega ding he ime ha hese packages and ools ake o ge he pe - o mance me ics, analy ical me hods a e o cou se much as e han simu- la ions. Fo example, QNAP2, PDQ, SHARPE, qne wo ks o MQNA ake less han a ew seconds o ob ain he esul s. On he con a y, RESQME, PEPSY-QNS and WinPEPSY-QNS may ake om some minu es up o se - e al hou s o ob ain he esul s, depending on he complexi y o he inpu model. Ou ool also uses simula ion, and hus i may ake om a ew seconds o se e al hou s depending on he size o he model. 6.3. Analysis compa ison among ools Once we ha e shown simula ion and analysis ea u es o some ools, in his sec ion we un ou case s udy in some o hem o see he di e ences be ween hem and ou ool. The queuing ne wo k model is ha o Figu e 1(a). In his analysis compa ison, we a e going o ocus on he pe o mance measu es ob ained o DISK B. Fo he analysis compa ison, we ha e used WEASEL [28] and JMT [20]. WEASEL is based on PMIF and, consequen ly, he a ailable elemen s o be d awn and he con igu a ion pa ame e s o hose elemen s a e e y simila o hose in xQNM. On he o he hand, JMT is much mo e powe ul in e ms o a ailable elemen s and con igu a ion pa ame e s; i o e s he possibili y o include in he model many elemen s no speci ied in PMIF: o ks, joins, de- lays, ou ing s a ions, e c. The con igu a ion pa ame e s o he elemen s a e also much la ge : di e en load s a egies o se e s, many ou ing s a e- gies a ailable, e c. Since we a e only dealing wi h he PMIF capabili ies, we only use a small subse o JMT. The esul s o each ool un a e shown in Table 3. The e e ences used o compa e he esul s o he di e en uns o check hei accu acy we e he heo e ical esul s a ailable in Jain’s book [41]. 32 In he able, RP s ands o ou ing p obabili ies and NV o numbe o isi s. These co espond wi h he ou ing c i e ia ollowed in he uns. The PDQ Analyze , execu ed by means o WEASEL, does no accep ou ing p obabili ies. Thus, when we un he expe imen wi h ou ing p obabili ies (because i is possible o de ine ou ing p obabili ies wi h he g aphical use in e ace o WEASEL, independen ly o he ool used a e wa ds o sol e he models), he esul s we e e oneous. This is because i only conside s numbe o isi s, so i conside ed ha he numbe o isi s in e e y se e was 1. We hen changed he c i e ia o numbe o isi s, and he esul s we e all he same as he e e ence apa om he wai ing and esidence imes, which signi ican ly di e ed. WEASEL o e s he possibili y o sol e he models wi h PDQ using exac solu ions, app oxima e solu ions and canonical solu ions. Ou expe imen was un wi h he canonical solu ion because he o he wo do no accep open ne wo ks. The esul s wi h PEPSY-QNS [61] we e also ob ained by means o WEASEL. PEPSY-QNS o e s di e en sol ing me hods in WEASEL, and we used sopenp n. We un he expe imen wi h bo h numbe o isi s and ou ing p obabili ies and hey we e he same, so his ool is capable o dealing wi h bo h. All he measu es ob ained wi h his ool coincided wi h he e e ence excep o he queue leng h, which was smalle . In WEASEL, i is no possible o speci y he pe o mance me ics o be moni o ed. JMT accep s p obabili ies as ou ing s a egy, apa om an- dom, ound obin, join he sho es queue, sho es R ime, leas u iliza ion and as es se ice. The ou pu p esen ed by he JMT ool is e y in ui i e, comple e and easily eadable. I o e s s a is ics, including a cha , o each me ic o each se e . Fu he mo e, he use can speci y which me ics he/she wan s o moni o o which se e . The penul ima e ow o he able con ains he esul s ob ained wi h xQNM. The accu acy o he esul s is e y good, which shows ha he be- ha io al model ha de ines o QNM is ai h ul and accu a e. 6.4. Conside ing ailu es Once we ha e modeled he beha io o QNMs and a e able o analyze hei pe o mance me ics, we a e in e es ed in ex ending hei beha io in o de o conside mo e ealis ic si ua ions. In his ega d, we wan o ake in o accoun ailu es and epai s in ne wo ks’ se e s, as hey happen in eal li e. Thus, a e s a ing all he se e s ope a i e, hey can ail a some poin and be inac i e o a while be o e hey a e epai ed and back o se ice. We 33 (a) New Se e class (b) Failu e ule (c) Se e in T ansi JobsnT’s LHS (d) Repai ule Figu e 15: Ex ensions o conside ing ailu es. ha e o conside imes o ailu e and imes o epai . These a e no mally modeled wi h exponen ial dis ibu ions [32], so ha analy ical calcula ions a e possible. Howe e , since we can include many p obabilis ic dis ibu ions o model his beha io , he modele can choose any o hem. In o de o ex end he beha io o ou DSL o modeling and analyzing QNMs wi h ailu es, we simply need o do wo hings: ex end he ePMIF me amodel and add a couple o e y simple beha io al ules. Only he Se e class needs o be ex ended in o de o include a es o ailu es and epai s in se e s (Fig. 15(a)). The new a ibu e ac i e is ue whene e he se e is ope a ing, and alse when i is no . A ibu es ailu eDis and epai Dis dic a e he dis ibu ion ollowed by he ime ailu es and epai s happen, espec i ely, while a ibu es ailu ePa ams and epai Pa ams con ain he pa- 34 ame e s o such dis ibu ions. Rule Failu e (Fig. 15(b)) models he ailu e o a se e . I is he only ule ha needs o be added o modeling such ailu es. In his case, he dis ibu ion ollowed by he ime o ailu e is Gamma. I can ollow any dis ibu ion in he P obDis ibu ions enume a ion ype (Fig. 4). In he ule’s RHS he ac i e a ibu e is u ned o alse, modeling he inac i i y o he se e . A sligh modi ica ion needs o be ca ied ou in he LHS o ule T ansi JobsnT (Fig. 11) o launch i only i he se e sis ac i e (Fig. 15(c)). A simila ule is included o epai ing a se e , which akes a se e which is inac i e and ac i a es i . Such ule is shown in Fig. 15(d), whe e i conside s a epai a e ha ollows an Exponen ial dis ibu ion. We ha e included hese modi ica ions and ha e ca ied ou some expe - imen s. We ha e made he imes o ailu e and epai ollow exponen ial dis ibu ions wi h a es 10 and 5, espec i ely. In gene al, jobs ake longe in being p ocessed and lea ing he sys em, since hey may need o wai in queues whose se e is inac i e, and ha e o wai un il i is epai ed. Fu - he mo e, o he same a i al and se ices imes o ou case s udy [41, page 572], he ne wo k does no sa is y Li le’s Law anymo e, so analy ical calcu- la ion becomes e y ha d and complex. The eason is ha his example was c ea ed so ha Li le’s Law was sa is ied o he a i al and se ice imes es ablished, and conside ing ha se e s ne e ail. This is, he numbe o incoming and ou going jobs pe ime uni ( h oughpu ) wi h he se e s be- ing ac i e all he ime was he same, 3, once he s eady s a e was eached. Howe e , since Li le’s Law is no longe sa is ied in his example when se e ailu es a e aken in o accoun , no s eady s a e is eached, and he pe o - mance measu es o ou ne wo k depend now on he numbe o incoming jobs. Simula ion becomes c ucial in his case. Thus, we ha e ca ied ou an expe imen whe e 100 jobs en e (and lea e a e being p ocessed) he ne - wo k, and ha e checked ha he pe o mance measu es signi ican ly change, e en o such a small numbe o jobs. The h oughpu alue is now 2.22, and i will dec ease as he numbe o incoming jobs inc eases due o con en ion in queues. The heo e ical esponse ime o he ne wo k wi hou ailu es is 1.41, while he new esponse ime conside ing ailu es is 2.33. Al hough in he example we ha e conside ed he same ailu e and epai a es o e e y se e , each one could ha e been modeled o ha e di e en a es, since e e y se e can ha e i s own cha ac e is ics (as i happens in eali y). Simila ly, di e en p obabilis ic dis ibu ions can be used and mo e ealis ic alues o ailu e and epai imes could also be se . This lexibili y 35 is one o he bene i s ha can be ob ained by he use o app op ia e DSLs o modeling complex sys ems. 7. Conclusions and Fu u e Wo k In his pape we ha e su eyed se e al ools o analyzing QNMs. We ha e shown how QNMs can be in e p e ed in ano he modeling domain, in his case he one p o ided by e-Mo ions o speci ying and simula ing eal- ime sys ems. Ha ing a ep esen a ion o QN models in ha domain has allowed he easy de ini ion o a DSL o he speci ica ion and simula ion o gene al QNMs, and he use o he ools a ailable in ha domain. In pa icula , ou p oposal has p o ided se e al in e es ing ad an ages and esul s. Fi s , a gene ic beha io al model o QNMs has been de ined by means o six e-Mo ions ules. They p o ide a beha io al seman ics o QNMs, ex- p essed in a high-le el language wi h p ecise seman ics and execu ion acili- ies. Such beha io al model has been easily ex ended wi h wo mo e ules in o de o model ailu es and epai s in se e s, which allows o analyze mo e ealis ic si ua ions. This also shows how simple and lexible he beha io al model o he QNM can be changed when i is de ined by means o a DSL, inco po a ing new ea u es by simply adjus ing some high-le el ules. Second, we ha e ob ained a p o o ype ool ha allows o d aw QNMs, au oma ically ansla e hem o hei beha io al ep esen a ion and inally simula e hem. Models can be depic ed g aphically in xQNM, and hey can be expo ed o PMIF 2 and ePMIF models. PMIF 2 models can also be impo ed o ou ool in o de o simula e hem o o ep esen hem g aphi- cally. The ool, oge he wi h a se o examples, is a ailable om [62]. The use o MDE echniques has enabled a modula a chi ec u e, which can be easily main ained and ex ended in u u e e sions, since each o i s pa s can be independen ly imp o ed. We ha e also shown how he exis ing de- ac o s anda d me amodel o QNM ep esen a ion and in e change can be inco - po a ed in o he MDE domain, and easily ex ended o ake in o conside a ion mo e powe ul and lexible possibili ies and sys em p ope ies. As u u e wo k, some new ea u es could be added in new e sions o xQNM. Fo example, i could e u n, as esul , no he a e age o he di - e en simula ions, bu a mix u e o p obabili y dis ibu ions (in case he beha io o he sys em is composed o se e al independen beha io s). We also plan on au oma ically dis ibu ing he simula ions ac oss se e al ma- chines, by means o a concu en and dis ibu ed solu ion ha would use a 36 ask a m app oach [63], so ha esul s would be collec ed as e . We a e also conside ing o ex end he beha io o ou gene ic beha io al model o QNMs. Fo example, since we now ake ailu es in se e s in o accoun , we could include some ules o e-adap ing he ne wo k when jobs a e wai ing in queues whose se e is inac i e. Acknowledgemen s. This wo k has been suppo ed by Spanish Re- sea ch P ojec TIN2011-23795. Re e ences [1] P. J. Denning, J. P. Buzen, The Ope a ional Analysis o Queueing Ne - wo k Models, ACM Compu . Su . 10 (1978) 225–261. [2] Smi h, Connie U. and Llad´o, Ca alina M. and Puigjane , Ramon, Pe o - mance Model In e change Fo ma (PMIF 2): A comp ehensi e app oach o Queueing Ne wo k Model in e ope abili y, Pe o mance E alua ion 67 (7) (2010) 548–568. [3] T. S ahl, M. V¨ol e , Model-D i en So wa e De elopmen : Technology, Enginee ing, Managemen , Wiley, 2006. [4] Eclipse, G aphical Modeling F amewo k, h p://www.eclipse.o g/ modeling/gm (2008). [5] D. Dju ic, D. Gase ic, S. F ase , V. De edzic, The ao o modeling spaces, Jou nal o Objec Technology 5 (2006) 125–147. [6] J. E. Ri e a, F. Du ´an, A. Vallecillo, A G aphical App oach o Modeling Time-Dependen Beha io o DSLs, in: P oc. o VL/HCC’09, 2009. [7] A enea, The e-Mo ions ool, h p://a enea.lcc.uma.es/E-mo ions (2009). [8] E. D. Lazowska, J. Zaho jan, G. S. G aham, K. C. Se cik, Quan i a- i e Sys em Pe o mance: Compu e Sys em Analysis Using Queueing Ne wo k Models, P en ice-Hall, Inc., 1984. [9] M. Ve an, D. Po ie , QNAP2: A po able en i onmen o queueing sys em modelling, in: D. Po ie (Ed.), P oc. o he In e na ional Con- e ence on Modelling Techniques and Tools o Pe o mance Analysis, 2004, pp. 5–24. 37 [10] N. J. Gun he , Analyzing Compu e Sys em Pe o mance wi h Pe l::PDQ, Sp inge , 2005. [11] LS Compu e Technology Inc., SPE·ED, h p://www.spe-ed.com (2010). [12] K. C. Chang, R. F. Go don, P. G. Loewne , E. A. MacNai , The Re- sea ch Queuing Package Modeling En i onmen (RESQME), in: P oc. o he 25 h con e ence on Win e simula ion (WSC’93), ACM, 1993, pp. 294–302. [13] BGS Sys ems, BEST/1 P oduc Desc ip ion, BE77-010-2 (Jan. 1977). [14] H. Schwe man, CSIM: a C-based p ocess-o ien ed simula ion language, in: P oc. o he 18 h con e ence on Win e simula ion (WSC’86), ACM, 1986, pp. 387–396. [15] E. de Souza e Sil a, R. Leo, The TANGRAM-II En i onmen , in: Com- pu e Pe o mance E alua ion. Modelling Techniques and Tools, Vol. 1786 o LNCS, Sp inge , 2000, pp. 366–369. [16] C. Hi el, R. A. Sahne , X. Zang, K. S. T i edi, Reliabili y and Pe - o mabili y Modeling Using SHARPE 2000, in: P oc. o he 11 h In e - na ional Con e ence on Compu e Pe o mance E alua ion: Modelling Techniques and Tools, TOOLS’00, Sp inge , London, UK, 2000, pp. 345–349. [17] T. Field, JINQS: An Ex ensible Lib a y o Simula ing Mul iclass Queuing Ne wo ks V1.0 Use Guide, www.doc.ic.ac.uk/~aj /Resea ch/ manual.pd (oc obe 2010). [18] T.-C. Ho ng, N. Anas asiou, T. Field, W. Kno enbel , LocT ackJINQS: An Ex ensible Loca ion-awa e Simula ion Tool o Mul iclass Queueing Ne wo ks, Elec onic No es in Theo e ical Compu e Science 275 (2011) 93 – 104. [19] M. Ma zolla, The qne wo ks Toolbox: A So wa e Package o Queueing Ne wo ks Analysis, in: P oc. o Analy ical and S ochas ic Modeling Techniques and Applica ions (ASMTA’10), Vol. 6148 o LNCS, Sp inge , 2010, pp. 102–116. 38 [20] M. Be oli, G. Casale, G. Se azzi, JMT: pe o mance enginee ing ools o sys em modeling, SIGMETRICS Pe o m. E al. Re . 36 (4) (2009) 10–15. [21] M. Hlynka, Lis o Queueing Theo y So wa e, h p://web2.uwindso . ca/ma h/hlynka/qso .h ml (2011). [22] R. A. Sahne , K. S. T i edi, Reliabili y Modeling Using SHARPE, IEEE T ansac ions on Reliabili y R-36 (2) (1987) 186–193. [23] A. Feldmann, W. Whi , Fi ing mix u es o exponen ials o long- ail dis ibu ions o analyze ne wo k pe o mance models, in: P oc. o IN- FOCOM’97, Vol. 3, 1997, pp. 1096–1104. [24] Smi h, Connie U. and Llad´o, Ca alina M., Pe o mance Model In e - change Fo ma (PMIF 2.0): XML De ini ion and Implemen a ion, in: P oc. o he Fi s In e na ional Con e ence on Quan i a i e E alua ion o Sys ems, 2004, pp. 38–47. [25] D. Ga c´ıa, C. M. Llad´o, C. U. Smi h, R. Puigjane , Pe o mance Model In e change Fo ma : Seman ic Valida ion, in: P oc. o ICSEA’06, 2006, pp. 47–52. [26] C. U. Smi h, L. G. Williams, A pe o mance model in e change o ma , Jou nal o Sys ems and So wa e 49 (1) (1999) 63–80. [27] P. W¨uchne , H. de Mee , J. Ba ne , G. Bolch, A b ie in oduc ion o MOSEL-2, in: P oc. o he 13 h GI/ITG Con e ence on Measu ing, Modelling and E alua ion o Compu e and Communica ion Sys ems, MMB, VDE Ve lag, N¨u nbe g, Ge many, 2006, pp. 469–472. [28] SEALAB Quali y G oup, WEASEL, h p://sealab ools.di.uni aq. i / oolWeasel.php (2012). [29] D. Gianni, A. D’Amb ogio, A language o enable dis ibu ed simula ion o ex ended queueing ne wo ks, Jou nal o Compu e s 2 (4) (2007) 76– 86. [30] O. Das, C. Mu ay Woodside, The aul - ole an laye ed queueing ne - wo k model o pe o mabili y o dis ibu ed sys ems, in: Compu e Pe - o mance and Dependabili y Symposium, 1998. IPDS ’98. P oceedings. IEEE In e na ional, 1998, pp. 132 –141. 39 [31] T. Al iok, Pe o mance Analysis o Manu ac u ing Sys ems, Sp inge , 1997. [32] S. Kuma , P. Kuma , Pe o mance bounds o queueing ne wo ks and scheduling policies, Au oma ic Con ol, IEEE T ansac ions on 39 (8) (1994) 1600 –1611. [33] M. K. Go il, M. C. Fu, Queueing heo y in manu ac u ing: A su ey, Jou nal o Manu ac u ing Sys ems 18 (3) (1999) 214 – 240. [34] J. Keilsen, Queues Subjec o Se ice In e up ions, Annals o Ma he- ma ical S a is ics 33 (1962) 1314–1322. [35] A. Fede g uen, L. G een, Queueing sys ems wi h se ice in e up ions, Ope . Res. 34 (5) (1986) 752–768. [36] T. Al iok, Queueing Models o a Single P ocesso wi h Failu es, Pe o - mance E alua ion 9 (1989) 93–102. [37] C. U. Smi h, Pe o mance enginee ing o so wa e sys ems, Addison- Wesley, 1990. [38] C. Smi h, C. Llado, Pe o mance model in e change o ma (pmi 2.0): XML de ini ion and implemen a ion, www.pe eng.com/pape ndx.h m (Ap . 2004). [39] J. Rossell´o, C. M. Llad´o, R. Puigjane , C. U. Smi h, A web se ice o sol ing queuing ne wo k models using PMIF, in: P oc. o WOSP’05, ACM, 2005, pp. 187–192. [40] F. Budinsky, E. Me ks, D. S einbe g, EMF: Eclipse Modeling F ame- wo k (2nd Edi ion), Addison-Wesley Longman, Ams e dam, 2006. [41] R. Jain, The A o Compu e Sys ems Pe o mance Analysis: ech- niques o expe imen al design, measu emen , simula ion, and modeling, Wiley, 1991. [42] R. G onback, In oduc ion o he Eclipse G aphical Modeling F ame- wo k, in: P oc. o EclipseCon’06, 2006. 40 [43] K. Cza necki, S. Helsen, Classi ica ion o Model T ans o ma ion Ap- p oaches, in: OOPSLA’03 Wo kshop on Gene a i e Techniques in he Con ex o MDA, 2003. [44] J. E. Ri e a, A. Vallecillo, F. Du ´an, Fo mal Speci ica ion and Analysis o Domain Speci ic Languages using Maude, Simula ion: T ansac ions o he Socie y o Modeling and Simula ion In e na ional 85 (11/12) (2009) 778–792. [45] J. de La a, H. Vangheluwe, T ansla ing Model Simula o s o Analysis Models, in: P oc. o FASE’08, no. 4961 in LNCS, Sp inge , 2008, pp. 77–92. [46] G. Rozenbe g (Ed.), Handbook o G aph G amma s and Compu ing by G aph T ans o ma ions, Volume 1: Founda ions, Wo ld Scien i ic, 1997. [47] OMG, Objec Cons ain Language (OCL) Speci ica ion. Ve sion 2.2, Objec Managemen G oup, documen o mal/2010-02-01 (Feb. 2010). [48] M. Cla el, F. Du ´an, S. Eke , P. Lincoln, N. Ma ´ı-Olie , J. Mesegue , C. Talco , All Abou Maude – A High-Pe o mance Logical F amewo k, Vol. 4350 o LNCS, Sp inge , Heidelbe g, Ge many, 2007. [49] J. T oya, J. E. Ri e a, A. Vallecillo, Simula ing Domain Speci ic Visual Models by Obse a ion, in: P oc. o he 2010 Sp ing Simula ion Mul i- con e ence, Sp ingSim’10, ACM, New Yo k, NY, 2010, pp. 128:1–8. [50] J. T oya, A. Vallecillo, F. Du ´an, S. Zschale , Model-d i en pe o mance analysis o ule-based domain speci ic isual models, In o ma ion and So wa e Technology 55 (1) (2013) 88–110. [51] J. T oya, A. Vallecillo, Beha io al App oach o QNMs, h p://a enea. lcc.uma.es/index.php/Main_Page/Resou ces/E-mo ions/QNMs (2011). [52] J. E. Ri e a, F. Du ´an, A. Vallecillo, On he beha io al seman ics o eal- ime domain speci ic isual languages, in: P oc. WRLA’10, Vol. 6381 o LNCS, Sp inge , 2010, pp. 174–190. [53] G. Fishman, S a is ical analysis o queuing simula ions, Managemen Science 3 (20) (1973) 363–369. 41