Return to search

Evolution in Feature-Oriented Model-Based Software Product Line Engineering

Software Product Lines (SPLs) are a successful approach to software reuse in the large. Even though tools exist to create SPLs, their evolution is widely unexplored. Evolving an SPL manually is tedious and error-prone as it is hard to avoid unintended side-effects that may harm the consistency of the SPL. In this thesis, the conceptual basis of a system for the evolution of model-based SPLs is presented, which maintains consistency of models and feature mapping. As basis, a novel classification is introduced that distinguishes evolutions by their potential to harm the mapping of an SPL. Furthermore, multiple remapping operators are presented that can remedy the negative side-effects of an evolution. A set of evolutions is complemented with appropriate remapping operations for the use in SPLs. Finally, an implementation of the evolution system in the SPL tool FeatureMapper is provided to demonstrate the capabilities of the presented approach when co-evolving models and feature mapping of an SPL.:1 Introduction
1.1 Motivation for Evolving Software Product Lines
1.2 Outline of the Thesis

2 Background and Scope
2.1 Concepts and Terminology
2.1.1 Software Product Lines
2.1.2 Model-Driven Software Development
2.1.3 FeatureMapper
2.2 Scope
2.3 Related Work

3 Evolution of Software Product Lines
3.1 Evolutions
3.1.1 Evolutions in the Problem Space
3.1.2 Evolutions in the Solution Space
3.2 Classification Systems for Evolutions
3.2.1 Classification by Behavior Preservation
3.2.2 Classification Systems in the Literature
3.2.3 Classification by Semantical Extent of Model Changes
3.3 Remapping Operations
3.3.1 Remapping in the Problem Space
3.3.2 Remapping in the Solution Space
3.4 Classification and Remapping of Evolutions
3.4.1 Classification and Remapping of Problem Space Evolutions
3.4.2 Classification and Remapping of Solution Space Evolutions

4 A Framework for Evolutions in FeatureMapper
4.1 Relevant Technology
4.1.1 Refactory
4.1.2 EMFText
4.2 Implementation
4.2.1 Implementation of the Evolutions System
4.2.2 Implementation of the Remapping System
4.2.3 Implementation of the User Interface System
4.2.4 Implementation of the Test Suite
4.3 Possibilities for Extension
4.3.1 Adding New Evolutions
4.3.2 Adapting Existing Evolutions

5 Example Project
5.1 Initial Situation in 2001
5.2 First Revision in 2006
5.2.1 Removing the Cassette Player
5.2.2 Adding an MP3 CD Player
5.2.3 Adding a Personal Navigation Device
5.2.4 Changing the Implementation of the UI Builder
5.2.5 Summary of the Changes of the First Revision in 2006
5.3 Second Revision in 2011
5.3.1 Creating a Multi-Format CD Player
5.3.2 Enhancing Voice Recognition to Control the Audio Player
5.3.3 Restructuring Personal Navigation Maps
5.3.4 Changing the Implementation of the CD Player
5.3.5 Summary of the Changes of the Second Revision in 2011
5.4 Conclusion of the Example Project

6 Conclusion
6.1 Summarized Findings
6.2 Limitations and Drawbacks
6.3 Possibilities for Future Work
6.4 Theoretical and Practical Contributions

A Object Remapping Specification (*.orspec)
A.1 Object Remapping Specification Model
A.2 Object Remapping Specification Syntax

B DocBooklet (*.docbooklet)
B.1 DocBooklet Model
B.2 DocBooklet Syntax

C NavMap (*.navmap)
C.1 NavMap Model
C.2 NavMap Syntax

List of Figures
List of Tables
List of Listings

Bibliography

Identiferoai:union.ndltd.org:DRESDEN/oai:qucosa:de:qucosa:25866
Date29 September 2011
CreatorsSeidl, Christoph
ContributorsHeidenreich, Florian, Aßmann, Uwe, Technische Universität Dresden
Source SetsHochschulschriftenserver (HSSS) der SLUB Dresden
LanguageEnglish
Detected LanguageEnglish
Typedoc-type:masterThesis, info:eu-repo/semantics/masterThesis, doc-type:Text
Rightsinfo:eu-repo/semantics/openAccess

Page generated in 0.002 seconds