Skip to main content

A Process for Documenting Variability Design Rationale of Flexible and Adaptive PLAs

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 7046))

Abstract

Variability is a means for evolution of component-based architectures, driving flexible and adaptive architectures. In recent years, researches have emphasized the need for documenting architectural knowledge to maintain and evolve software, i.e. the need for documenting not only the design of the solution, but also the decisions driving the design and their rationale. However, few approaches document the architectural knowledge behind variability, known as variability design rationale. This paper presents the process for documenting variability design rationale of flexible and adaptive architectures alongside their architectural description. This process is supported by the metamodels Flexible-PLA and Product-Line Architectural Knowledge which define the modeling primitives to completely describe the structure of product-line architectures and to document variability design rationale, respectively. The tool FPLA implements these modeling primitives supporting the specification of architectural models ready to be involved in a model-driven development process. It is illustrated with an example.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Ali Babar, M., Dingsyr, T., Lago, P., Vliet, H.v.: Software Architecture Knowledge Management. Springer, Heidelberg (2009)

    Book  MATH  Google Scholar 

  2. Bachmann, F., Bass, L.: Managing variability in software architectures. In: SSR 2001: Proceedings of the 2001 Symposium on Software Reusability, pp. 126–132. ACM, New York (2001)

    Google Scholar 

  3. Chen, L., Ali Babar, M., Ali, N.: Variability management in software product lines: a systematic review. In: SPLC 2009: Proceedings of the 13th International Software Product Line Conference, pp. 81–90. Carnegie Mellon University (2009)

    Google Scholar 

  4. Clements, P., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., Stafford, J.A.: Documenting Software Architectures: Views and Beyond, 2nd edn. Addison-Wesley Professional (2010)

    Google Scholar 

  5. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multilevel configuration of feature models. Software Process: Improvement and Practice 10(2), 143–169 (2005)

    Article  Google Scholar 

  6. Dashofy, E.M., Hoek, A.v.d., Taylor, R.N.: A comprehensive approach for the development of modular software architecture description languages. ACM Trans. Softw. Eng. Methodol. 14(2), 199–245 (2005)

    Article  Google Scholar 

  7. Galvão, I., van den Broek, P., Akşit, M.: A model for variability design rationale in spl. In: Proceedings of the Fourth European Conference on Software Architecture: Companion Volume, ECSA 2010, pp. 332–335. ACM, New York (2010)

    Chapter  Google Scholar 

  8. van der Hoek, A., Mikic-Rakic, M., Roshandel, R., Medvidovic, N.: Taming architectural evolution. In: Proceedings of ESEC/FSE-9, pp. 1–10. ACM, New York (2001)

    Google Scholar 

  9. Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: WICSA 2005: Proceedings of 5th Working IEEE/IFIP Conference on Software Architecture, pp. 109–120 (2005)

    Google Scholar 

  10. Kakarontzas, G., Stamelos, I., Katsaros, P.: Product line variability with elastic components and test-driven development. In: Proceedings of CIMCA 2008, pp. 146–151. IEEE Computer Society, Washington, DC (2008)

    Google Scholar 

  11. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Lee, S.H. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  12. Knodel, J., Muthing, D.: The Role of Rationale in the Design of Product Line Architectures - a Case Study from Industry. In: Rationale Management in Software Engineering, pp. 237–254. Springer, Heidelberg (2006)

    Google Scholar 

  13. Magro, B., Garbajosa, J., Pérez, J.: Applied Software Product Line Engineering. In: Applied Software Product Line Engineering, pp. 173–199. Taylor & Francis (2009)

    Google Scholar 

  14. Matinlassi, M.: Comparison of software product line architecture design methods: Copa, fast, form, kobra and qada. In: Proceedings of ICSE 2004, pp. 127–136. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  15. Mohan, K., Ramesh, B.: Managing variability with traceability in product and service families. In: Proceedings of HICSS, pp. 1309–1317 (2002)

    Google Scholar 

  16. Mohan, K., Ramesh, B.: Tracing variations in software product families. Commun. ACM 50, 68–73 (2007)

    Article  Google Scholar 

  17. Pérez, J., Díaz, J., Soria, C.C., Garbajosa, J.: Plastic partial components: A solution to support variability in architectural components. In: Proceedings of WICSA/ECSA 2009, pp. 221–230. IEEE (2009)

    Google Scholar 

  18. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. SIGSOFT Softw. Eng. Notes 17(4), 40–52 (1992)

    Article  Google Scholar 

  19. Pohl, K., Böckle, G., Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Germany (2005)

    Book  MATH  Google Scholar 

  20. Razavian, M., Khosravi, R.: Modeling variability in the component and connector view of architecture using uml. In: Proceedings of AICCSA 2008, pp. 801–809. IEEE Computer Society, Washington, DC (2008)

    Google Scholar 

  21. Scott, J., Kazman, R.: Realizing and refining architectural tactics: Availability. Tech. rep., Technical report CMU/SEI-2009-TR-006 ESC-TR-2009-006

    Google Scholar 

  22. Shahin, M., Liang, P., Khayyambashi, M.: Architectural design decision: Existing models and tools. In: Proceedings of WICSA/ECSA 2009, pp. 293–296 (2009)

    Google Scholar 

  23. Tang, A., Avgeriou, P., Jansen, A., Capilla, R., Ali Babar, M.: A comparative study of architecture knowledge management tools. Systems & Software J. (2009)

    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

Díaz, J., Pérez, J., Garbajosa, J., Wolf, A.L. (2011). A Process for Documenting Variability Design Rationale of Flexible and Adaptive PLAs. In: Meersman, R., Dillon, T., Herrero, P. (eds) On the Move to Meaningful Internet Systems: OTM 2011 Workshops. OTM 2011. Lecture Notes in Computer Science, vol 7046. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-25126-9_75

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-25126-9_75

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-25125-2

  • Online ISBN: 978-3-642-25126-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics