Abstract
Software product families are rarely created right away but they emerge when a domain becomes mature enough to sustain their long-term investments. The typical pattern is to start with a small set of products to quickly enter a new market. As soon as the business proves to be successful new investments are directed to consolidating the software assets. The various products are migrated towards a flexible platform where the assets are shared and new products can be derived from. In order to create and maintain the platform, the organization needs to carry out several activities such as recovering the architectures of single products and product families, designing the reference architecture, isolating the variable parts, and generalizing software components. In this paper, we introduce a product family construction process that exploits related systems and product families, and we describe methods and tools used. We also present an approach for classifying platforms according to platform coverage and variation and describe three techniques to handle variability across single products and whole product families.
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
Anastasopoulos, M., Bayer, J., Flege, O., Gacek, C.: A Process for Product Line Architecture Creation and Evaluation – PuLSE-DSSA Version 2.0. Technical Report, No. 038.00/E, Fraunhofer IESE (2000)
Bayer, J., Girard, J.F., Schmid, K.: Architecture Recovery of Existing Systems for Product Families. Technical Report, Fraunhofer IESE (2002)
Bayer, J., Ganesan, D., Girard, J.F., Knodel, J., Kolb, R., Schmid, K.: Definition of Reference Architecture Based on Existing Architectures. Technical Report (2003)
Bosch, J.: Design and Use of Software Architectures: Adopting and evolving a product line approach. Addison Wesley, Mass. (2000)
CAFÉ (from Concepts to Application in system-Family Engineering): http://www.esi.es/en/Projects/Cafe/cafe.html
Hofmeiser, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (2000)
Holt, R.C.: Software Architecture Abstraction and Aggregation as Algebraic Manipulations. In: Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research (CASCON), Toronto, Canada (1999)
Jazayeri, M., Ran, A., van der Linden, F.: Software Architecture for Product Families: Principles and Practice. Addison-Wesley, Mass. (2000)
Knodel, J., Pinzger, M.: Improving Fact Extraction of Framework-Based Software Systems. In: Proceedings of the 10th Working Conference on Reverse Engineering, WCRE (2003) (to appear)
Kruchten, P.B.: The 4+1 View Model of architecture. IEEE Software 12(6), 42–50 (1995)
Lorentsen, L., Tuovinen, A.-P., Xu, J.: Modelling Feature Interaction Patterns in Nokia Mobile Phones using Coloured Petri Nets and Design/CPN. In: Proceedings of the 7th Symposium on Programming Languages and Software Tools, Szeged, Hungary, pp. 15–16 (2001)
Mehta, N.R., Medvidovic, N., Phadke, S.: Towards a taxonomy of software connectors. In: Proceedings of the 22nd International Conference on Software Engineering (ICSE), Limerick, Ireland, pp. 178–187 (2000)
Parnas, D.L., Clements, P.C.: A Rational Design Process: How and Why to Fake It. IEEE Transactions on Software Engineering 19(2), 251–257 (1993)
Pasman, W.: Platform Coverage and Variation in Product Family Approaches. Technical Report, Philips
Pinzger, M., Gall, H., Jazayeri, M., Riva, C.: Extracting Architectural Views from Large Telecommunications Software: A Case Study. Technical Report TUV-1841-2002-50, Vienna University of Technology (2002)
Pinzger, M., Fischer, M., Gall, H., Jazayeri, M.: Revealer: A Lexical Pattern Matcher for Architecture Recovery. In: Proceedings of the 9th Working Conference on Reverse Engineering (WCRE), pp. 170–178 (2002)
Pinzger, M., Gall, H.: Pattern-Supported Architecture Recovery. In: Proceedings of the 10th International Workshop on Program Comprehension (IWPC), pp. 53–61 (2002)
Pronk, B.J.: Component generalization in a multi product family context. Technical Report CAFÉ consortium-wide (2002)
Riva, C.: Architecture Reconstruction in Practice. In: Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture (WICSA) (2002)
Riva, C., Yang, Y.: Generation of Architectural Documentation using XML. In: Proceedings of the 9th Working Conference on Reverse Engineering (WCRE), pp. 161–169 (2002)
Riva, C., Rodriguez, J.V.: Combining Static and Dynamic Views for Architecture Reconstruction. In: Proceedings of the 6th European Conference on Software Maintenance and Reengineering (CSMR), pp. 47–55 (2002)
Wijnstra, J.G.: Components, Interfaces and Information Models within a Platform Architecture. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 25–35. Springer, Heidelberg (2001)
Wijnstra, J.G.: Critical Factors for a Successful Platform-based Product Family Approach. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 68–89. Springer, Heidelberg (2002)
Wijnstra, J.G.: Classifying Product Family Approaches using Platform Coverage and Variation. submitted for publication to Software: Practice and Experience
Turner, C.R., Fuggetta, A., Lavazza, L., Wolf, A.L.: A conceptual basis for feature engineering. The Journal of Systems and Software 49, Elsevier (1999)
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
Pinzger, M. et al. (2004). Architecture Recovery for Product Families. 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_26
Download citation
DOI: https://doi.org/10.1007/978-3-540-24667-1_26
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-21941-5
Online ISBN: 978-3-540-24667-1
eBook Packages: Springer Book Archive