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 条
[31]   Anchor Attention, Small Cache: Code Generation With Large Language Models [J].
Zhang, Xiangyu ;
Zhou, Yu ;
Yang, Guang ;
Gall, Harald C. ;
Chen, Taolue .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2025, 51 (06) :1866-1881
[32]   Progress of Word Embedding in Code Generation [J].
Li, Zhao ;
Song, Yi ;
Chen, Peng ;
Li, Dongcheng ;
Gong, Guoqiang ;
Lv, Ke .
2019 COMPANION OF THE 19TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY AND SECURITY (QRS-C 2019), 2019, :538-539
[33]   DiCE: Distributed Code generation and Execution [J].
Rao, Kunal ;
Coviello, Giuseppe ;
Chakradhar, Srimat .
2024 IEEE CONFERENCE ON PERVASIVE AND INTELLIGENT COMPUTING, PICOM 2024, 2024, :8-15
[34]   Code Generation Framework for Grid Development [J].
JIANG Lingyun WANG Ruchuan WANG HaiyanDepartment of Computer Science and Technology Nanjing University of Posts and Telecommunications Nanjing PR ChinaState Key Laboratory for Novel Software Technology Nanjing University Nanjing PR China .
The Journal of China Universities of Posts and Telecommunications, 2006, (02) :39-42
[35]   Constraint analysis for DSP code generation [J].
Mesman, B ;
Timmer, AH ;
van Meerbergen, JL ;
Jess, JAG .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 1999, 18 (01) :44-57
[36]   Architectural concerns in automating code generation [J].
Andrade, LF ;
Gouveia, JC ;
Xardoné, PJ ;
Câmara, JA .
SOFTWARE ARCHITECTURE, 1999, 12 :495-510
[37]   Automatic code generation: A practical approach [J].
Papadopoulos, George A. .
PROCEEDINGS OF THE ITI 2008 30TH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY INTERFACES, 2008, :861-866
[38]   Deep learning for code generation: a survey [J].
Zhang, Huangzhao ;
Zhang, Kechi ;
Li, Zhuo ;
Li, Jia ;
Li, Yongmin ;
Zhao, Yunfei ;
Zhu, Yuqi ;
Liu, Fang ;
Li, Ge ;
Jin, Zhi .
SCIENCE CHINA-INFORMATION SCIENCES, 2024, 67 (09)
[39]   Frances: A Tool For Understanding Code Generation [J].
Sondag, Tyler ;
Pokorny, Kian L. ;
Rajan, Hridesh .
SIGCSE 10: PROCEEDINGS OF THE 41ST ACM TECHNICAL SYMPOSIUM ON COMPUTER SCIENCE EDUCATION, 2010, :12-16
[40]   Code Generation Technology of Digital Satellite [J].
Ren Min ;
Dong Yunfeng ;
Li Chang .
PROCEEDINGS OF ELM-2015, VOL 1: THEORY, ALGORITHMS AND APPLICATIONS (I), 2016, 6 :511-519