Skip to main content

Architecture Recovery for Product Families

  • Conference paper
Book cover Software Product-Family Engineering (PFE 2003)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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)

    Google Scholar 

  2. Bayer, J., Girard, J.F., Schmid, K.: Architecture Recovery of Existing Systems for Product Families. Technical Report, Fraunhofer IESE (2002)

    Google Scholar 

  3. Bayer, J., Ganesan, D., Girard, J.F., Knodel, J., Kolb, R., Schmid, K.: Definition of Reference Architecture Based on Existing Architectures. Technical Report (2003)

    Google Scholar 

  4. Bosch, J.: Design and Use of Software Architectures: Adopting and evolving a product line approach. Addison Wesley, Mass. (2000)

    Google Scholar 

  5. CAFÉ (from Concepts to Application in system-Family Engineering): http://www.esi.es/en/Projects/Cafe/cafe.html

  6. Hofmeiser, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley, Reading (2000)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. Jazayeri, M., Ran, A., van der Linden, F.: Software Architecture for Product Families: Principles and Practice. Addison-Wesley, Mass. (2000)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. Kruchten, P.B.: The 4+1 View Model of architecture. IEEE Software 12(6), 42–50 (1995)

    Article  Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Pasman, W.: Platform Coverage and Variation in Product Family Approaches. Technical Report, Philips

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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)

    Google Scholar 

  17. Pinzger, M., Gall, H.: Pattern-Supported Architecture Recovery. In: Proceedings of the 10th International Workshop on Program Comprehension (IWPC), pp. 53–61 (2002)

    Google Scholar 

  18. Pronk, B.J.: Component generalization in a multi product family context. Technical Report CAFÉ consortium-wide (2002)

    Google Scholar 

  19. Riva, C.: Architecture Reconstruction in Practice. In: Proceedings of the 3rd Working IEEE/IFIP Conference on Software Architecture (WICSA) (2002)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. 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)

    Google Scholar 

  22. 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)

    Chapter  Google Scholar 

  23. 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)

    Chapter  Google Scholar 

  24. Wijnstra, J.G.: Classifying Product Family Approaches using Platform Coverage and Variation. submitted for publication to Software: Practice and Experience

    Google Scholar 

  25. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics