Book contents
- Frontmatter
- Contents
- Part I Software product line engineering challenges
- Part II Variability analysis and modelling
- Part III Variability implementation and traceability
- Part IV Product-driven vs. solution-driven software product line engineering
- Part V Future trends
- 12 Dynamic variability in adaptive systems
- 13 Imperfect information in software product line engineering
- 14 Empirical research in software product line engineering
- Epilogue
- References
- Index
12 - Dynamic variability in adaptive systems
from Part V - Future trends
Published online by Cambridge University Press: 07 September 2011
- Frontmatter
- Contents
- Part I Software product line engineering challenges
- Part II Variability analysis and modelling
- Part III Variability implementation and traceability
- Part IV Product-driven vs. solution-driven software product line engineering
- Part V Future trends
- 12 Dynamic variability in adaptive systems
- 13 Imperfect information in software product line engineering
- 14 Empirical research in software product line engineering
- Epilogue
- References
- Index
Summary
Introduction
One of the reasons for using variability in the software product line (SPL) approach (see Apel et al., 2006; Figueiredo et al., 2008; Kastner et al., 2007; Mezini & Ostermann, 2004) is to delay a design decision (Svahnberg et al., 2005). Instead of deciding on what system to develop in advance, with the SPL approach a set of components and a reference architecture are specified and implemented (during domain engineering, see Czarnecki & Eisenecker, 2000) out of which individual systems are composed at a later stage (during application engineering, see Czarnecki & Eisenecker, 2000). By postponing the design decisions in such a manner, it is possible to better fit the resultant system in its intended environment, for instance, to allow selection of the system interaction mode to be made after the customers have purchased particular hardware, such as a PDA vs. a laptop. Such variability is expressed through variation points which are locations in a software-based system where choices are available for defining a specific instance of a system (Svahnberg et al., 2005). Until recently it had sufficed to postpone committing to a specific system instance till before the system runtime. However, in the recent years the use and expectations of software systems in human society has undergone significant changes.
Today's software systems need to be always available, highly interactive, and able to continuously adapt according to the varying environment conditions, user characteristics and characteristics of other systems that interact with them. Such systems, called adaptive systems, are expected to be long-lived and able to undertake adaptations with little or no human intervention (Cheng et al., 2009). Therefore, the variability now needs to be present also at system runtime, which leads to the emergence of a new type of system: adaptive systems with dynamic variability.
- Type
- Chapter
- Information
- Aspect-Oriented, Model-Driven Software Product LinesThe AMPLE Way, pp. 347 - 377Publisher: Cambridge University PressPrint publication year: 2011