Skip to main content

A Self-healing Approach to Designing and Deploying Complex, Distributed and Concurrent Software Systems

  • Conference paper
Programming Multi-Agent Systems (ProMAS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 4411))

Included in the following conference series:

Abstract

Software systems have become too complex to manage and fix manually. An emerging approach to overcome this problem is software self-healing. Studies in related disciplines have offered several self-healing solutions, however these usually address a single class of problems, or they are not applicable in fielded systems. To address the industrial need for software self-healing, we have initiated the EU SHADOWS project. This project concentrates on self-healing of complex systems, extending the state-of-art in several ways. It introduces pioneering technologies to enable the systematic self-healing of classes of failures which are not solved by other approaches. It additionally introduces an approach to the integration of several self-healing technologies in a common solution framework. It also adopts a model-based approach, where models of desired software behavior direct the self-healing process. Combined, these allow for lifecycle support of software self-healing, applicable to both academic and industrial systems.

This research is funded in part by the European Commission via the SHADOWS project under contract No. 035157.

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. https://sysrun.haifa.il.ibm.com/shadows/index.html

  2. Musa, J.D., Iannino, A., Okumoto, K.: Software Reliability: Measurement, Prediction, Application. Professional Edition: Software Engineering Series. McGraw-Hill, New York (1990)

    Google Scholar 

  3. Kan, S.H.: Metrics and Models in Software Quality Engineering, 2nd edn. Addison-Wesley, Reading (2002)

    Google Scholar 

  4. Galin, D.: Software Quality Assurance: From Theory to Implementation. Pearson Education, London (2003)

    Google Scholar 

  5. Myers, G.: The Art of Software Testing, 2nd edn. Wiley, Chichester (2004)

    Google Scholar 

  6. Tanenbaum, A.S., van Stee, M.: Distributed Systems: Principles and Paradigms. Prentice-Hall, Englewood Cliffs (2002)

    MATH  Google Scholar 

  7. Levi, S., Agrawala, A.: Fault Tolerant System Design. McGraw-Hill, New York (1994)

    Google Scholar 

  8. Ganek, A.G., Corbi, T.A.: The Dawn of Autonomic Computing, The Dawn of the Autonomic Computing Era. IBM Systems Journal 42(1) (2003)

    Google Scholar 

  9. The Berkeley/Stanford Recovery-Oriented Computing Project, http://roc.cs.berkeley.edu/

  10. von Newmann, J., Burks, A.W. (eds.): Theory of self-Reproducing Automata. University of Illinois Press, Illinois (1966)

    Google Scholar 

  11. Turing, A.M.: Intelligent Machinery (1948) Report for National Physical Laboratory. In: Meltzer, B., Michie, D. (eds.) Machine Intelligence 7 (1969)

    Google Scholar 

  12. Bullock, S., Cliff, D.: Complexity and Emergent Behaviour in ICT Systems, HP Labs report HPL-2004 -187 (2004), http://www.hpl.hp.com/techreports/2004/HPL-2004-187.html

  13. Zambonelli, F., Parunak, V.: Towards a Paradigm Change in Computer Science and Software Engineering: a Synthesis. The Knowledge Engineering Review 18(4), 329–342 (2004)

    Article  Google Scholar 

  14. Proceedings of SELF-STAR: International Workshop on Self-* Properties in Complex Information Systems, 31 May - 2 June 2004. University of Bologna (2004), http://www.cs.unibo.it/self-star/program.html

  15. Patterson, D., et al.: Recovery Oriented Computing: Motivation, Definition, Techniques, and Case Studies, Computer Science Technical Report UCB//CSD-02-1175, U.C. Berkeley, March 15 (2002), http://roc.cs.berkeley.edu/papers/ROC_TR02-1175.pdf

  16. Herrmann, K., Mühl, G., Geihs, K.: Self-Management: The Solution to Complexity or Just Another Problem? IEEE Distributed Systems Online 6(1), 1 (2005)

    Article  Google Scholar 

  17. Debusmann, M., Geihs, K.: Efficient and Transparent Instrumentation of Application Components Using an Aspect-oriented Approach. In: Brunner, M., Keller, A. (eds.) DSOM 2003. LNCS, vol. 2867, pp. 209–220. Springer, Heidelberg (2003)

    Google Scholar 

  18. Tosi, D.: Research Perspectives in Self-Healing Systems, Technical Report LTA:2004:06, University of Milano at Bicocca (July 2004), http://www.lta.disco.unimib.it/doc/ei/pdf/lta.2004.06.pdf

  19. Colajanni, M., Andreolini, M., Lancellotti, R.: Open Issues in Self-Inspection and Self-Decision Mechanisms for Supporting Complex and Heterogeneous Information Systems. In: Proceedings of. Int’l SELF-STAR 2004 [13] (2004), http://www.cs.unibo.it/self-star/papers/colajanni.pdf

  20. Poladian, V., Sousa, J.P., Garlan, D., Shaw, M.: Dynamic Configuration of Resoubrce-Aware Services. In: Proceedings of the 26th International Conference on Software Engineering (ICSE), Edinburgh, Scotland, May (2004)

    Google Scholar 

  21. Georgiadis, I., Magee, J., Kramer, J.: Self-organising software architectures for distributed software systems. In: Proceedings of the first workshop on Self-healing systems, pp. 33–38. ACM Press, New York (2002)

    Chapter  Google Scholar 

  22. Mikic-Rakic, M., Mehta, N., Medvidovic, N.: Architecture style requirements for self-healing systems. In: Proceedings of the first workshop on self-healing systems, pp. 49–54. ACM Press, New York (2002)

    Chapter  Google Scholar 

  23. Oreizy, P., Gorlick, M., Taylor, R., Heimhigner, D., Johnson, G., Medvidovic, N., Quilici, A., Rosemblum, D., Wolf, A.: An architecture-based approach to self-adaptive software. IEEE Intelligent Systems 14(3), 54–62 (1999)

    Article  Google Scholar 

  24. Appavoo, J., Hui, K., Stumm, M., Wisniewski, R., Da Silva, D., Krieger, O., Soules, C.: An infrastructure for multiprocessor run-time adaptation. In: Proceedings of the first workshop on self healing systems, pp. 3–8. ACM Press, New York (2002)

    Chapter  Google Scholar 

  25. Garlan, D., Schmerl, B.: Model-based adaptation for self-healing systems. In: Proceedings of the first workshop on self-healing systems, pp. 27–32. ACM Press, New York (2002)

    Chapter  Google Scholar 

  26. Valetto, G., Kaiser, G.: Using process technology to control and coordinate software adaptation. In: Proc. 25th international conference on software engineering, pp. 262–272. IEEE Computer Society Press, Los Alamitos (2003)

    Chapter  Google Scholar 

  27. Haerder, T., Reuter, A.: Principles of transaction-oriented database recovery. ACM Computer Surveys 15(4), 287–317 (1983)

    Article  MathSciNet  Google Scholar 

  28. Dabrowski, C., Mills, K.: Understanding self-healing in service-discovery systems. In: Proceedings of the first workshop on self-healing systems, pp. 15–20. ACM Press, New York (2002)

    Chapter  Google Scholar 

  29. Fuggetta, A., Picco, G., Vigna, G.: Understanding code mobility. IEEE Transactions on Software Engineering 24(5), 342–361 (1998)

    Article  Google Scholar 

  30. Cobleigh, J., Osterweil, L., Wise, A., Lerner, B.S.: Containment units: a hierarchically composable architecture for adaptive systems. In: Proc. of 10th ACM SIGSOFT symposium on Foundations of Software Engineering, pp. 159–165. ACM Press, New York (2002)

    Google Scholar 

  31. Farchi, E., Nir, Y., Ratsaby, G., Ur, S.: Multithreaded Java program test generation. IBM Systems Journal 41(1), 111–125 (2002)

    Article  Google Scholar 

  32. Farchi, E., Nir, Y., Ur, S.: Concurrent Bug Patterns and How to Test Them. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS’03), p. 286b (2003)

    Google Scholar 

  33. Mariani, L., Pezzè, M.: Behavior Capture and Test: Automated Analysis of Component Integration. In: Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems, Shangai, China, 16-20 June, 2005, IEEE Computer Society Press, Los Alamitos (2005)

    Google Scholar 

  34. Breitgand, D., Henis, E., Shehory, O.: Automated and Adaptive Threshold Setting: Enabling Technology for Autonomy and Self Management. In: Proc. 2nd Intl. Conference on Autonomic Computing (ICAC’05), Seattle, June (2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Rafael H. Bordini Mehdi Dastani Jürgen Dix Amal El Fallah Seghrouchni

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Shehory, O. (2007). A Self-healing Approach to Designing and Deploying Complex, Distributed and Concurrent Software Systems. In: Bordini, R.H., Dastani, M., Dix, J., Seghrouchni, A.E.F. (eds) Programming Multi-Agent Systems. ProMAS 2006. Lecture Notes in Computer Science(), vol 4411. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-71956-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-71956-4_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-71955-7

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics