当前位置: 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.)
Extending single- to multi-variant model transformations by trace-based propagation of variability annotations
Software and Systems Modeling ( IF 2 ) Pub Date : 2020-03-25 , DOI: 10.1007/s10270-020-00791-9
Bernhard Westfechtel , Sandra Greiner

Model-driven engineering involves the construction of models on different levels of abstraction. Software engineers are supported by model transformations, which automate the transition from high- to low-level models. Product line engineering denotes a systematic process that aims at developing different product variants from a set of reusable assets. When model-driven engineering is combined with product line engineering, engineers have to deal with multi-variant models. In annotative approaches to product line engineering, model elements are decorated with annotations, i.e., Boolean expressions that define the product variants in which model elements are to be included. In model-driven product line engineering, domain engineers require multi-variant transformations, which create multi-variant target models from multi-variant source models. We propose a reuse-based gray-box approach to realizing multi-variant model transformations. We assume that single-variant transformations already exist, which have been developed for model-driven engineering, without considering product lines. Furthermore, we assume that single-variant transformations create traces, which comprise the steps executed in order to derive target models from source models. Single-variant transformations are extended into multi-variant transformations by trace-based propagation: after executing a single-variant transformation, the resulting single-variant target model is enriched with annotations that are calculated with the help of the transformation’s trace. This approach may be applied to single-variant transformations written in different languages and requires only access to the trace, not to the respective transformation definition. We also provide a correctness criterion for trace-based propagation, and a proof that this criterion is satisfied under the prerequisites of a formal computational model.

中文翻译:

通过基于轨迹的可变性注释的传播来扩展单变量到多变量模型的转换

模型驱动工程涉及在不同抽象级别上构建模型。模型转换支持软件工程师,该转换可自动执行从高级模型到低级模型的转换。产品线工程是一种系统化的过程,旨在从一组可重复使用的资产中开发出不同的产品变体。将模型驱动的工程与产品线工程结合在一起时,工程师必须处理多变量模型。在产品线工程的注释方法中,模型元素用注释装饰,即定义了要包含模型元素的产品变型的布尔表达式。在模型驱动的产品线工程中,领域工程师需要多变量转换,这需要从多变量源模型创建多变量目标模型。我们提出了一种基于重用的灰盒方法来实现多变量模型转换。我们假设已经存在单变量转换,这些转换是为模型驱动工程开发的,不考虑产品线。此外,我们假设单变量转换会创建跟踪,这些跟踪包括执行的步骤,以便从源模型导出目标模型。通过基于跟踪的传播将单变量转换扩展为多变量转换:执行单变量转换后,生成的单变量目标模型将充实借助转换痕迹计算的注释。该方法可以应用于以不同语言编写的单变量转换,并且仅需要访问跟踪,而不是各自的转换定义。我们还为基于轨迹的传播提供了正确性准则,并证明了在正式计算模型的前提下可以满足该准则。
更新日期:2020-03-25
down
wechat
bug