Litcius/Paper detail

Enabling consistency in view-based system development — The Vitruvius approach

Heiko Klare, Max Kramer, Michael Langhammer, Dominik Werle, Erik Bürger, Ralf Reussner

2020Journal of Systems and Software55 citationsDOIOpen Access PDF

Abstract

During the development of large software-intensive systems, developers use several modeling languages and tools to describe a system from different viewpoints. Model-driven and view-based technologies have made it easier to define domain-specific languages and transformations. Nevertheless, using several languages leads to fragmentation of information, to redundancies in the system description, and eventually to inconsistencies. Inconsistencies have negative impacts on the system’s quality and are costly to fix. Often, there is no support for consistency management across multiple languages. Using a single language is no practicable solution either, as it is overly complex to define, use, and evolve such a language. View-based development is a suitable approach to deal with complex systems, and is widely used in other engineering disciplines. Still, we need to cope with the problems of fragmentation and consistency. In this paper, we present the Vitruvius approach for consistency in view-based modeling. We describe the approach by formalizing the notion of consistency, presenting languages for consistency preservation, and defining a model-driven development process. Furthermore, we show how existing models can be integrated. We have evaluated our approach at two case studies from component-based and embedded automotive software development, using our prototypical implementation based on the Eclipse Modeling Framework.

Topics & Concepts

Computer scienceConsistency (knowledge bases)Software engineeringModeling languageViewpointsEclipseSoftware systemSoftware developmentProgramming languageSystems engineeringSoftwareArtificial intelligenceEngineeringArtVisual artsAstronomyPhysicsModel-Driven Software Engineering TechniquesAdvanced Software Engineering MethodologiesSoftware Engineering Techniques and Practices
Enabling consistency in view-based system development — The Vitruvius approach | Litcius