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.
|School:||Universitaet Bayreuth (Germany)|
|Source:||DAI-C 81/4(E), Dissertation Abstracts International|
Copyright in each Dissertation and Thesis is retained by the author. All Rights Reserved
The supplemental file or files you are about to download were provided to ProQuest by the author as part of a
dissertation or thesis. The supplemental files are provided "AS IS" without warranty. ProQuest is not responsible for the
content, format or impact on the supplemental file(s) on our system. in some cases, the file type may be unknown or
may be a .exe file. We recommend caution as you open such files.
Copyright of the original materials contained in the supplemental file is retained by the author and your access to the
supplemental files is subject to the ProQuest Terms and Conditions of use.
Depending on the size of the file(s) you are downloading, the system may take some time to download them. Please be