Code generation for a family of executable modelling notations

被引:10
作者
Prout, Adam [1 ]
Atlee, Joanne M. [1 ]
Day, Nancy A. [1 ]
Shaker, Pourya [1 ]
机构
[1] Univ Waterloo, David R Cheriton Sch Comp Sci, Waterloo, ON N2L 3G1, Canada
关键词
Model-driven engineering; Code generation; SEMANTICS;
D O I
10.1007/s10270-010-0176-6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We are investigating semantically configurable model-driven engineering (MDE). The goal of this work is a modelling environment that supports flexible, configurable modelling notations, in which specifiers can configure the semantics of notations to suit their needs and yet still have access to the types of analysis tools and code generators normally associated with MDE. In this paper, we describe semantically configurable code generation for a family of behavioural modelling notations. The family includes variants of statecharts, process algebras, Petri Nets, and SDL88. The semantics of this family is defined using template semantics, which is a parameterized structured operational semantics in which parameters represent semantic variation points. A specific notation is derived by instantiating the family's template semantics with parameter values that specify semantic choices. We have developed a code-generator generator (CGG) that creates a suitable Java code generator for a subset of derivable modelling notations. Our prototype CGG supports 26 semantics parameters, 89 parameter values, and 7 composition operators. As a result, we are able to produce code generators for a sizable family of modelling notations, though at present the performance of our generated code is about an order of magnitude slower than that produced by commercial-grade generators.
引用
收藏
页码:251 / 272
页数:22
相关论文
共 50 条
[41]   Code Generation for Event-B [J].
Furst, Andreas ;
Hoang, Thai Son ;
Basin, David ;
Desai, Krishnaji ;
Sato, Naoto ;
Miyazaki, Kunihiko .
INTEGRATED FORMAL METHODS, IFM 2014, 2014, 8739 :323-338
[42]   SDL Code Generation for Network Simulators [J].
Brumbulli, Mihal ;
Fischer, Joachim .
SYSTEM ANALYSIS AND MODELING: ABOUT MODELS, SAM 2010, 2011, 6598 :144-155
[43]   Code Generation with the Exemplar Flexibilization Language [J].
Heradio, R. ;
Cerrada, J. A. ;
Lopez, J. C. ;
Coz, J. R. .
ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 238 (02) :25-34
[44]   Code generation for Event-B [J].
Víctor Rivera ;
Néstor Cataño ;
Tim Wahls ;
Camilo Rueda .
International Journal on Software Tools for Technology Transfer, 2017, 19 :31-52
[45]   Towards Device Emulation Code Generation [J].
Heinz, Thomas ;
Wilhelm, Reinhard .
LCTES'09: PROCEEDINGS OF THE 2009 ACM SIGPLAN/SIGBED CONFERENCE ON LANGUAGES, COMPILERS, AND TOOLS FOR EMBEDDED SYSTEMS, 2009, :109-118
[46]   On the generation of code for the solution of differential equations [J].
Lennartsson, A .
MAPLETECH, 1998, 5 (2-3) :95-101
[47]   Parallel Pattern Language Code Generation [J].
Schmitz, Adrian ;
Miller, Julian ;
Burak, Semih ;
Muelner, Matthias S. .
PROCEEDINGS OF THE 15TH INTERNATIONAL WORKSHOP ON PROGRAMMING MODELS AND APPLICATIONS FOR MULTICORES AND MANYCORES, PMAM 2024, 2024, :32-41
[48]   Code generation for Event-B [J].
Rivera, Victor ;
Catano, Nestor ;
Wahls, Tim ;
Rueda, Camilo .
INTERNATIONAL JOURNAL ON SOFTWARE TOOLS FOR TECHNOLOGY TRANSFER, 2017, 19 (01) :31-52
[49]   Towards Device Emulation Code Generation [J].
Heinz, Thomas ;
Wilhelm, Reinhard .
ACM SIGPLAN NOTICES, 2009, 44 (07) :109-118
[50]   Code Generation for Hardware Accelerated AES [J].
Manley, Raymond ;
Magrath, Paul ;
Gregg, David .
21ST IEEE INTERNATIONAL CONFERENCE ON APPLICATION-SPECIFIC SYSTEMS, ARCHITECTURES AND PROCESSORS, 2010,