Variability Issues in Software Product Lines
Software product lines (or system families) have achieved considerable adoption by the software industry. A software product line captures the commonalities between a set of products while providing for the differences. Differences are managed by delaying design decisions, thereby introducing variation points. The whole of variation points is typically referred to as the variability of the software product line. Variability management is, however, not a trivial activity and several issues exist, both in general as well as specific to individual phases in the lifecycle. This paper identifies and describes several variability issues based on practical experiences and theoretical understanding of the problem domain.
KeywordsVariation Point Software Product Line Domain Engineering Product Architecture Software Artefact
Unable to display preview. Download preview PDF.
- 1.J. Bosch, Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach, Pearson Education (Addison-Wesley & ACM Press), ISBN 0-201-67494-7, May 2000.Google Scholar
- 2.J. Coplien, D. Hoffman, D. Weiss: Commonality and variability in software-engineering, IEEE Software, November/December 1999, pp. 37–45.Google Scholar
- 3.K. Czarnecki, U.W. Eisenecker: Generative programming, Methods, Tools, and Applications; Addison-Wesley, 2000.Google Scholar
- 4.D. Greefhorst, ‘Separating concerns in software logistics,’ Advanced Separation of Concerns Workshop, OOPSLA 2000, October 2000, Minneapolis.Google Scholar
- 5.J. van Gurp, J. Bosch, M. Svahnberg, ‘On the Notion of Variability in Software Product Lines,’ Accepted for The Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), April 2001.Google Scholar
- 6.I. Jacobson, M. Griss, P. Jonsson: Software Reuse: Architecture, Process, and Organization for Business Success; Addison-Wesley-Longman, May 1997.Google Scholar
- 7.K.C. Kang, S.G. Cohen, J.A. Hess, W.E. Novak, A.S. Peterson: Feature-Oriented Domain Analysis, Feasability Study; SEI Technical Report CMU/SEI-90-TR-21, November 1990.Google Scholar
- 8.K.C. Kang, S.J. Kim, J.J. Lee, K.J. Kim, E. Shin: FORM: A Feature-Oriented Reuse Method with Domain-Specific Reference Architectures; Annals of Software Engineering, Vol. 5, 1998.Google Scholar
- 9.G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopez, J.M. Loingtier, J. Irwin: Aspect Oriented Programming; European Conference on Object Oriented Programming (ECOOP), Springer-Verlag, LNCS 1241, Berlin, Germany, 1997.Google Scholar
- 10.B.R. Schmerl, C.D. Marlin: Versioning and consistency for dynamically composed configurations; 7th International Workshop on Configuration Management, Boston, May 1997.Google Scholar
- 11.D. Schmidt, M. Stal, H. Rohnert, F. Buschmann: Pattern-oriented software architecture—patterns for concurrent and networked objects, Wiley, 2000.Google Scholar
- 12.P. Tarr, H. Ossher, W. Harrison, S.M. Sutton: N degrees of separation: Multi-dimensional separation of concerns; In proceedings of the 1999 International Conference on Object-Oriented Programming, p. 107–119, May 1999.Google Scholar