Abstract
An increasingly important requirement for software systems is the capability to adapt at run time in order to accommodate varying resources, system errors, and changing requirements. For such self-repairing systems, one of the hard problems is determining when a change is needed, and knowing what kind of adaptation is required. Recently several researchers have explored the possibility of using architectural models as a basis for run time monitoring, error detection, and repair. Each of these efforts, however, has demonstrated the feasibility of using architectural models in the context of a specific style. In this paper we show how to generalize these solutions by making architectural style a parameter in the monitoring/repair framework and its supporting infrastructure. The value of this generalization is that it allows one to tailor monitoring/repair mechanisms to match both the properties of interest (such as performance or security), and the available operators for run time adaptation.
The updated original online version for this book can be found at DOI: 10.1007/978-0-387-35607-5_15
Chapter PDF
Similar content being viewed by others
References
Allen, R.J. A Formal Approach to Software Architecture. PhD Thesis, published as Carnegie Mellon University School of Computer Science Technical Report CMU-CS-97-144, May 1997.
Allen, R.J., Douence, R., and Garlan, D. Specifying Dynamism in Software Architectures. In Proc. the Workshop on Foundations of Component-Based Software Engineering, September 1997.
Bertsekas, D. and Gallager, R. Data Networks, Second Edition. Prentice Hall, 1992.
Cheng, S., Garlan, D., Schmerl, B., Sousa, J., Spitznagel, B., Steenkiste, P., and Hu. N. Software Architecture-based Adaptation for Pervasive Systems. Proc. International Conference on Architecture of Computing Systems (ARCS’ 02): Trends in Network and Pervasive Computing, April 811, 2002. Lecture Notes in Computer Science, Vol. 2299, Schmeck, H., Ungerer, T., Wolf, L. (Eds).
Dashofy, E., van der Hoek, A., and Taylor, R.N. A Highly-Extensible, XML-Based Architecture Description Language. Proc. the Working IEEE/IFIP Conference on Software Architecture, Amsterdam, The Netherlands, August 2001.
Gantenbien, R.E. Dynamic Binding in Strongly Typed Programming Languages. Journal of Systems and Software 14 (1): 31 - 38, 1991.
Garlan, D., Allen, R.J., and Ockerbloom, J. Exploiting Style in Architectural Design. Proc. SIG-SOFT ’ 94 Symposium on the Foundations of Software Engineering, New Orleans, LA, Dec. 1994.
Garlan, D., Monroe, R.T., and Wile, D. Acme: Architectural Description of Component-Based Systems. Foundations of Component-Based Systems. Leavens, G.T., and Sitaraman, M. (eds). Cambridge University Press, 2000 pp. 47 - 68.
Garlan, D., Schmerl, B.R., and Chang, J. Using Gauges for Architecture-Based Monitoring and Adaptation. Proc. Working Conference on Complex and Dynamic System Architecture. Brisbane, Australia, December 2001.
Gorlick, M.M., and Razouk, R.R. Using Weaves for Software Construction and Analysis. Proc. 13th International Conference on Software Engineering, IEEE Computer Society Press, May 1991.
Gorlick, M.M. Distributed Debugging on $5 a day. Proc. the California Software Symposium, University of California, Irvine, CA, 1997 pp. 31 - 39.
Gosling, J. and McGilton, H. The Java Language Environment: A White Paper. Sun Microsystems Computer Company, Mountain View, California, May 1996. httpJ(java.sun.com/docewhite/langenv/.
Ho, W.W. and Olsson, R.A. An Approach to Genuine Dynamic Linking. Software–Practice and Experience 21 (4): 375 - 390, 1991.
Magee, J., Dulay, N., Eisenbach, S., and Kramer, J. Specifying Distributed Software Architectures. Proc. the 5th European Software Engineering Conference (ESEC ’ 95), Sitges, September 1995. Lecture Notes in Computer Science 989, (Springer-Verlag), 1995, pp. 137 - 153.
Métayer, D.L. Describing Software Architecture Styles using Graph Grammars. IEEE Transactions on Software Engineering, 24 (7): 521 - 553, July 1998.
Monroe, R.T. Capturing Software Architecture Design Expertise with Armani. Carnegie Mellon University School of Computer Science Technical Report CMU-CS-98-163.
Moriconi, M. and Reimenschneider, R.A. Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies. Technical Report SRI-CSL-97-01, SRI International, 1997.
Morrison, R., Connor, R.C.H., Cutts, Q.I., Dunstan, V.S., and Kirby, G.N.C. Exploiting Persistent Linkage in Software Engineering Environments. The Computer Journal 38 (1): 1 - 16, 1995.
Object Management Group. The OMG Unified Modeling Language Specification, Version 1.4. September 2001. Available at http://www.omg.org/technology/documentetomiaVuml.htm. entsfomlaVuml.htm.
Oriezy, P., Medvidovic, N., and Taylor, R.N. Architecture-Based Runtime Software Evolution. Proc. International Conference on Software Engineering 1998 (ICSE’ 98). Kyoto, Japan, Apr. 1998.
Oriezy, P., Gorlick, M.M., Taylor, R.N., Johnson, G., Medvidovic, N., Quilici, A., Rosenblum, D., and Wolf, A. An Architecture-Based Approach to Self-Adaptive Software. IEEE Intelligent Systems 14 (3): 54 - 62, May/June 1999.
Spitznagel, B. and Garlan, D. Architecture-Based Performance Analysis. Proc. the 1998 Conference on Software Engineering and Knowledge Engineering, June, 1998.
Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead, E.J., Robbins, J.E., Nies, K.A., Oreizy, P., and Dubrow, D.L. A Component-and Message-Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22 (6): 390 - 406, 1996.
Vestel, S. MetaH Programmer’ s Manual, Version 1. 09. Technical Report, Honeywell Technology Center, April 1996.
Wermelinger, M., Lopes, A., and Fiadeiro, J.L. A Graph Based Architectural (Re)configuration Language. Proc. the Joint 8th European Software Engineering Conference and the 9th ACM SIG-SOFT Symposium on the Foundations of Software Engineering. Vienna, Austria, September 2001.
Wile, D.S. AML: An Architecture Meta-Language. Proc. the Automated Software Engineering Conference, Cocoa Beach, FL, October 1999.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Cheng, SW., Garlan, D., Schmerl, B., Sousa, J.P., Spitznagel, B., Steenkiste, P. (2002). Using Architectural Style as a Basis for System Self-repair. In: Bosch, J., Gentleman, M., Hofmeister, C., Kuusela, J. (eds) Software Architecture. WICSA 2002. IFIP — The International Federation for Information Processing, vol 97. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35607-5_3
Download citation
DOI: https://doi.org/10.1007/978-0-387-35607-5_3
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6538-0
Online ISBN: 978-0-387-35607-5
eBook Packages: Springer Book Archive