Skip to main content

On Architectural Stability and Evolution

  • Conference paper
  • First Online:
Book cover Reliable Software Technologies — Ada-Europe 2002 (Ada-Europe 2002)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2361))

Included in the following conference series:

Abstract

Many organizations are now pursuing software architecture as a way to control their software development and evolution costs and challenges. A software architecture describes a system’s structure and global properties and thus determines not only how the system should be constructed but also guides its evolution. An important challenge is to be able to evaluate the ‘goodness” of a proposed architecture. I suggest stability or resilience as a primary criterion for evaluating an architecture. The stability of an architecture is a measure of how well it accommodates the evolution of the system without requiring changes to the architecture. As opposed to traditional predictive approaches to architecture evaluation, I suggest retrospective analysis for evaluating architectural stability by examining the amount of change applied in successive releases of a software product. I review the results of a case study of twenty releases of a telecommunication software system containing a few million lines of code to show how retrospective analysis may be performed.

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. K. Bennett and V. Rajlich, “A staged model for the software lifecycle,” Computer 33(7): 66–71, July 2000.

    Google Scholar 

  2. H. Gall, M. Jazayeri, R. Klösch, and G. Trausmuth, “Software Evolution Observations Based on Product Release History,” Proceedings of International Conference on Software Maintenance (ICSM’ 97), Bari, Italy, IEEE Computer Society Press, Los Alamitos, CA, September 1997.

    Google Scholar 

  3. H. Gall, K. Hajek, and M. Jazayeri, “Detection of logical coupling based on product release histories,” Proceedings of International Conference on Software Maintenance (ICSM’ 98), Washington, DC, IEEE Computer Society Press, Los Alamitos, CA, November 1998.

    Google Scholar 

  4. H. Gall, M. Jazayeri, and C. Riva, “Visualizing software release histories: the use of color and third dimension,” Proceedings of International Conference on Software Maintenance (ICSM’ 99), pp. 99–108, Oxford, UK, IEEE Computer Society Press, Los Alamitos, CA, September 1999.

    Google Scholar 

  5. M. Jazayeri, A. Ran, and F. van der Linden, Software Architecture for Product Families: Principles and Practice, Addison-Wesley, Reading, 2000.

    Google Scholar 

  6. R. Kazman, M. Klein, and P. Clements, “Evaluating software architectures for real-time systems.”

    Google Scholar 

  7. P. B. Kruchten, “The 4+1 view model of architecture,” IEEE Software, 29(11): 42–50, November 1995.

    Google Scholar 

  8. M. Lanza, “The Evolution Matrix: Recovering Software Evolution using Software Visualization Techniques,” Proceedings of IWPSE (International Workshop on Principles of Software Evolution), 2001, Vienna.

    Google Scholar 

  9. Lehman M.M., “Programs, life cycles and laws of software evolution,” Proceedings of the IEEE, pp. 1060–1076, September 1980.

    Google Scholar 

  10. Lehman M.M. and Belady L.A., Program evolution, Academic Press, London and New York, 1985.

    Google Scholar 

  11. D. L. Parnas, “On the criteria to be used in decomposing systems into modules,” Communications of the ACM, 15(12): 1053–8, December 1972.

    Google Scholar 

  12. D. L. Parnas, “On a buzzword: hierarchical structure,” Proceedings IFIP Congress 1974, North-Holland, Amsterdam, 1974.

    Google Scholar 

  13. D. L. Parnas, “On the design and development of program families,” IEEE Transactions on Software Engineering, 2(2): 1–9, March 1976.

    Google Scholar 

  14. D. L. Parnas, “Designing software for ease of extension and contraction,” IEEE Transactions on Software Engineering, 5(2): 128–138, March 1979.

    Google Scholar 

  15. D. L. Parnas, “Software aging,” Proc. International Conference on Software Engineering (ICSE 94), Sorrento, May 1994, pp. 279–287.

    Google Scholar 

  16. D. E. Perry and A. L. Wolf, “Foundations for the study of software architecture,” ACM SIGSOFT Software Engineering Notes, 17(4): 40–52, October 1992.

    Google Scholar 

  17. M. Shaw and D. Garlan. Software architecture: perspectives on an emerging discipline. Prentice Hall, Englewood Cliffs, NJ, 1996.

    MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Jazayeri, M. (2002). On Architectural Stability and Evolution. In: Blieberger, J., Strohmeier, A. (eds) Reliable Software Technologies — Ada-Europe 2002. Ada-Europe 2002. Lecture Notes in Computer Science, vol 2361. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48046-3_2

Download citation

  • DOI: https://doi.org/10.1007/3-540-48046-3_2

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43784-0

  • Online ISBN: 978-3-540-48046-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics