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 条
[1]  
André C, 2007, LECT NOTES COMPUT SC, V4735, P559
[2]  
André C, 2010, SYNTHESIS OF EMBEDDED SOFTWARE: FRAMEWORKS AND METHODOLOGIES FOR CORRECTNESS BY CONSTRUCTION, P201, DOI 10.1007/978-1-4419-6400-7_7
[3]  
[Anonymous], 1988, Ettelaat, P14
[4]  
[Anonymous], 2009, Research Report RR-6925
[5]  
Arendt T, 2010, LECT NOTES COMPUT SC, V6394, P121
[6]   Unfolding semantics of graph transformation [J].
Baldan, Paolo ;
Corradini, Andrea ;
Montanari, Ugo ;
Ribeiro, Leila .
INFORMATION AND COMPUTATION, 2007, 205 (05) :733-782
[7]  
Bousse E., 2015, P 2015 ACM SIGPLAN I, P137
[8]   Omniscient debugging for executable DSLs [J].
Bousse, Erwan ;
Leroy, Dorian ;
Combemale, Benoit ;
Wimmer, Manuel ;
Baudry, Benoit .
JOURNAL OF SYSTEMS AND SOFTWARE, 2018, 137 :261-288
[9]   Execution Framework of the GEMOC Studio (Tool Demo) [J].
Bousse, Erwan ;
Degueule, Thomas ;
Vojtisek, Didier ;
Mayerhofer, Tanja ;
Deantoni, Julien ;
Combemale, Benoit .
PROCEEDINGS OF THE 2016 ACM SIGPLAN INTERNATIONAL CONFERENCE ON SOFTWARE LANGUAGE ENGINEERING (SLE'16), 2016, :84-89
[10]  
Combemale B, 2013, LECT NOTES COMPUT SC, V8225, P365, DOI 10.1007/978-3-319-02654-1_20