Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems

Model-Driven Engineering in the Large: Refactoring Techniques for Models and Model Transformation Systems
复制标题

大型模型驱动工程:模型和模型转换系统的重构技术

DOI:
--
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
D. Strüber
D. Strüber
中科院分区:
--
文献类型:
--
作者:
D. Strüber

文献摘要

被引文献

相似文献

模型驱动工程(MDE)是一种 软件工程范例,旨在提高 通过提高抽象级别提高开发人员的生产力 的软件开发。它设想使用模型作为 在设计、实现和部署过程中的关键工件。 从最近MDE在大规模工业中的到来来看, 软件开发--我们在 一系列挑战出现了:首先,模型现在 在分散的地点由团队的团队开发。在 这种高度协作的环境, 整体模型会引起某些问题,例如 编辑冲突。第二,在大系统中 开发时,使用各种特定于领域的 建模语言将这些模型结合在一个有纪律的 方式要求适当的模块化机制。第三、 模型的开发由以下人员系统地处理: 使用模型转换来表达所涉及的操作 规则这样的规则通常是通过克隆创造的, 与性能和可维护性问题有关。在这 在这篇论文中,我们贡献了三种重构技术, 旨在解决这些挑战之一。首先,我们提出一个 将大型整体模型拆分为一组 子模型。这项技术的目的是使一个 分离模型中的关注点, 基于关注点的协作方式:协作者操作 与他们手头的任务相关的子模型。二是 提出了一种封装模型组件技术, 在一组相关模型中引入模块化接口。 这项技术的目标是建立模块化, 这些模型。第三,我们引入一个重构, 一组模型转换规则,表现出高度的 相似性这项技术的目的是提高 可维护性和性能, 与克隆有关。重构创建了 基于可变性的规则,一种新的规则类型, 通过使用注释捕获可变性。重构 技术贡献在这项工作中有助于减少手册 在模型重构和转换过程中的努力 规则在很大程度上。正如一系列 现实的案例研究,技术产生的输出 是可比的,或者在转换规则的情况下,部分 甚至比手动重构的结果更好, 在现实世界中的应用前景看好 设置。%模型驱动工程(MDE)ist 一个软件技术的范例, 生产力发展的抽象和抽象 wahrend der Softwareentwicklung zu erhohen.海尔祖·拉斯特曼 软件模型是一个我们熟悉的角色模型, …
Model-Driven Engineering (MDE) is a software engineering paradigm that aims to increase the productivity of developers by raising the abstraction level of software development. It envisions the use of models as key artifacts during design, implementation and deployment. From the recent arrival of MDE in large-scale industrial software development – a trend we refer to as MDE in the large –, a set of challenges emerges: First, models are now developed at distributed locations, by teams of teams. In such highly collaborative settings, the presence of large monolithic models gives rise to certain issues, such as their proneness to editing conflicts. Second, in large-scale system development, models are created using various domain-specific modeling languages. Combining these models in a disciplined manner calls for adequate modularization mechanisms. Third, the development of models is handled systematically by expressing the involved operations using model transformation rules. Such rules are often created by cloning, a practice related to performance and maintainability issues. In this thesis, we contribute three refactoring techniques, each aiming to tackle one of these challenges. First, we propose a technique to split a large monolithic model into a set of sub-models. The aim of this technique is to enable a separation of concerns within models, promoting a concern-based collaboration style: Collaborators operate on the submodels relevant for their task at hand. Second, we suggest a technique to encapsulate model components by introducing modular interfaces in a set of related models. The goal of this technique is to establish modularity in these models. Third, we introduce a refactoring to merge a set of model transformation rules exhibiting a high degree of similarity. The aim of this technique is to improve maintainability and performance by eliminating the drawbacks associated with cloning. The refactoring creates variability-based rules, a novel type of rule allowing to capture variability by using annotations. The refactoring techniques contributed in this work help to reduce the manual effort during the refactoring of models and transformation rules to a large extent. As indicated in a series of realistic case studies, the output produced by the techniques is comparable or, in the case of transformation rules, partly even preferable to the result of manual refactoring, yielding a promising outlook on the applicability in real-world settings.%%%%Model-Driven Engineering (MDE) ist ein Paradigma der Softwaretechnik, in dem es darum geht, das Abstrationsniveau und dadurch die Entwicklerproduktivitat wahrend der Softwareentwicklung zu erhohen. Hierzu lasst man Software-Modellen eine wesentliche Rolle wahrend Entwurf, …