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 条
[21]   A common metamodel for code generation [J].
Piefel, Michael .
3RD INT CONF ON CYBERNETICS AND INFORMATION TECHNOLOGIES, SYSTEMS, AND APPLICAT/4TH INT CONF ON COMPUTING, COMMUNICATIONS AND CONTROL TECHNOLOGIES, VOL 1, 2006, :118-123
[22]   Integrated Code Generation for Loops [J].
Eriksson, Mattias ;
Kessler, Christoph .
ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS, 2012, 11 (01)
[23]   Optimising code generation with haggies [J].
Reiter, T. .
COMPUTER PHYSICS COMMUNICATIONS, 2010, 181 (07) :1301-1331
[24]   Native Code Generation as a Service [J].
Akbulut, Akhan ;
Catal, Cagatay ;
Karadeniz, Emre ;
Turgut, Emre .
INTERNATIONAL JOURNAL OF SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING, 2019, 29 (02) :263-284
[25]   CODE GENERATION FOR A SYSTOLIC COMPUTER [J].
LENGAUER, C .
SOFTWARE-PRACTICE & EXPERIENCE, 1990, 20 (03) :261-282
[26]   Systematic mapping study of template-based code generation [J].
Syriani, Eugene ;
Luhunu, Lechanceux ;
Sahraoui, Houari .
COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2018, 52 :43-62
[27]   Knight: Optimizing Code Generation for Simulink Models With Loop Reshaping [J].
Yu, Zehong ;
Yang, Yixiao ;
Su, Zhuo ;
Wang, Rui ;
Tao, Yang ;
Jiang, Yu .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2025, 44 (02) :444-457
[28]   Mercury: Instruction Pipeline Aware Code Generation for Simulink Models [J].
Yu, Zehong ;
Su, Zhuo ;
Yang, Yixiao ;
Liang, Jie ;
Jiang, Yu ;
Cui, Aiguo ;
Chang, Wanli ;
Wang, Rui .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 2022, 41 (11) :4504-4515
[29]   Generating Executable Code from High-Level Social or Socio-Ecological Model Descriptions [J].
Xanthopoulou, Themis Dimitra ;
Prinz, Andreas ;
Shults, F. LeRon .
SYSTEM ANALYSIS AND MODELING: LANGUAGES, METHODS, AND TOOLS FOR INDUSTRY 4.0, SAM 2019, 2019, 11753 :150-162
[30]   Backward Propagation of Code Refinements on Transformational Code Generation Environments [J].
Guana, Victor ;
Stroulia, Eleni .
2013 7TH INTERNATIONAL WORKSHOP ON TRACEABILITY IN EMERGING FORMS OF SOFTWARE ENGINEERING (TEFSE), 2013, :55-60