Abstract
In a product family context, software architects anticipate product diversification and design architectures that support variants in both space (multiple contexts) and time (changing contexts). Product diversification is based on the concept of variability: a single architecture and a set of components support a family of products. Software product families need to support increasing amounts of variability, leading to a situation where variability dependencies become of primary concern. This paper discusses (1) a taxonomy of variability dependencies and (2) a case study in designing a program monitor and exception handler for a legacy system. The study shows that the types of variability dependencies in a system depend on how the system is designed and architected.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
McIlroy, M.D.: Mass Produced Software Components. In: NATO Software Engineering Conference, Garmisch, Germany, pp. 138–155 (1968)
Parnas, D.L.: On the Design and Development of Product Families. IEEE Transactions on Software Engineering 2(1), 1–9 (1976)
Bosch, J.: Design & Use of Software Architectures: Adopting and Evolving a Product-Line Approach. Addison-Wesley, Reading (2000)
Oreizy, P., Gorlick, M.M., Taylor, R.N., Heimbigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D.S., Wolf, A.L.: AnArchitecture-basedApproach to Self-Adaptive Software. IEEE Intelligent Systems 14(3), 54–62 (1999)
Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process and Organization for Business Success. Addison-Wesley, Reading (1997)
van Gurp, J., Bosch, J., Svahnberg, M.: On the Notion ofVariability in Software Product Lines. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture, Amsterdam, The Netherlands, pp. 45–54 (2001)
Bosch, J.: Organizing for Software Product Lines. In: Proceedings of the Third International Workshop on Software Architectures for Product Families, pp. 117–134. Las Palmas de Gran Canaria, Spain (2000)
Jaring, M., Krikhaar, R.L., Bosch, J.: Representing Variability in a Family of MRI Scanners. Accepted for publication in Software Practice and Experience (2003)
Maccari, A., Heie, A.: Managing Infinite Variability. In: Workshop on Software Variability Management, Groningen, The Netherlands (2003)
CAFÉ: From Concept to Application in System-Family Engineering http://sse.informatik.uni-essen.de/CAFE/
Jaring, M., Bosch, J.: Representing Variability in Software Product Lines: A Case Study. In: Proceedings of the Second Software Product Line Conference, San Diego, USA, pp. 15–36 (2002)
Parnas, D.L., Madey, J., Iglewski, M.: Precise Documentation ofWell-Structured Programs. Transactions on Software Engineering 20(12), 948–976 (1994)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)
Donohoe, P. (ed.): Software Product Lines: Experience and Research Directions Proceedings of the First Software Product Line Conference, Denver, USA. Kluwer Academic Publishers, Dordrecht (2000)
Weiss, D.M., Lai, C.T.R.: Software Product-Line Engineering: A Family-Based Software Development Process. Addison-Wesley, Reading (1999)
Jazayeri, M., Ran, A., van der Linden, F.: Software Architecture For Product Families: Putting Research into Practice. Addison-Wesley, Reading (2000)
Keepence, B., Mannion, M.: Using Patterns to Model Variability in Product Families. IEEE Software 16(4), 102–108 (1999)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)
Batory, D., O’Malley, S.: The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Transactions on Software Engineering and Methodology 1(4), 355–398 (1992)
Gibson, J.P.: Feature Requirements Models: Understanding Interactions. In: Feature Interactions in Telecommunication Networks IV, Canada, Montreal, pp. 46–60 (1997)
Griss, M.L., Favaro, J., d’Allesandro, M.: Integrating Feature Modeling with the RSEB. In: Fifth International Conference on Software Reuse, Victoria, Canada, pp. 76–85 (1998)
Karhinen, A., Ran, A., Tallgren, T.: Configuring Designs for Reuse. In: Symposium on Software Reusability, Boston, USA, pp. 199–208 (1997)
van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. IEEE Computer 33(3), 78–85 (2000)
van der Linden, F.J., Müller, J.K.: Creating Architectures with Building Blocks. IEEE Software 12(6), 51–60 (1995)
Coriat, M., Jourdan, J., BoisBourdin, F.: The SPLIT Method: Building Product Lines for Software Intensive Systems. In: Proceedings of the First Software Product Line Conference, Denver, USA, pp. 147–166 (2000)
Thiel, S., Hein, A.: Systematic Integration ofVariability into Product LineArchitecture Design. In: Proceedings of the Second Software Product Line Conference, San Diego, USA, pp. 130–153 (2002)
Buckley, F.J.: Implementing Configuration Management: Hardware, Software and Firmware. IEEE Press, Los Alamitos (1996)
Dart, S.A.: The Past, Present and Future of Configuration Management. Carnegie Mellon University, Software Engineering Institute, Technical Report CMU/SEI-92-TR-8 ESC-TR- 92-8 (1992), http://www.sei.cmu.edu/legacy/scm/abstracts/absPastPresentFuture.html
Tichy, W.F.: Tools for Software Configuration Management. In: Proceedings of the International Workshop on Software Version and Configuration Control, Grassau, Germany, pp. 1–20 (1988)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jaring, M., Bosch, J. (2004). Variability Dependencies in Product Family Engineering. In: van der Linden, F.J. (eds) Software Product-Family Engineering. PFE 2003. Lecture Notes in Computer Science, vol 3014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24667-1_7
Download citation
DOI: https://doi.org/10.1007/978-3-540-24667-1_7
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21941-5
Online ISBN: 978-3-540-24667-1
eBook Packages: Springer Book Archive