Dissertation/Thesis Abstract

Version Control and Product Lines in Model-Driven Software Engineering
by Schwägerl, Felix, Dr.Nat., Universitaet Bayreuth (Germany), 2018, 430; 27600479
Abstract (Summary)

This thesis addresses the requirements, the formal elaboration, the implementation, and applications of a conceptual framework for the integration of model-driven software engineering (MDSE), version control (VC), and software product line engineering (SPLE). The majority of software engineering projects are faced with three phenomena: abstraction, evolution, and variability. Abstraction is achieved through models, which provide a higher-level description of a software system that facilitates the enforcement and the communication of design decisions. MDSE aims at making models executable, reducing the amount of manually written source code. Software evolution is addressed by version control systems, which have become indispensable for the organization of collaboratively developed software. Last, an increasingly popular approach dedicated to the organized management of variability is SPLE. Corresponding approaches assume a decomposition of the software system into features, by which different members of the product line are distinguished. Traditionally, abstraction, evolution, and variability are addressed by independent tools. This, on the one hand, causes undesirable context switches between modeling tools, version control systems, and product line technology. On the other hand, a combination of mutually unaware tools ignores overlaps between the disciplines. For instance, both MDSE and SPLE deal with models - domain models and variability models, respectively. Likewise, VC and SPLE deal with the management of different kinds of versions - revisions and variants. In advance to the elaboration of the integrating conceptual framework, its requirements are aligned with the current state of research in model-driven product line engineering, model version control, and product line version control. The properties of existing systems are taken into consideration during the exploration of the design choices and decisions. The core of the framework is a hybrid architecture consisting of three dimensions: a revision graph that controls the evolution of the other two dimensions, and a feature model that manages the variability of the domain model, which is subject to both evolution and variability. The framework relies on filtered editing; repository contents are not modified directly by the designated user, but in a single-version workspace in several iterations. An iteration is begun by the operation check-out, which requests a selection in the revision graph, before the desired variant to be presented in the workspace is defined as a configuration of the feature model. Then, workspace contents may be modified arbitrarily. The operation commit concludes an iteration, requesting a so called feature ambition from the user. This corresponds to the definition of a set of variants to which the performed modifications are relevant. Repository contents are updated automatically such that they consider both the historical and the logical scope of the change.

Indexing (document details)
School: Universitaet Bayreuth (Germany)
School Location: Germany
Source: DAI-C 81/4(E), Dissertation Abstracts International
Subjects: Computer Engineering
Keywords: Software engineering
Publication Number: 27600479
ISBN: 9781687901194
Copyright © 2020 ProQuest LLC. All rights reserved. Terms and Conditions Privacy Policy Cookie Policy