Skip to main content

Autonomic Computing Now You See It, Now You Don’t

Design and Evolution of Autonomic Software Systems

  • Chapter
Software Engineering (ISSSE 2007, ISSSE 2008, ISSSE 2006)

Abstract

With the rapid growth of web services and socio-technical ecosystems, the management complexity of these modern, decentralized, distributed computing systems presents significant challenges for businesses and often exceeds the capabilities of human operators. Autonomic computing is an effective set of technologies, models, architecture patterns, standards, and processes to cope with and reign in the management complexity of dynamic computing systems using feedback control, adaptation, and self-management. At the core of an autonomic system are control loops which sense their environment, model their behavior in that environment, and take action to change the environment or their own behavior. Computer science researchers often approach the design of such highly dynamical systems from a software architecture perspective whereas engineering researchers start with a feedback control perspective. In this article, we argue that both design perspectives are needed and necessary for autonomic system design.

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 49.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 64.95
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. Astrom, K.J., Wittenmark, B.: Adaptive Control, 2nd edn. Addison-Wesley, Reading (1995)

    Google Scholar 

  2. Babaoğlu, Ö., Jelasity, M., Montresor, A., Fetzer, C., Leonardi, S., van Moorsel, A., van Steen, M. (eds.): SELF-STAR 2004. LNCS, vol. 3460, pp. 1–20. Springer, Heidelberg (2005)

    Book  Google Scholar 

  3. Boehm, B.: A View of 20th and 21st Century Software Engineering. In: 28th ACM/IEEE International Conference on Software Engineering (ICSE 2006), pp. 12–29. ACM, New York (2006)

    Google Scholar 

  4. Brittenham, P., Cutlip, R.R., Draper, C., Miller, B.A., Choudhary, S., Perazolo, M.: IT Service Management Architecture and Autonomic Computing. IBM Systems Journal 46(3), 565–581 (2007)

    Article  Google Scholar 

  5. Broy, M., Jarke, M., Nagl, M., Rombach, D.: Manifest: Strategische Bedeutung des Software Engineering in Deutschland. Informatik-Spektrum 29(3), 210–221 (2006)

    Article  Google Scholar 

  6. Burns, R.S.: Advanced Control Engineering. Butterworth-Heinemann (2001)

    Google Scholar 

  7. Chan, H., Chieu, T.C.: An Approach to Monitor Application Status for Self-Managing (Autonomic) Systems. In: 18th ACM Annual SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2003), pp. 312–313. ACM, New York (2003)

    Google Scholar 

  8. Chao, L.: Special Issue on Autonomic Computing. Intel Technology Journal 10(4), 253–326 (2006)

    Article  Google Scholar 

  9. Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J., Andersson, J., Becker, B., Bencomo, N., Brun, Y., Cukic, B., Di Marzo Serugendo, J., Dustdar, S., Finkelstein, A., Gacek, C., Geihs, K., Grassi, V., Karsai, G., Kienle, H.M., Kramer, J., Malek, S., Mirandola, R., Müller, H.A., Park, S., Tichy, M., Tivoli, M., Weyns, D., Whittle, J.: A Research Roadmap: Software Engineering for Self-Adaptive Systems, Wadern, Germany, 12 pages (2008); Presented at ACM/IEEE International ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2008). ACM, New York (2008), http://www.dagstuhl.de/08031/

  10. Dawson, R., Desmarais, R., Kienle, H.M., Müller, H.A.: Monitoring in Adaptive Systems Using Reflection. In: 3rd ACM/IEEE International ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2008), pp. 81–88. ACM, New York (2008)

    Google Scholar 

  11. De Kleer, J., Mackworth, A.K., Reiter, R.: Characterizing Diagnosis and Systems. Artificial Intelligence 56(23), 197–222 (1992)

    Article  MathSciNet  MATH  Google Scholar 

  12. Diao, Y., Hellerstein, J.L., Parekh, S., Griffith, R., Kaiser, G.E., Phung, D.: A Control Theory Foundation for Self-Managing Computing Systems. IEEE Journal on Selected Areas in Communications 23(12), 2213–2222 (2005)

    Article  Google Scholar 

  13. Dobson, S., Denazis, S., Fernández, A., Gaiti, D., Gelenbe, E., Massacci, F., Nixon, P., Saffre, F., Schmidt, N., Zambonelli, F.: A Survey of Autonomic Communications. ACM Transactions on Autonomous and Adaptive Systems (TAAS) 1(2), 223–259 (2006)

    Article  Google Scholar 

  14. Draper, C.: Combine Autonomic Computing and SOA to Improve IT Management. IBM Developer Works (2006), http://www.ibm.com/developerworks/library/ac-mgmtsoa/index.html

  15. Dumont, G.A., Huzmezan, M.: Concepts, Methods and Techniques in Adaptive Control. In: American Control Conference (ACC 2002), vol. 2, pp. 1137–1150. IEEE Computer Society, Washington (2002)

    Google Scholar 

  16. Ganek, A.G., Corbi, T.A.: The Dawning of the Autonomic Computing Era. IBM Systems Journal 42(1), 5–18 (2003)

    Article  Google Scholar 

  17. Ganek, A.G.: Overview of Autonomic Computing: Origins, Evolution, Direction. In: Parashar, M., Hariri, S. (eds.) Autonomic Computing: Concepts, Infrastructure, and Applications. CRC Press, Boca Raton (2006)

    Google Scholar 

  18. Garlan, D., Cheng, S., Schmerl, B.: Increasing System Dependability through Architecture-based Self-repair. In: de Lemos, R., Gacek, C., Romanovsky, A. (eds.) Architecting Dependable Systems. LNCS, vol. 2677. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  19. Garlan, D., Cheng, S., Huang, A.-C., Schmerl, B., Steenkiste, P.: Rainbow: Architecture-Based Self-Adaptation with Reusable Infrastructure. IEEE Computer 37(10), 46–54 (2004)

    Article  Google Scholar 

  20. Gat, E.: On Three-layer Architectures. In: Kortenkamp, D., Bonasso, R., Murphy, R. (eds.) Artificial Intelligence and Mobile Robots: Case Studies of Successful Robot Systems. MIT/AAAI Press (1998)

    Google Scholar 

  21. Hawthorne, M.J., Perry, D.E.: Exploiting Architectural Prescriptions for Self-Managing, Self-Adaptive Systems: A Position Paper. In: 1st ACM SIGSOFT Workshop on Self-Managed Systems (WOSS 2004), pp. 75–79 (2004)

    Google Scholar 

  22. Hawthorne, M.J., Perry, D.E.: Architectural Styles for Adaptable Self-healing Dependable Systems. Technical Report, University of Texas at Austin, USA (2005), http://users.ece.utexas.edu/~perry/work/papers/MH-05-Styles.pdf

  23. Hellerstein, J.L., Diao, Y., Parekh, S., Tilbury, D.M.: Feedback Control of Computing Systems. John Wiley & Sons, Chichester (2004)

    Book  Google Scholar 

  24. Herger, L., Iwano, K., Pattnaik, P., Davis, A.G., Ritsko, J.J.: Special Issue on Autonomic Computing. IBM Systems Journal 42(1), 3–188 (2003), http://www.research.ibm.com/journal/sj42-1.html

    Article  Google Scholar 

  25. Hewlett-Packard Development Company: HP Unveils Adaptive Enterprise Strategy to Help Businesses Manage Change and Get More from Their IT Investments (2003), http://www.hp.com/hpinfo/newsroom/press/2003/030506a.html

  26. Horn, P.: Autonomic Computing. Online Whitepaper (2001), http://www.research.ibm.com/autonomic/manifesto/autonomic_computing.pdf

  27. Huebscher, M.C., McCann, J.A.: A Survey of Autonomic Computing—Degrees, Models, and Applications. ACM Computing Surveys 40(3), 7, 1–28 (2008)

    Article  Google Scholar 

  28. IBM Corporation: An Architectural Blueprint for Autonomic Computing, 4th edn. (2006), http://www-03.ibm.com/autonomic/pdfs/AC_Blueprint_White_Paper_4th.pdf

  29. IBM Corporation: Symptoms Reference Specification V2.0 (2006), http://download.boulder.ibm.com/ibmdl/pub/software/dw/opensource/btm/SymptomSpec_v2.0.pdf

  30. IBM Corporation: Autonomic Computing Toolkit User’s Guide, 3rd edn. (2005), http://download.boulder.ibm.com/ibmdl/pub/software/dw/library/autonomic/books/fpu3mst.pdf

  31. Information Technology Infrastructure Library (ITIL). Office of Government Commerce, UK (2007), http://www.itil.org.uk/

  32. Inverardi, P., Tivoli, M.: The Future of Software: Adaptation and Dependability. In: De Lucia, A., Ferrucci, F. (eds.) ISSSE 2006–2008, University of Salerno, Italy. LNCS, vol. 5413, pp. 1–31. Springer, Heidelberg (2009)

    Google Scholar 

  33. Kaiser, G., Parekh, J., Gross, P., Valetto, G.: Kinesthetics eXtreme: An External Infrastructure for Monitoring Distributed Legacy Systems. In: 5th IEEE Annual International Active Middleware Workshop (AMS 2003), pp. 22–30. IEEE Computer Society, Washington (2003)

    Google Scholar 

  34. Kazman, R., Chen, H.-M.: The Metropolis Model: A New Logic for the Development of Crowdsourced Systems. Communications of the ACM, 18 pages (submitted, 2008)

    Google Scholar 

  35. Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. IEEE Computer 36(1), 41–50 (2003)

    Article  Google Scholar 

  36. Kluth, A.: Information Technology—Make It Simple. The Economist (2004), http://www.economist.com/surveys/displaystory.cfm?story_id=E1_PPDSPGP&CFID=17609242&CFTOKEN=84287974

  37. Kramer, J., Magee, J.: Dynamic Structure in Software Architectures. ACM SIGSOFT Software Engineering Notes 21(6), 3–14 (1996)

    Article  Google Scholar 

  38. Kramer, J., Magee, J.: Self-managed Systems: An Architectural Challenge. In: Future of Software Engineering (FoSE 2007), pp. 259–268. IEEE Computer Society, Washington (2007)

    Chapter  Google Scholar 

  39. Lapouchnian, A., Liaskos, S., Mylopoulos, J., Yu, Y.: Towards Requirements-Driven Autonomic Systems Design. In: ICSE Workshop on Design and Evolution of Autonomic Application Software (DEAS 2005), pp. 45–51. ACM, New York (2005)

    Google Scholar 

  40. Lapouchnian, A., Yu, Y., Liaskos, S., Mylopoulos, J.: Requirements-Driven Design of Autonomic Application Software. In: ACM IBM Center for Advanced Studies Conference on Collaborative Research (CASCON 2006), pp. 80–93. ACM, New York (2006)

    Google Scholar 

  41. Litoiu, M., Woodside, M., Zheng, T.: Hierarchical Model-based Autonomic Control of Software Systems. In: ICSE Workshop on Design and Evolution of Autonomic Application Software (DEAS 2005), pp. 34–40. ACM, New York (2005)

    Google Scholar 

  42. Marcus, A.: Dashboards in Your Future. ACM Interactions 13(1), 48–49 (2006)

    Article  Google Scholar 

  43. McKinley, P.K., Sadjadi, M., Kasten, E.P., Cheng, B.H.C.: Composing Adaptive Software. IEEE Computer 37(7), 56–64 (2004)

    Article  Google Scholar 

  44. Microsoft Corporation: Dynamic Systems 2007: Get Started With Dynamic Systems Technology Today (2007), http://www.microsoft.com/business/dsi/dsiwp.mspx

  45. Müller, H.A., O’Brien, L., Klein, M., Wood, B.: Autonomic Computing. Technical Report, Software Engineering Institute, Carnegie Mellon University, CMU/SEI-2006-TN-006, 61 pages (2006), http://www.sei.cmu.edu/pub/documents/06.reports/pdf/06tn006.pdf

  46. Müller, H.A.: Bits of History, Challenges for the Future and Autonomic Computing Technology (Keynote). In: 13th IEEE Working Conference on Reverse Engineering (WCRE 2006), pp. 9–18. IEEE Computer Society, Washington (2006)

    Chapter  Google Scholar 

  47. Müller, H.A., Pezzè, M., Shaw, M.: Visibility of Control in Adaptive Systems. In: 2nd ACM/IEEE International ICSE Workshop on Ultra-Large-Scale Software-Intensive Systems (ULSSIS 2008), pp. 23–26. ACM, New York (2008)

    Chapter  Google Scholar 

  48. Neti, S., Müller, H.A.: Quality Criteria and an Analysis Framework for Self-Healing Systems. In: 2nd ACM/IEEE International ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS 2007), pp. 39–48. IEEE Computer Society, Washington (2007)

    Google Scholar 

  49. OASIS: Web Services Distributed Management: Management of Web Services (WSDM-MOWS) 1.1 OASIS Standard (2006), http://docs.oasis-open.org/wsdm/wsdm-mows-1.1-spec-os-01.htm

  50. Ogata, K.: Discrete-Time Control Systems, 2nd edn. Prentice-Hall, Englewood Cliffs (1995)

    Google Scholar 

  51. Northrop, L., Feiler, P., Gabriel, R., Goodenough, J., R., L., Longstaff, T., Kazman, R., Klein, M., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-Large-Scale Systems—The Software Challenge of the Future. Technical Report, Software Engineering Institute, Carnegie Mellon University, 134 pages (2006), http://www.sei.cmu.edu/uls

  52. Oreizy, P., Medvidovic, N., Taylor, R.N.: Architecture-Based Runtime Software Evolution (Most Influential Paper Award at ICSE 2008). In: ACM/IEEE International Conference on Software Engineering (ICSE 1998), pp. 177–186. IEEE Computer Society, Washington (1998)

    Google Scholar 

  53. Oreizy, P., Medvidovic, N., Taylor, R.N.: Runtime Software Adaptation: Framework, Approaches, and Styles. In: ACM/IEEE International Conference on Software Engineering (ICSE 2008), pp. 899–910. ACM, New York (2008)

    Google Scholar 

  54. Reiter, R.: A Theory of Diagnosis from First Principles. Artificial Intelligence 32(1), 57–95 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  55. Schloss Dagstuhl Seminar 08031. Software Engineering for Self-Adaptive Systems, Wadern, Germany (2008), http://www.dagstuhl.de/08031/

  56. SEI Software-Intensive Systems (ISIS). Integration of Software-Intensive Systems (ISIS) Initiative: Addressing System-of-Systems Interoperability (2007), http://www.sei.cmu.edu/isis/

  57. Shaw, M.: Beyond Objects: A Software Design Paradigm Based on Process Control. ACM SIGSOFT Software Engineering Notes 20(1), 27–38 (1995)

    Article  Google Scholar 

  58. Sun Microsystems: Sun N1 Service Provisioning System (2007), http://www.sun.com/software/products/service_provisioning/index.xml

  59. Tanner, J.A.: Feedback Control in Living Prototypes: A New Vista in Control Engineering. Medical and Biological Engineering and Computing 1(3), 333–351 (1963), http://www.springerlink.com/content/rh7wx0675k5mx544/

    Google Scholar 

  60. Tewari, V., Milenkovic, M.: Standards for Autonomic Computing. Intel Technology Journal 10(4), 275–284 (2006)

    Article  Google Scholar 

  61. Truex, D., Baskerville, R., Klein, H.: Growing Systems in Emergent Organizations. Communications of the ACM 42(8), 117–123 (1999)

    Article  Google Scholar 

  62. Wong, K.: The Reverse Engineering Notebook. Ph.D. Thesis, Department of Computer Science, University of Victoria, Canada, 149 pages (1999) ISBN:0-612-47299-X

    Google Scholar 

  63. Tsypkin, Y.Z.: Adaptation and Learning in Automatic Systems. Mir Publishing, Moscow (1971)

    MATH  Google Scholar 

  64. Zhu, Q., Lin, L., Kienle, H.M., Müller, H.A.: Characterizing Maintainability Concerns in Autonomic Element Design. In: IEEE International Conference on Software Maintenance (ICSM 2008), 10 pages. IEEE Computer Society, Washington (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Müller, H.A., Kienle, H.M., Stege, U. (2009). Autonomic Computing Now You See It, Now You Don’t. In: De Lucia, A., Ferrucci, F. (eds) Software Engineering. ISSSE ISSSE ISSSE 2007 2008 2006. Lecture Notes in Computer Science, vol 5413. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-95888-8_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-95888-8_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-95887-1

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

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics