Systematic Use of Models of Concurrency in Executable Domain-Specific Modeling Languages Florent Latombe
Total Page:16
File Type:pdf, Size:1020Kb
Systematic use of Models of Concurrency in eXecutable Domain-Specific Modeling Languages Florent Latombe To cite this version: Florent Latombe. Systematic use of Models of Concurrency in eXecutable Domain-Specific Modeling Languages. Software Engineering [cs.SE]. Université de Toulouse - Institut National Polytechnique de Toulouse (INPT), 2016. English. tel-01369451 HAL Id: tel-01369451 https://hal.inria.fr/tel-01369451 Submitted on 21 Sep 2016 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. THÈSETHÈSE En vue de l’obtention du DOCTORAT DE L’UNIVERSITÉ DE TOULOUSE Délivré par : l’Institut National Polytechnique de Toulouse (INP Toulouse) Présentée et soutenue le 13/07/2016 par : Florent LATOMBE Systematic use of Models of Concurrency in eXecutable Domain-Specific Modeling Languages JURY Richard PAIGE Professor Rapporteur Antonio VALLECILLO Professor Rapporteur Frédéric BOULANGER Professeur des Universités Examinateur Julien DE ANTONI Maître de Conférences Examinateur Benoît COMBEMALE Maître de Conférences Invité Xavier CRÉGUT Maître de Conférences Encadrant Marc PANTEL Maître de Conférences Encadrant École doctorale et spécialité : MITT : Domaine STIC : Sureté de logiciel et calcul de haute performance Unité de Recherche : IRIT : Institut de Recherche en Informatique de Toulouse (UMR 5505) Directeur(s) de Thèse : Marc PANTEL, Xavier CRÉGUT et Yamine AÏT-AMEUR Rapporteurs : Richard PAIGE et Antonio VALLECILLO All that is gold does not glier, Not all those flho flander are lost; e old that is strong does not flither, Deep roots are not reached by the frost. From the ashes a re shall be floken, A light from the shadofls shall spring; Renefled shall be blade that flas broken, e croflnless again shall be king. in e Fellowship of the Ring, by J. R. R. Tolkien (1892 – 1973). Acknoflledgements is too short of a section is dedicated to my acknoflledging of all the people flho hafie shared their effiperience, mentorship, friendship, kindness and lofie flith me dffring these past fefl years. I can’t thank enoffgh my sffperfiisors Marc Pantel and Xafiier Crégfft for gifiing me the opportffnity to do a PhD ffnder their gffidance. anks for trffsting me. I also flant to thank all the actifie members of the ANR INS Project GEMOC flhose inffence on this thesis I can nefier come close to qffantify correctly. anks for all the discffssions and adfiices yoff hafie gifien me. I can’t skip ofier thanking all the people I hafie met flhile florking at IRIT ; researchers, secretaries, and fellofl doctoral stffdents alike. I flant to thank the sffperfiisors dffring my stay at the National Institffte of Informatics in Tokyo, Soichiro Hidaka and Zhenjiang Hff. I hafie learned a lot from yoff ofier too short a time. I floffld like to thank my family for sffpporting me and for not making me hafie to effiplain the topic of my PhD too many times. anks to all my friends in Toffloffse and elseflhere for sticking aroffnd. I apologize if I hafie encoffraged any of yoff to start yoffr ofln PhD. Finally, ’anks’ floffld not efien begin to cofier my gratitffde for the sffpport I get at home. Tusen tack! is thesis has been redacted using the TeXstudio editor1. e template used is a modication of Krishna Kumar’s thesis template for the Cambridge University Engineering Department2. 1http://flflfl.teffistffdio.org/ 2https://githffb.com/kks32/phd-thesis-template Abstract e compleffiity of modern soflares and systems, like the Internet of ings or Cyber- Physical Systems, has been increasing regfflarly since the birth of compffting. ey inte- grate many featffres, possibly relying on a fiariety of netflorks or other systems; comply to dierent norms, inclffding secffrity and safety standards; all the flhile reacting in a timely manner. eir design and defielopment is costly, both in the reqffired engineering eort, and possibly also in terms of their rafl physical parts. eir ffpdating and maintenance processes are also compleffi to handle. To ease these actifiities, researchers in soflare en- gineering hafie proposed nefl defielopment paradigms. In this conteffit, Language-Oriented Programming (LOP) proposes to make langffages rst-class citizens in the soflare en- gineering actifiities. LOP adfiocates ffsing mffltiple Domain-Specic Langffages (DSLs), each specialized for a particfflar problem domain. Since modern systems are ffsffally de- signed by domain effiperts, the ffse of Domain-Specic Modeling Langffages (DSMLs) is gaining traction, becaffse their abstractions are designed to be intffitifie for the end ffsers, i.e., the domain effiperts. is has led to the defielopment of a nefl discipline called Soware Language Engineering, flhich stffdies the design, implementation and tooling of Domain- Specic (Modeling) Langffages. To facilitate the early fierication and fialidation actifiities of these systems, DSMLs can be made eXecfftable (ffiDSMLs). In the conteffit of Model- Drifien Engineering (MDE), the design of ffiDSMLs has led to the defielopment of sefieral “Effiecfftable Metamodeling” approaches, flhere models are effiecfftable according to an effi- ecfftion semantics dened at the metamodel (abstract syntaffi) lefiel. Modern soflares and systems are also increasingly concffrrent, to accommodate for their increasing scale in ffsers, featffres, and ofierall importance in offr societies. To en- sffre an adeqffate behafiior, notably in terms of their interfacing flith ffsers or flith other systems, or simply in terms of performance, their effiecfftion enfiironments profiide more and more parallel facilities, sffch as GPGPU pipelines, many-core CPUs or FPGAs. To facilitate their deployment on fiarioffs platforms, highly-concffrrent soflares mffst be de- fieloped flithofft prior knoflledge of their effiecfftion platforms, flhile still allofling fffll effiploitation of the afiailable parallel facilities at rffntime. e specication of the concffr- viii rency concerns of modern systems is thffs placed at the heart of the soflare engineering actifiities. eoretical compffter science has stffdied sefieral paradigms for this pffrpose, commonly denominated as Models of Concffrrency (MoCs). MoCs are formalisms flhich are practical for the analytical stffdy of properties relating to concffrrency, sffch as detect- ing deadlocks, starfiation sitffations or lifieness properties of critical parts of a system. Bfft ffsing a MoC is compleffi, since it reqffires both theoretical knoflledge abofft the MoC, prac- tical knoflledge abofft its ffse, and ofierall solid knoflledge of the system being defieloped. Efien if effiplicitly ffsed, it is essentially hard-coded for a specic system, and lile to no gffarantee of its correct ffse is ensffred by the langffage. We bffild ffpon an effiisting ffiDSML design approach, pffblished in the International Con- ference on Soflare Langffage Engineering 2012 [18] and 2013 [19], flhich aempts to bridge the gap betfleen LOP and MoCs, by designing so-called Concurrency-aware xDSMLs. In these langffages, the concffrrency concerns of an ffiDSML are made effiplicit ffsing a dedi- cated formalism based on a MoC. By making these concerns effiplicit at the langffage lefiel, the correct ffse of a MoC for any program conforming to the syntaffi of the langffage is ensffred. ey can be specialized at design time, to implement a particfflar Semanptic Variation Point (SVP) of the langffage, or rened at deployment time, for a specic effie- cfftion platform. Conseqffently, the concffrrency aspects of a system can be analyzed, fiia model-checking tools for instance. In this thesis, fle detail and improfie ffpon the design of concffrrency-aflare ffiDSMLs. We rst focffs on the separation of concerns inside the operational semantics specication. e concffrrency concerns are separated from the data and fffnctional operations aspects of the semantics. Effiecffting a model is done by coordinating the effiecfftion of these tflo concerns. is coordination is specied thanks to a third concern, making effiplicit the com- mffnication betfleen the rst tflo concerns. We stffdy the possible coordinations that can be specied, and hofl they are realized at rffntime. en, fle focffs on the Model of Concffr- rency ffsed in the initial approach: Efient Strffctffres. is formalism is not a good t for all ffiDSMLs, thffs fle propose a recffrsifie denition of concffrrency-aflare ffiDSMLs, enabling the ffse of any concffrrency-aflare ffiDSML as a MoC. is approach profiides a formal def- inition and interface for MoCs, as flell as allofls ffiDSMLs to ffse an adapted langffage for the specication of their concffrrency. Finally, fle step aflay from operational semantics and propose an approach to dene the semantics of concffrrency-aflare ffiDSMLs in a trans- lational manner, based on any prefiioffsly-dened concffrrency-aflare ffiDSML. We detail the adfiantages and draflbacks of ffsing translational semantics instead of operational se- mantics in the conteffit of concffrrency-aflare ffiDSMLs, and propose an approach to catch ffp on some of the effiecfftion facilities profiided by the operational semantics approach. À l’aention des lecteffrs francophones To the French-speaking Readers Conformément à l’Article L121-3 dff Code de l’Édffcation3 ; à la décision dff Conseil Sci- entiqffe de l’Unifiersité Toffloffse III Paffl Sabatier4 ; et affffi directifies de l’École Doctorale 475 Mathématiqffes, Informatiqffe et Télécommffnications de Toffloffse5 ; cee thèse est rédigée en langffage