Skip to main content

Increasing System Dependability through Architecture-Based Self-Repair

  • Conference paper
  • First Online:

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

Abstract

One increasingly important technique for improving system dependability is to provide mechanisms for a system 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. In this paper we describe a partial solution in which stylized architectural design models are maintained at run time as a vehicle for automatically monitoring system behavior, for detecting when that behavior falls outside of acceptable ranges, and for deciding on a high-level repair strategy. The main innovative feature of the approach is the ability to specialize a generic run time adaptation framework to support particular architectural styles and properties of interest. Specifically, a formal description of an architectural style defines for a family of related systems the conditions under which adaptation should be considered, provides an analytic basis for detecting anomalies, and serves as a basis for developing sound repair strategies.

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. Agha, G. A. Adaptive Middleware. Communications of the ACM 45(6):30–32, Jun. 2002.

    Article  Google Scholar 

  2. 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.

    Google Scholar 

  3. Allen, R.J., Douence, R., and Garlan, D. Specifying Dynamism in Software Architectures. Proc. the Workshop on Foundations of Component-Based Software Engineering, Sept. 1997.

    Google Scholar 

  4. Allen, R.J and Garlan, D. A Formal Basis for Architectural Connection. ACM Transactions of Software Engineering and Methodology, Jul. 1997.

    Article  Google Scholar 

  5. Bertsekas, D. and Gallager, R. Data Networks, Second Edition. Prentice Hall, 1992. ISBN 0-13-200916-1.

    Google Scholar 

  6. Carzaniga, A., Rosenblum, D.S., and Wolf, A.L. Achieving Expressiveness and Scalability in an Internet-Scale Event Notification Service. Proc. 19th ACM Symposium on Principles of Distributed Computing (PODC 2000), Portland OR, Jul. 2000.

    Google Scholar 

  7. Cheng, S-W., Garlan D., Schmerl, B.R., Steenkiste, P.R., Hu. N. Software Architecture-based Adaptation for Grid Computing. Proc. 11th IEEE Conference on High Performance Distributed Computing (HPDC 2002), Edinburgh, Scotland, July 2002.

    Google Scholar 

  8. Dashofy, E., Garlan, D., van der Hoek, A., and Schmerl, B. http://www.ics.uci.edu/pub/arch/xarch/.

  9. Dashofy, E., van der Hoek, A., and Taylor, R.N. A Highly-Extensible, XML-Based Architecture Description Language. Proc. Working IEEE/IFIP Conference on Software Architecture, Amsterdam, The Netherlands, Aug. 2001.

    Google Scholar 

  10. Gantenbien, R.E. Dynamic Binding in Strongly Typed Programming Languages. Journal of Systems and Software 14(1):31–38, 1991.

    Article  Google Scholar 

  11. Garlan, D., Allen, R.J., and Ockerbloom, J. Exploiting Style in Architectural Design. Proc. SIGSOFT’ 94 Symposium on the Foundations of Software Engineerng,, New Orleans, LA, Dec. 1994.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. Garlan, D., Schmerl, B.R., and Chang, J. Using Gauges for Architecture-Based Monitoring and Adaptation. Proc. 1st Working Conference on Complex and Dynamic System Architecture. Brisbane, Australia, Dec. 2001.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. Gorlick, M.M. Distributed Debugging on $5 a day. Proc. California Software Symposium, University of California, Irvine, CA, 1997 pp. 31–39.

    Google Scholar 

  16. Gosling, J. and McGilton, H. The Java Language Environment: A White Paper. Sun Microsystems Computer Company, Mountain View, California, May 1996. Available at http://java.sun.com/docs/white/langenv/.

    Google Scholar 

  17. Gross, P.N, Gupta, S., Kaiser, G.E., Kc, G.S., and Parekh, J.J. An Active Events Model for Systems Monitoring. Proc. 1st Working Conference on Complex and Dynamic Systems Architecture, Brisbane, Australia, Dec. 2001.

    Google Scholar 

  18. Ho, W.W. and Olsson, R.A. An Approach to Genuine Dynamic Linking. Software — Practice and Experience 21(4):375–390, 1991.

    Article  Google Scholar 

  19. Klein, M., Kazman, R., Bass, L., Carriere, J., Barbacci, M., Lipson, H. Attribute-Based Architecture Styles. Software Architecture Proc. 1st Working IFIP Conference on Software Architecture (WICSA1), (San Antonio, TX), Feb. 1999, 225–243.

    Google Scholar 

  20. Kon, F., Romn, M., Liu, P., Mao, J., Yamane, T., Magalh, C., Campbell, R.H. Monitoring, security, and dynamic configuration with the dynamic TAO reflective ORB. IFIP/ACM International Conference on Distributed Systems Platforms, 2000, New York, New York.

    Google Scholar 

  21. Lowekamp, B., Miller, N., Sutherland, D., Gross, T., Steenkiste, P., and Subhlok, J. A Resource Query Interface for Networ-aware Applications. Cluster Computing, 2:139–151, Baltzer, 1999.

    Article  Google Scholar 

  22. Magee, J., Dulay, N., Eisenbach, S., and Kramer, J. Specifying Distributed Software Architectures. Proc. 5th European Software Engineering Conference (ESEC’95), Sitges, Sept. 1995. Also published as Lecture Notes in Computer Science 989, (Springer-Verlag), 1995, pp. 137–153.

    Google Scholar 

  23. Magee, J., and Kramer, J. Concurrency: State Models and Java Programs. Wiley, 1999.

    Google Scholar 

  24. Métayer, D.L. Describing Software Archtiecture Styles using Graph Grammars. IEEE Transactions on Software Engineering, 24(7):521–553, Jul. 1998.

    Article  Google Scholar 

  25. Miller, N., and Steenkiste, P. Collecting Network Status Information for Network-Aware Applications. IEEE INFOCOM 2000, Tel Aviv, Israel, Mar. 2000.

    Google Scholar 

  26. Monroe, R.T. Capturing Software Architecture Design Expertise with Armani. Carnegie Mellon University School of Computer Science Technical Report CMU-CS-98-163.

    Google Scholar 

  27. 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, Mar. 1997.

    Google Scholar 

  28. 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.

    Article  Google Scholar 

  29. Object Management Group. The OMG Unified Modeling Language Specification, Version 1.4. Sep. 2001. Available at http://www.omg.org/technology/documents/formal/uml.htm.

  30. The OpenGroup. Architecture Description Markup Language (ADML) Version 1. Apr. 2000. Available at http://www.opengroup.org/publications/catalog/i901.htm.

  31. 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, pp. 11–15.

    Google Scholar 

  32. 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/Jun. 1999.

    Article  Google Scholar 

  33. Shaw, M. and Garlan, D. Software Architectures: Perspectives on an Emerging Discipline. Prentice Hall, 1996.

    Google Scholar 

  34. Schmerl, B.R., and Garlan, D. Exploiting Architectural Design Knowledge to Support Self-repairing Systems. Proc. 14th International Conference on Software Engineering and Knowledge Engineering, Ischia, Italy, Jul. 15–19, 2002.

    Google Scholar 

  35. Spitznagel, B. and Garlan, D. Architecture-Based Performance Analysis. Proc. 1998 Conference on Software Engineering and Knowledge Engineering, Jun. 1998.

    Google Scholar 

  36. 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.

    Article  Google Scholar 

  37. Valetto, G., and Kaiser, G. A Case Study in Software Adaptation. Proc. 1st ACM SIGSOFT Workshop on Self-Healing Systems (WOSS 2002), Charleston, SC, Nov. 2002.

    Google Scholar 

  38. Vestel, S. MetaH Programmer’s Manual, Version 1.09. Technical Report, Honeywell Technology Center, Apr. 1996.

    Google Scholar 

  39. Wells, D., and Pazandak, P. Taming Cyber Incognito: Surveying Dynamic / Reconfigurable Software Landscapes. Proc. 1st Working Conference on Complex and Dynamic Systems Architectures,, Brisbane, Australia, Dec 12–14, 2001.

    Google Scholar 

  40. Wermelinger, M., Lopes, A., and Fiadeiro, J.L. A Graph Based Architectural (Re)configuration Language. Proc. Joint 8th European Software Engineering Conference and the 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering. Vienna, Austria, Sep. 2001, pp. 21–32.

    Google Scholar 

  41. Wile, D.S. AML: An Architecture Meta-Language. Proc. Automated Software Engineering Conference, Cocoa Beach, FL, Oct. 1999.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Garlan, D., Cheng, SW., Schmerl, B. (2003). Increasing System Dependability through Architecture-Based Self-Repair. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds) Architecting Dependable Systems. Lecture Notes in Computer Science, vol 2677. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45177-3_3

Download citation

  • DOI: https://doi.org/10.1007/3-540-45177-3_3

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

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

  • Online ISBN: 978-3-540-45177-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics