Model-integrating development of software systems: a flexible component-based approach

Model-integrating development of software systems: a flexible component-based approach
复制标题

DOI:
10.1007/s10270-018-0682-5
复制
发表时间:
2018-06
影响因子:
2
通讯作者:
Mahdi Derakhshanmanesh;J. Ebert;Marvin Grieger;G. Engels
Mahdi Derakhshanmanesh;J. Ebert;Marvin Grieger;G. Engels
中科院分区:
计算机科学3区
文献类型:
--
作者:
Mahdi Derakhshanmanesh;J. Ebert;Marvin Grieger;G. Engels

文献摘要

被引文献

相似文献

开发灵活软件系统的一种有前途的方法是将在运行时分析、修改和执行的模型作为系统的集成部分。构建这样的模型集成系统是一项具有挑战性的任务,因为必须在运行时全面支持各种建模语言,并且这些系统仍然需要通过由基本构建块组成来以模块化方式进行开发。模型驱动(MDD)和基于组件的开发(CBD)是两种既定的正交方法,可以解决上述挑战。 MDD 基于使用模型和建模语言作为一流实体来系统地设计软件系统。 CBD 通过促进分而治之的重用方法来实现模块化系统的工程。然而,结合和调整两种方法的各自原则是一个开放的研究问题。在本文中,我们将描述模型集成开发 (MID),这是一种工程方法,可实现基于组件的模型集成软件的系统开发。 MID 结合了 MDD 和 CBD 的原则,并基于这样的中心假设:模型和代码在其整个生命周期中应被视为一流的软件实体。特别是,MID 在运行时利用模型带来的额外灵活性,即当模型是运行软件的组成部分时。所提出的解决方案概念的实用性基于参考实现而合理化,该参考实现为彻底描述和批判性讨论的可行性研究提供了基础:动态访问控制产品线。以提炼的方式呈现所获得的好处,并确定了未来的研究挑战。
A promising way to develop flexible software systems is to include models that are analyzed, modified and executed at runtime as an integrated part of the system. Building such model-integrating systems is a challenging task since the respective modeling languages have to be supported comprehensively at runtime, and these systems still need to be developable in a modular way by composing them from basic building blocks. Model-driven (MDD) and component-based development (CBD) are two established orthogonal approaches that can tackle the mentioned challenges. MDD is based on the use of models and modeling languages as first-class entities to systematically engineer software systems. CBD enables the engineering of modular systems by facilitating a divide-and-conquer approach with reuse. However, combining and aligning the individual principles from both approaches is an open research problem. In this article, we describe model-integrating development (MID), an engineering approach that enables the systematic development of component-based, model-integrating software. MID combines principles from MDD and CBD and is based on the central assumption that models and code shall be treated equally as first-class entities of software throughout its life cycle. In particular, MID leverages the added flexibility that comes with models at runtime, i.e., when models are an integral part of running software. The practicability of the proposed solution concept is rationalized based on a reference implementation that provides the basis for a thoroughly described and critically discussed feasibility study: a dynamic access control product line. The obtained benefits are presented in a distilled way, and future research challenges are identified.