Title
Live Modeling In The Context Of State Machine Models And Code Generation
Abstract
Live modeling has been recognized as an important technique to edit behavioral models while being executed and helps in better understanding the impact of a design choice. In the context of model-driven development, models can be executed by interpretation or by the translation of models into existing programming languages, often by code generation. This work is concerned with the support of live modeling in the context of state machine models when they are executed by code generation. To this end, we propose an approach that is completely independent of any live programming support offered by the target language. This independence is achieved with the help of a model transformation which equips the model with support for features which are required for live modeling. A subsequent code generation then produces a self-reflective program that allows changes to the model elements at runtime (through synchronization of design and runtime models). We have applied the approach in the context of UML-RT and created a prototype (Live-UMLRT) that provides a full set of services for live modeling of UML-RT state machines such as re-execution, adding/removing states and transitions, and adding/removing action code. We have evaluated the prototype on several use cases. The evaluation shows that (1) generation of a self-reflective and model instrumentation can be carried out with reasonable performance, and (2) our approach can apply model changes to the running execution faster than the standard approach that depends on the live programming support of the target language.
Year
DOI
Venue
2021
10.1007/s10270-020-00829-y
SOFTWARE AND SYSTEMS MODELING
Keywords
DocType
Volume
Model execution, Live modeling, Model-level debugging, MDD, UML-RT
Journal
20
Issue
ISSN
Citations 
3
1619-1366
0
PageRank 
References 
Authors
0.34
0
4
Name
Order
Citations
PageRank
Mojtaba Bagherzadeh1296.09
Karim Jahed275.20
Benoît Combemale342346.61
Juergen Dingel460849.06