Abstract
Software product lines have numerous members. Thus, a product line infrastructure must cover various systems. This is the significant difference to usual software systems and the reason for additional requirements on the various assets present during software product line engineering. It is imperative that they support the description of the product line as a whole, as well as its instantiation for the derivation of individual products.
Literature has already addressed how to create and instantiate generic product line assets, such as domain models and architectures to generate instance specific ones [1, 2, 3], yet little attention has been given on how to actually deal with this genericity at the code level.
This paper addresses the issue of handling product line variability at the code level. To this end various implementation approaches are examined with respect to their use in a product line context.
- 1 Michalis Anastasopoulos, Joachim Bayer, Oliver Flege and Cristina Gacek, A Process for Product Line Architecture Creation and Evaluation PuLSE-DSSA - Version 2.0, Fraunhofer IESE Report No. 038.00/E, June 2000]]Google Scholar
- 2 Cristina Gacek and Anton Vukovic, "Vital: Representing Software Reference Architectures," in Proceedings of the Fourth International Software Architecture Workshop (ISAW-4), Limerick, Ireland, pp. 105-110, June 2000.]]Google Scholar
- 3 Joachim Bayer, Cristina Gacek, Dirk Muthig and Tanya Widen, "PuLSE-I: Deriving Instances from a Product Line Infrastructure," in Proceedings of the Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000), Edinburgh, Scotland, pp. 237-245, April 2000.]]Google Scholar
- 4 James Coplien, Multi-Paradigm Design for C++, Addison Wesley, 1995]] Google ScholarDigital Library
- 5 David C. Sharp, "Containing and Facilitating Change Via Object Oriented Tailoring Techniques," to appear in Proceedings of The First Software Product Line Conference Denver, Colorado, August, 2000]]Google Scholar
- 6 Mikael Svahnberg, Variability in Evolving Software Product Lines, Licentiate thesis, Blekinge Institute of Technology, Department of Software Engineering and Computer Science, Karlskrona, Sweden, 2000]]Google Scholar
- 7 Mira Mezini, Variational Object Oriented Programming, Ph.D. Dissertation, University of Siegen, Germany, 1997]]Google Scholar
- 8 Krzystof Czarnecki and Ulrich W. Eisenecker, Generative Programming Methods, Tools and Applications, Addison-Wesley, 2000]] Google ScholarDigital Library
- 9 Oxford University Computing Laboratory, Programming Tools Group, Intentional Programming Project (http://web.com-lab. ox.ac.uk/oucl/research/areas/progtools/intentional.htm)]]Google Scholar
- 10 Peter Van der Linden, Expert C Programming, Deep C Secrets, Prentice Hall, 1994]] Google ScholarDigital Library
- 11 Gregor Kiczales et al, "Aspect Oriented Programming", Springer-Verlag, 1997, available under http:// www.parc.xerox.com/csl/groups/sda/publications/papers/Kiczales-ECOOP97/]]Google Scholar
- 12 Homepage of the Subject-oriented Research Project, IBM, Thomas J. Watson Research Center, Yorktown Heights, NY, see http://www.research.ibm.com/sop]]Google Scholar
- 13 Harold Ossher and Peri Tarr, "Operation-Level Composition: A Case in (Join) Point," in Proceedings of ECOOP 1998 workshop on Aspect-Oriented Programming, Finland, pp 116-120, 1998]]Google Scholar
- 14 K. Czarnecky, U.W. Eisenecker, R. Gluck, D. Vandevoorde and T. Veldhuizen, "Generative Programming and Active Libraries", to appear in Proceedings of the Dagstuhl Seminar 98171 on Generic Programming, Schlob Dagstuhl, Germany, April 26-May 5, 1998, LNCS, Springer-Verlag, Berlin and Heidelberg, Germany, 1999, see http://www.prakinf.tu-ilmenau.de/ ~czarn/dagstuhl99]] Google ScholarDigital Library
- 15 Paul G. Basset, Framing Software Reuse, Yourdon Press Computing Series, 1997]]Google Scholar
- 16 Karl E. Wiegers, Software Requirements, Microsoft Press, 1999]] Google ScholarDigital Library
- 17 Xavier Pacheco, The Builder Pattern, available under http:// www.delphimag.com]]Google Scholar
- 18 Erich Gamma, et al. Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994]] Google ScholarDigital Library
- 19 Oliver Lewis, Performance Issues of Variability Design in Embedded System Application Families, Ph.D. Dissertation, November, 2000, available under http://www.dcs.napier.ac.uk/ ~bill/oli/]]Google Scholar
Index Terms
- Implementing product line variabilities
Recommendations
Implementing product line variabilities
SSR '01: Proceedings of the 2001 symposium on Software reusability: putting software reuse in contextSoftware product lines have numerous members. Thus, a product line infrastructure must cover various systems. This is the significant difference to usual software systems and the reason for additional requirements on the various assets present during ...
Product line variability support by FORM and Mecano model integration
A product line definition must cover several systems, for this reason additional requirements are included as product line assets during domain engineering. Generic assets are presented to cover all components the product line instances are built from, ...
A decision model for implementing product lines variabilities
SAC '08: Proceedings of the 2008 ACM symposium on Applied computingSoftware Product Lines (SPLs) encompass a family of software systems developed from reusable assets. One issue during SPL development is the decision about which technique should be used to implement variabilities and improve the Separation of Concerns (...
Comments