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 challengi...
详细信息
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 modelinglanguages 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 modelinglanguages 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.
Model driven engineering community has made considerable progress in the last decade and a half as regards developing software systems with enhanced productivity, quality and platform independence. However, in the inc...
详细信息
ISBN:
(纸本)9783319747309;9783319747293
Model driven engineering community has made considerable progress in the last decade and a half as regards developing software systems with enhanced productivity, quality and platform independence. However, in the increasingly dynamic world, enterprises are facing a different kind of challenge where the focus shifts from how to build to what to build. This paper proposes a shift in focus of model driven engineering community to meet these challenges. We outline an approach and a research agenda to realize the same.
Effective model-driven engineering of complex systems requires to appropriately describe different specific system aspects. To this end, efficient integration of different heterogeneous modelinglanguages is essential...
详细信息
ISBN:
(纸本)9789897581366
Effective model-driven engineering of complex systems requires to appropriately describe different specific system aspects. To this end, efficient integration of different heterogeneous modelinglanguages is essential. modelinglanguage integaration is onerous and requires in-depth conceptual and technical knowledge and effort. Traditional modeling lanugage integration approches require language engineers to compose monolithic language aggregates for a specific task or project. Adapting these aggregates to different contexts requires vast effort and makes these hardly reusable. This contribution presents a method for the engineering of grammar-based language components that can be independently developed, are syntactically composable, and ultimately reusable. To this end, it introduces the concepts of language aggregation, language embedding, and language inheritance, as well as their realization in the language workbench MontiCore. The result is a generalizable, systematic, and efficient syntax-oriented composition of languages that allows the agile employment of modelinglanguages efficiently tailored for individual software projects.
modelinglanguages are needed to describe the conceptual construct underlying software. Several modelinglanguages have been proposed during the last decades. Cognitive complexity is one of the common problems in desi...
详细信息
modelinglanguages are needed to describe the conceptual construct underlying software. Several modelinglanguages have been proposed during the last decades. Cognitive complexity is one of the common problems in designing modelinglanguages. Users have to split their attention and cognitive resources between two different tasks when working with complex language: solving the problem and understanding the elements composing the language. Several researches have been accomplished to evaluate cognitive complexity of modelinglanguages, among them, metric based and empirical approaches are more important and convenient than others. In this paper, we compared these two methods. Results show that there is no significant relation between outputs generated by these approaches.
暂无评论