Skip to main content

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

  • Conference paper

Part of the Lecture Notes in Computer Science book series (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.

Keywords

  • Variability design rationale
  • product-line architectures

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-642-25126-9_75
  • Chapter length: 10 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   99.00
Price excludes VAT (USA)
  • ISBN: 978-3-642-25126-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   129.00
Price excludes VAT (USA)

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)

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

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

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

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

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

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

    CrossRef  Google Scholar 

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

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