A Two-Level Robustness Model for Self-Managing Software Systems

  • David Bustard
  • Roy Sterritt


Potentially, software quality can be improved significantly by constructing systems that are self-managing. Such systems monitor both their internal state and operating environment during execution, and respond, as necessary, to any significant changes or problems detected. This chapter considers the role of robustness in the design and operation of self-managing systems. Robustness is discussed in relation to other general requirements of ideal systems and a basic design pattern developed. The resulting model includes a two-level user interface for communication with self-managing systems, which is illustrated with word processing and Web browser examples.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abrahamsson, P., Warsta, J., Siponen, M., and Ronkainen, J. (2003). New directions on agile methods: A comparative analysis. In Proceedings of the 25th International Conference on Software Engineering, pages 244–254, 3–10 May, Portland, OR. IEEE Computer Society.Google Scholar
  2. Avizienis, A., Laprie, J., Randell, B., and Landwehr, C. (2004). Basic concepts and taxonomy of dependable and secure computing. IEEE Transactions on Dependable and Secure Computing, 1(1):11–33.CrossRefGoogle Scholar
  3. Beer, S. (1984). The viable system model: Its provenance, development, methodology and pathology. Journal of the Operational Research Society, 35:7–26.Google Scholar
  4. Bentley, P. (2005). Investigations into graceful degradation of evolutionary developmental software. Natural Computing, 4:417–437.zbMATHCrossRefMathSciNetGoogle Scholar
  5. Boehm, B. (1996). Identifying quality-requirement conflicts. Software, 13(2):25–35.CrossRefGoogle Scholar
  6. Brooks, F. (1975). The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley Professional, Reading, MA.Google Scholar
  7. Bustard, D., Moore, A., Higgins, D., and Ayre, D. (2007). Towards self-managing web sites: The link integrity problem. In Proceedings of 4th IEEE International Workshop on Engineering of Autonomic and Autonomous Systems, pages 61–67. Tucson, AZ, IEEE Computer Society.Google Scholar
  8. Bustard, D. and Sterritt, R. (2006). A requirements engineering perspective on autonomic systems development. In Parashar, M. and Hariri, S., editors, Autonomic Computing: Concepts, Infrastructure, and Applications. Taylor & Francis Group, Boca Raton, FL. CRC Press.Google Scholar
  9. Cheng, B., de Lemos, R., Fickas, S., Garlan, D., Litoiu, M., Magee, J., Mulller, H., and Taylor, R. (2007). Seams 2007: Software engineering for adaptive and self-managing systems. In International Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS ’07), 20–26 May, Minneapolis, MN. IEEE Computer Society.Google Scholar
  10. Cockburn, A. (2002). Agile Software Development. Pearson Education, 2nd edition.Google Scholar
  11. EASe, I. (2006). 3rd IEEE International Workshop on Engineering of Autonomic & Autonomous Systems (EASe 2006). IEEE Computer Society, Potsdam, Germany, 24-30 March.Google Scholar
  12. Gilb, T. (1988). Principles of Software Engineering Management. Addison Wesley Professional, Reading, MA.zbMATHGoogle Scholar
  13. Hoh, I., Boehm, B., Rodger, T., and Deutsch, M. (2001). Applying WinWin to quality requirements: A case study. In Proceedings of the 23rd International Conference on Software Engineering, pages 555–564, Toronto, Ontario, Canada. IEEE Computer Society.Google Scholar
  14. Horn, P. (2001). Autonomic computing: Ibm perspective on the state of information technology. Technical report, IBM T.J. Watson Labs., NY. Presented at AGENDA 2001, Scottsdale, AR,
  15. HPWorld (2003). Adaptive infrastructure. Technical report, Atlanta, GA.Google Scholar
  16. IBM (2005). An architectural blueprint for autonomic computing. Technical report. White paper, 3rd edition.Google Scholar
  17. IBM and Cisco (2003). Adaptive services framework. Technical report, IBM and Cisco Systems. White paper, Version 1.0.Google Scholar
  18. Kephart, J. (2005). Research challenges of autonomic computing. In In Proceedings of the 27th International Conference on Software Engineering, pages 15–22, St. Louis, Missouri. IEEE Computer Society.Google Scholar
  19. Kephart, J. and Chess, D. (2003). The vision of autonomic computing. Computer, 36(1):41–52.CrossRefMathSciNetGoogle Scholar
  20. Lightstone, S. (2007). Foundations of autonomic computing development. In 4th IEEE International Workshop on Engineering of Autonomic and Autonomous Systems (EASe 2007), pages 163–171, 26–29 March, Arizona. IEEE Computer Society.CrossRefGoogle Scholar
  21. Microsoft (2004). Dynamic systems initiative overview. Technical report, Microsoft Corporation. White paper, revised 15 November.Google Scholar
  22. Nelson (1990). Fault tolerant computing: Fundamental concepts. Computer, 23(7):19–25.Google Scholar
  23. O’Reilly, C., Bustard, D., and Morrow, P. (2005). The war room command console: shared visualizations for inclusive team coordination. In Proceedings of the ACM 2005 Symposium on Software Visualization, pages 57–65, 14–15 May, St. Louis, Missouri.Google Scholar
  24. Strassner, J. (2008). Autonomic networking. In 5th IEEE International Workshop on Engineering of Autonomic and Autonomous Systems, Belfast, Northern Ireland, 31 March–4 April. IEEE Computer Society. Accepted for publication.Google Scholar
  25. Sun (2002). N1 - Introducing just-in-time computing. Technical report, Sun Microsystems. White paper.Google Scholar
  26. Tian, J., Rudraraju, S., and Li, Z. (2004). Evaluating web software reliability based on work-load and failure data extracted from server logs. IEEE Transactions on Software Engineering, 30(11):754–769.CrossRefGoogle Scholar
  27. Want, R., Pering, T., and Tennenhouse, D. (2003). Comparing autonomic and proactive computing. IBM Systems Journal in Technology, 42(1):129–135.CrossRefGoogle Scholar
  28. Wikipedia (2007). Microsoft word. (last accessed October 2007).

Copyright information

© Springer-Verlag London Limited 2008

Authors and Affiliations

  1. 1.School of Computing and Information Engineering Faculty of Computing & EngineeringUniversity of UlsterColeraineNorthern Ireland
  2. 2.School of Computing & MathematicsUniversity of UlsterNewtownabbeyNorthern Ireland

Personalised recommendations