Abstract
One of the major indicators of the success (failure) of software evolution is the extent to which the software system can endure changes in requirements, while leaving the architecture of the software system intact. The presence of this “intuitive” phenomenon is referred to as architectural stability. The concept is still far from being understood and many architectural stability related questions are remained unanswered. Reflecting on our extensive research into the problem, we explore perspectives in handling the problem. We review existing research effort and discuss their limitations. We outline research challenges and opportunities.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Jazayeri, M.: On Architectural Stability and Evolution. LNCS, pp. 13–23. Springer, Heidelberg (2002)
Garlan, D.: Software Architecture: A Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, pp. 91–101. ACM Press, New York (2000)
van Lamsweerde, A.: Requirements Engineering in the Year 00: A Research perspective. In: Proc. 22nd Int. Conf. on Software Engineering, pp. 5–19. ACM Press, New York (2000)
Nuseibeh, B.: Weaving the Software Development Process between Requirements and Architectures. In: Proc. of the First Int. workshop from Software Requirements to Architectures, Toronto, Canada (2001)
Cook, S., Ji, H., Harrison, R.: Dynamic and Static Views of Software Evolution. In: Int. Conf. on Software Maintenance, Florence, Italy, pp. 592–601. IEEE CS, Los Alamitos (2001)
Lehman, M.M.: Feedback, Evolution and Software Technology, FEAST 1-2, http://www-dse.doc.ic.ac.uk/~mml/feast/
Bennet, K., Rajilich, V.: Software Maintenance and Evolution: A Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, pp. 73–90. ACM Press, New York (2000)
Emmerich, W.: Software Engineering and Middleware: A Road Map. In: Finkelstein, A. (ed.) Future of Software Engineering, pp. 117–129. ACM Press, New York (2000b)
Bahsoon, R.: Evalauting Architectural Stability with Real Options Theory, PhD thesis, U. of London, UK (2005)
Bahsoon, R., Emmerich, W.: Evaluating Software Architectures: Development, Stability, and Evolution. In: Proc. of IEEE/ACS Computer Systems and Applications, pp. 47–57. IEEE CS Press, Los Alamitos (2003a)
Kazman, R., Klein, M., Barbacci, M., Lipson, H., Longstaff, T., Carrière, S.J.: The Architecture Tradeoff Analysis Method. In: Proc. of 4th. Int. Conf. on Engineering of Complex Computer Systems, pp. 68–78. IEEE CS Press, Los Alamitos (1998)
Kazman, R., Abowd, G., Bass, L., Webb, M.: SAAM: A Method for Analyzing the Properties of Software Architectures. In: Proc. of 16th Int. Conf. on Software Engineering, pp. 81–90. IEEE CS, Los Alamitos (1994)
Parnas, D.L.: Designing Software for Ease of Extension and Contraction. IEEE Transaction on Software Engineering 5(2) (1979)
Allen, R., Garlan, D.: Formalizing Architectural Connection. In: Proc. of the 14th Int. Conf. on Software Engineering, pp. 71–80. ACM Press, New York (1994)
Smith, C., Woodside, M.: System Performance Evaluation: Methodologies and Applications. CRC Press, Boca Raton (1999)
Boehm, B., Sullivan, K.J.: Software Economics: A Roadmap. In: Finkelstein, A. (ed.) The Future of Software Engineering, pp. 320–343. ACM Press, New York (2000)
Klein, M., Kazman, R.: Attribute-Based Architectural Styles. CMU/SEI-99-TR-22, Software Engineering Institute (1999)
Medvidovic, N., Taylor, R.: A Framework for Classifying and Comparing Architecture Description Languages. In: Proc. of 6th. European Software Engineering Conf., with the Fifth ACM SIGSOFT Symp. on the Foundations of Software Engineering, pp. 60–76. ACM Press, New York (1997)
Garlan, D., Monroe, R., Wile, D.: ACME: An Architectural Interconnection Language. Technical Report, CMU-CS-95-219 (1995)
Magee, J., Dulay, D., Eisenbach, N., Kramer, J.: Specifying Distributed Software Architecture. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995)
Parnas, D.L.: On the Criteria to Be Used in Decomposing Systems into Modules. Communications of the Association of Computing Machinery 15(12), 1053–1058 (1972)
Luckham, D.C., Vera, J.: An Event-Based Architecture Definition Language. IEEE Trans. on Software Engineering 29(9), 717–734 (1995)
Shaw, M., DeLine, R., Klein, D., Ross, T., Young, D.: Abstractions for Software Architecture and Tools to Support them. IEEE Transactions on Software Engineering 21(4), 314–335 (1995)
Moriconi, M., Qian, X., Riemenschneider, R.: Correct Architecture Refinement. IEEE Trans. on Software Engineering 21(4), 356–372 (1995)
Schaller, R.R.: Technology Roadmaps: Implications for Innovation, Strategy, and Policy, The institute of Public Policy, George Mason University Fairfax, VA (1999)
Stafford, J.A., Wolf, A.W.: Architecture-Level Dependence Analysis for Software System. International Journal of Software Engineering and Knowledge Engineering 11(4), 431–453 (2001)
Sullivan, K.J., Chalasani, P., Jha, S., Sazawal, V.: Software Design as an Investment Activity: A Real Options Perspective. In: Trigeorgis, L. (ed.) Real Options and Business Strategy: Applications to Decision-Making, pp. 215–260. Risk Books (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bahsoon, R., Emmerich, W. (2009). Architectural Stability. In: Meersman, R., Herrero, P., Dillon, T. (eds) On the Move to Meaningful Internet Systems: OTM 2009 Workshops. OTM 2009. Lecture Notes in Computer Science, vol 5872. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-05290-3_43
Download citation
DOI: https://doi.org/10.1007/978-3-642-05290-3_43
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-05289-7
Online ISBN: 978-3-642-05290-3
eBook Packages: Computer ScienceComputer Science (R0)