Abstract

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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call