当前位置: X-MOL 学术Softw. Syst. Model. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Live modeling in the context of state machine models and code generation
Software and Systems Modeling ( IF 2 ) Pub Date : 2020-11-02 , DOI: 10.1007/s10270-020-00829-y
Mojtaba Bagherzadeh , Karim Jahed , Benoit Combemale , Juergen Dingel

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.



中文翻译:

在状态机模型和代码生成的上下文中进行实时建模

实时建模已被认为是在执行时编辑行为模型的一项重要技术,有助于更好地理解设计选择的影响。在模型驱动的开发中,可以通过解释或将模型转换为现有的编程语言来执行模型,通常可以通过代码生成来执行。当状态机模型由代码生成执行时,这项工作涉及在状态机模型的上下文中进行实时建模的支持。为此,我们提出了一种完全独立于目标语言提供的实时编程支持的方法。这种独立性是通过模型转换来实现的,该转换为模型提供了对实时建模所需功能的支持。然后,随后的代码生成将生成一个自反射程序,该程序允许在运行时更改模型元素(通过设计和运行时模型的同步)。我们已在UML-RT上下文中应用了该方法,并创建了一个原型(Live-UMLRT),该原型为UML-RT状态机的实时建模提供了全套服务,例如重新执行,添加/删除状态和转换,以及添加/删除操作代码。我们已经在几个用例上评估了原型。评估表明,(1)可以以合理的性能生成自反射和模型仪器,(2)与依赖实时编程支持的标准方法相比,我们的方法可以更快地将模型更改应用于运行执行目标语言。

更新日期:2020-11-02
down
wechat
bug