Complete Code Generation from UML State Machine

被引:8
作者
Van Cam Pham [1 ]
Radermacher, Ansgar [1 ]
Gerard, Sebastien [1 ]
Li, Shuai [1 ]
机构
[1] CEA, LIST, Lab Model Driven Engn Embedded Syst, PC 174, F-91191 Gif Sur Yvette, France
来源
MODELSWARD: PROCEEDINGS OF THE 5TH INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT | 2017年
关键词
UML State Machine; Code Generation; Semantics-conformance; Efficiency; Events; C plus;
D O I
10.5220/0006274502080219
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An event-driven architecture is a useful way to design and implement complex systems. The UML State Machine and its visualizations are a powerful means to the modeling of the logical behavior of such an architecture. In Model Driven Engineering, executable code can be automatically generated from state machines. However, existing generation approaches and tools from UML State Machines are still limited to simple cases, especially when considering concurrency and pseudo states such as history, junction, and event types. This paper provides a pattern and tool for complete and efficient code generation approach from UML State Machine. It extends IF-ELSE-SWITCH constructions of programming languages with concurrency support. The code generated with our approach has been executed with a set of state-machine examples that are part of a test-suite described in the recent OMG standard Precise Semantics Of State Machine. The traced execution results comply with the standard and are a good hint that the execution is semantically correct. The generated code is also efficient: it supports multi-thread-based concurrency, and the (static and dynamic) efficiency of generated code is improved compared to considered approaches.
引用
收藏
页码:208 / 219
页数:12
相关论文
共 37 条
[1]  
[Anonymous], PREC SEM UML STAT MA
[2]  
[Anonymous], 2010, 5 WORKSH COD CENTR M
[3]  
Badreddin O., 2014, MODELSWARD 2014, P1
[4]  
Badreddin O, 2014, PROCEEDINGS OF THE 2014 2ND INTERNATIONAL CONFERENCE ON MODEL-DRIVEN ENGINEERING AND SOFTWARE DEVELOPMENT (MODELSWARD 2014), P235
[5]  
Balser M, 2004, LECT NOTES COMPUT SC, V3308, P434
[6]  
Blech J., 2005, FUJABA DAYS 2005, P49
[7]  
Booch G., 1998, The Unified Modeling Language User Guide, V3
[8]  
Boost Library, 2016, STAT MACH BENCHM
[9]  
Boost Library, 2016, BOOST C
[10]  
Boost Library, 2016, MET MACH