A generic framework for representing and analyzing model concurrency

被引:2
作者
Zschaler, Steffen [1 ]
Bousse, Erwan [2 ]
Deantoni, Julien [3 ]
Combemale, Benoit [4 ]
机构
[1] Kings Coll London, Dept Informat, Bush House,30 Aldwych, London, England
[2] Univ Nantes, 2 Chemin Houssiniere, F-92208 Nantes, France
[3] Univ Cote Azur, Sophia Antipolis, France
[4] Univ Rennes, Rennes, France
关键词
Language engineering; Model execution; Model concurrency; Simulation; Concurrent analyses/debugging; LANGUAGE; SPECIFICATION;
D O I
10.1007/s10270-022-01073-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Recent results in language engineering simplify the development of tool-supported executable domain-specific modeling languages (xDSMLs), including editing (e.g., completion and error checking) and execution analysis tools (e.g., debugging, monitoring and live modeling). However, such frameworks are currently limited to sequential execution traces and cannot handle execution traces resulting from an execution semantics with a concurrency model supporting parallelism or interleaving. This prevents the development of concurrency analysis tools, like debuggers supporting the exploration of model executions resulting from different interleavings. In this paper, we present a generic framework to integrate execution semantics with either implicit or explicit concurrency models, to explore the possible execution traces of conforming models, and to define strategies for helping in the exploration of the possible executions. This framework is complemented with a protocol to interact with the resulting executions and hence to build advanced concurrency analysis tools. The approach has been implemented within the GEMOC Studio. We demonstrate how to integrate two representative concurrent meta-programming approaches (MoCCML/Java and Henshin), which use different paradigms and underlying foundations to define an xDSML's concurrency model. We also demonstrate the ability to define an advanced concurrent omniscient debugger with the proposed protocol. The paper, thus, contributes key abstractions and an associated protocol for integrating concurrent meta-programming approaches in a language workbench, and dynamically exploring the possible executions of a model in the modeling workbench.
引用
收藏
页码:1319 / 1340
页数:22
相关论文
共 52 条
[11]  
Cook S., 2007, DOMAIN SPECIFIC DEV, V1st
[12]  
Cordy J. R., 1988, Proceedings 1988 International Conference on Computer Languages (IEEE Cat. No.88CH2647-6), P280, DOI 10.1109/ICCL.1988.13075
[13]  
Corley J.A., 2016, THESIS U ALABAMA LIB
[14]  
Corradini A., 2000, P WORKSH GRAPH TRANS
[15]  
DeAntoni J., 2014, RR8628 INRIA
[16]  
DeAntoni J., 2014, RR8584 INRIA
[17]  
Deantoni J, 2015, DES AUT TEST EUROPE, P313
[18]  
Dotan Dolev., 2007, OOPSLA 07 COMPANION, P838, DOI DOI 10.1145/1297846.1297915
[19]   CONCURRIT: A Domain Specific Language for Reproducing Concurrency Bugs [J].
Elmas, Tayfun ;
Burnim, Jacob ;
Necula, George ;
Sen, Koushik .
ACM SIGPLAN NOTICES, 2013, 48 (06) :153-164
[20]   Evaluating and comparing language workbenches Existing results and benchmarks for the future [J].
Erdweg, Sebastian ;
van der Storm, Tijs ;
Voelter, Markus ;
Tratt, Laurence ;
Bosman, Remi ;
Cook, William R. ;
Gerritsen, Albert ;
Hulshout, Angelo ;
Kelly, Steven ;
Loh, Alex ;
Konat, Gabriel ;
Molina, Pedro J. ;
Palatnik, Martin ;
Pohjonen, Risto ;
Schindler, Eugen ;
Schindler, Klemens ;
Solmi, Riccardo ;
Vergu, Vlad ;
Visser, Eelco ;
van der Vlist, Kevin ;
Wachsmuth, Guido ;
van der Woning, Jimi .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2015, 44 :24-47