Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
Beer, S. (1984). The viable system model: Its provenance, development, methodology and pathology. Journal of the Operational Research Society, 35:7–26.
Bentley, P. (2005). Investigations into graceful degradation of evolutionary developmental software. Natural Computing, 4:417–437.
Boehm, B. (1996). Identifying quality-requirement conflicts. Software, 13(2):25–35.
Brooks, F. (1975). The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley Professional, Reading, MA.
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.
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.
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.
Cockburn, A. (2002). Agile Software Development. Pearson Education, 2nd edition.
EASe, I. (2006). 3rd IEEE International Workshop on Engineering of Autonomic & Autonomous Systems (EASe 2006). IEEE Computer Society, Potsdam, Germany, 24-30 March.
Gilb, T. (1988). Principles of Software Engineering Management. Addison Wesley Professional, Reading, MA.
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.
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, http://www.research.ibm.com/autonomic/.
HPWorld (2003). Adaptive infrastructure. Technical report, Atlanta, GA.
IBM (2005). An architectural blueprint for autonomic computing. Technical report. White paper, 3rd edition.
IBM and Cisco (2003). Adaptive services framework. Technical report, IBM and Cisco Systems. White paper, Version 1.0.
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.
Kephart, J. and Chess, D. (2003). The vision of autonomic computing. Computer, 36(1):41–52.
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.
McAfee (2007). http://www.siteadvisor.com.
Microsoft (2004). Dynamic systems initiative overview. Technical report, Microsoft Corporation. White paper, revised 15 November.
Nelson (1990). Fault tolerant computing: Fundamental concepts. Computer, 23(7):19–25.
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.
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.
Sun (2002). N1 - Introducing just-in-time computing. Technical report, Sun Microsystems. White paper.
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.
Want, R., Pering, T., and Tennenhouse, D. (2003). Comparing autonomic and proactive computing. IBM Systems Journal in Technology, 42(1):129–135.
Wikipedia (2007). Microsoft word. http://en.wikipedia.org/wiki/Microsoft_Word (last accessed October 2007).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag London Limited
About this chapter
Cite this chapter
Bustard, D., Sterritt, R. (2008). A Two-Level Robustness Model for Self-Managing Software Systems. In: Schuster, A. (eds) Robust Intelligent Systems. Springer, London. https://doi.org/10.1007/978-1-84800-261-6_3
Download citation
DOI: https://doi.org/10.1007/978-1-84800-261-6_3
Publisher Name: Springer, London
Print ISBN: 978-1-84800-260-9
Online ISBN: 978-1-84800-261-6
eBook Packages: Computer ScienceComputer Science (R0)