Skip to main content

Improving Product Line Architecture Design and Customization by Raising the Level of Variability Modeling

  • Conference paper
Top Productivity through Software Reuse (ICSR 2011)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 6727))

Included in the following conference series:

  • 832 Accesses

Abstract

Product Line Architecture (PLA) plays a central role in software product line development. In order to support architecture-level variability modeling, most architecture description languages (ADLs) introduce architectural variation elements, such as optional component, connector and interface, which must be customized during product derivation. Variation elements are many, and design and customization of PLA at the level of individual variation elements are difficult and error-prone. We observed that developers usually perceive architecture variability from the perspective of variant features or variant design decisions that are mapped into groups of architecture variation elements. In the paper, we describe heuristics to identify configurations of variation elements that typically form such groups. We call them variation constructs. We developed an architecture variability management method and a tool that allow developers to work at the variation construct level rather than at the level of individual variation elements. We have applied and evaluated the proposed method in the development and maintenance of a medium-size financial product line. Our experience indicates that by raising variability modeling from variation element to construct level, architecture design and customizations become more intuitive. Not only does our method reduce the design and customization effort, but also better ensures consistent configuration of architectural variation elements, avoiding errors.

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 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.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. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: A comprehensive approach for the development of modular software architecture description languages. ACM Transactions on Software Engineering and Methodology 14(2), 199–245 (2005)

    Article  Google Scholar 

  2. Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture De-scription Languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)

    Article  Google Scholar 

  3. Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley, New York (2002)

    Google Scholar 

  4. Garlan, D., Monroe, R., Wile, D.: ACME: An Architecture Description Interchange Language. In: Proceedings of the 1997 Conference of the Centre for Advanced Studies on Collaborative Research, CASCON (1997)

    Google Scholar 

  5. Medvidovic, N., Oreizy, P., Robbins, J.E., Taylor, R.N.: Using object-oriented typing to support architectural design in the C2 style. In: Proceedings of the 4th ACM Symposium on the Foundations of Software Engineering, FSE (1996)

    Google Scholar 

  6. Magee, J., Kramer, J.: Dynamic Structure in Software Architectures. In: Proceedings of the 4th Symposium on the Foundations of Software Engineering (1996)

    Google Scholar 

  7. Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)

    Article  Google Scholar 

  8. Shaw, M., et al.: Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering 21(4), 314–335 (1995)

    Article  Google Scholar 

  9. Allen, R., Garlan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)

    Article  Google Scholar 

  10. van Ommering, R., et al.: The Koala Component Model for Consumer Electronics Software. Computer 33(3), 78–85 (2000)

    Article  Google Scholar 

  11. Roshandel, R., van der Hoek, A., Mikic-Rakic, M., Medvidovic, N.: Mae—a system model and environment for managing architectural evolution. ACM Transactions on Software Engineering and Methodology 13(2), 240–276 (2004)

    Article  Google Scholar 

  12. Swanson, E.B.: The dimensions of maintenance. In: Proceedings of the 2nd International Conference on Software Engineering (ICSE), pp. 492–497 (1976)

    Google Scholar 

  13. Ye, P., Peng, X., Xue, Y., Jarzabek, S.: A Case Study of Variation Mechanism in an Industrial Product Line. In: Edwards, S.H., Kulczycki, G. (eds.) ICSR 2009. LNCS, vol. 5791, pp. 126–136. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  14. Pohl, K., Metzger, A.: Variability management in software product line engineering. In: Proceedings of the 28th International Conference on Software Engineering, ICSE (2006)

    Google Scholar 

  15. Schmid, K., John, I.: A customizable approach to full lifecycle variability management. Science of Computer Programming 53(3), 259–284 (2004)

    Article  MathSciNet  Google Scholar 

  16. Jarzabek, S., Bassett, P., Zhang, H., Zhang, W.: XVCL: XML-based variant configuration language. In: Proceedings of the 25th International Conference on Software Engineering, ICSE (2003)

    Google Scholar 

  17. Deelstra, S., Sinnema, M., Bosch, J.: Experiences in Software Product Families: Problems and Issues During Product Derivation. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, pp. 165–182. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  18. Hendrickson, S.A., van der Hoek, A.: Modeling Product Line Architectures Through Change Sets and Relationships. In: Proceedings of the 29th International Conference on Software Engineering (ICSE), Minneapolis, USA, pp. 189–198 (2007)

    Google Scholar 

  19. López, N., Casallas, R., van der Hoek, A.: Issues in Mapping Change-Based Product Line Architectures to Configuration Management Systems. In: Proceedings of the 13th Software Product Lines Conference (SPLC), pp. 21–30 (2009)

    Google Scholar 

  20. Loughran, N., Sánchez, P., Garcia, A., Fuentes, L.: Language Support for Managing Variability in Architectural Models. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 36–51. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  21. Keepance, B., Mannion, M.: Using patterns to model variability in product families. IEEE Software 16(4), 102–108 (1999)

    Article  Google Scholar 

  22. Jiang, J., Ruokonen, A., Systä, T.: Pattern-based variability management in Web service development. In: Proceedings of the 3rd European Conference on Web Services, ECOWS 2005 (2005)

    Google Scholar 

  23. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Spencer Peterson, A.: Feature-Oriented Domain Analysis (FODA) Feasibility Study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA

    Google Scholar 

  24. Peng, X., Shen, L., Zhao, W.: An Architecture-based Evolution Management Method for Software Product Line. In: Proceedings of the 21st International Conference on Software Engineering and Knowledge Engineering, SEKE (2009)

    Google Scholar 

  25. Mei, H., Chen, F., Wang, Q., Feng, Y.-D.: ABC/ADL: An ADL Supporting Component Composition. In: George, C.W., Miao, H. (eds.) ICFEM 2002. LNCS, vol. 2495, p. 38. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2011 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhu, J., Peng, X., Jarzabek, S., Xing, Z., Xue, Y., Zhao, W. (2011). Improving Product Line Architecture Design and Customization by Raising the Level of Variability Modeling. In: Schmid, K. (eds) Top Productivity through Software Reuse. ICSR 2011. Lecture Notes in Computer Science, vol 6727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21347-2_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-21347-2_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-21346-5

  • Online ISBN: 978-3-642-21347-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics