Skip to main content

Using a Teleo-Reactive Programming Style to Develop Self-healing Applications

  • Conference paper
Autonomic Computing and Communications Systems (AUTONOMICS 2009)

Abstract

A well designed traditional software system is capable of recognising and either avoiding or recovering from a number of expected events. However, during the design phase it is not possible to envision and thus equip the software to handle all events or perturbations that can occur; this limits the extent of adaptability that can be achieved. Alternatively a goal-oriented system has the potential to steer around generic classes of problems without the need to specifically identify these.

This paper presents a teleo-reactive approach for the development of robust adaptive and autonomic software where the focus is on high level goals rather than the low level actions and behaviour of software systems. With this approach we maintain focus on the business objectives of the system rather than the underlying mechanisms.

An extensible software framework is presented, with an example application which shows how unexpected events can be dealt with in a natural way.

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. Nilsson, N.J.: Teleo-reactive programs for agent control. Journal of Artificial Intelligence Research 1, 139–158 (1994)

    Google Scholar 

  2. Giorgini, P., Mylopoulos, J., Sebastiani, R.: Goal-oriented requirements analysis and reasoning in the tropos methodology. Engineering Applications of Artificial Intelligence 18(2), 159–171 (2005)

    Article  Google Scholar 

  3. Bresciani, P., Perini, A., Giorgini, P., Giunchiglia, F., Mylopoulos, J.: Tropos: An agent-oriented software development methodology. Autonomous Agents and Multi-Agent Systems 8(3), 203–236 (2004)

    Article  MATH  Google Scholar 

  4. Castro, J., Kolp, M., Mylopoulos, J.: Towards requirements-driven information systems engineering: the tropos project. Inf. Syst. 27(6), 365–389 (2002)

    Article  MATH  Google Scholar 

  5. Van Lamsweerde, A.: Goal-oriented requirements engineering: A guided tour. In: RE 2001: Proceedings of the Fifth IEEE International Symposium on Requirements Engineering, pp. 249–262. IEEE Computer Society, Washington (2001)

    Google Scholar 

  6. Fowler, M.: UML Distilled: A Brief Guide to the Standard Object Modeling Language. Addison-Wesley Longman Publishing Co., Inc., Boston (2004)

    Google Scholar 

  7. Dashofy, E.M., van der Hoek, A., Taylor, R.N.: Towards architecture-based self-healing systems. In: WOSS 2002: Proceedings of the first workshop on Self-healing systems, pp. 21–26. ACM, New York (2002)

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  9. Hassan, S., Mcsherry, D., Bustard, D.: Autonomic self healing and recovery informed by environment knowledge. Artif. Intell. Rev. 26, 89–101 (2006)

    Article  Google Scholar 

  10. Nilsson, N.J.: Teleo-reactive programs web site, http://robotics.stanford.edu/users/nilsson/trweb/tr.html (last accessed 2009)

  11. Hayes, I.J.: Towards reasoning about teleo-reactive programs for robust real-time systems. In: SERENE 2008: Proceedings of the 2008 RISE/EFTS Joint International Workshop on Software Engineering for Resilient Systems, pp. 87–94. ACM, New York (2008)

    Chapter  Google Scholar 

  12. Gordon, E., Logan, B.: Game over: You have been beaten by a GRUE. In: Fu, D., Henke, S., Orkin, J. (eds.) Challenges in Game Artificial Intelligence, Technical Report. Papers from the 2004 AAAI Workshop, pp. 16–21. AAAI Press, Menlo Park (2004)

    Google Scholar 

  13. Broda, K., Hogger, C.: Determining and verifying good policies for cloned teleo-reactive agents. Int. Journal of Computer Systems Science and Engineering 20(4), 249–258 (2005)

    Google Scholar 

  14. Kephart, J.: Research challenges of autonomic computing. In: International Conference on Software Engineering (ICSE), pp. 15–22. ACM, New York (2005)

    Google Scholar 

  15. Sterritt, R., Parashar, M., Tianfield, H., Unland, R.: A concise introduction to autonomic computing. Advanced Engineering Informatics 19(3), 181–187 (2005)

    Article  Google Scholar 

  16. Kochenderfer, M.J.: Evolving hierarchical and recursive teleo-reactive programs through genetic programming. In: Ryan, C., Soule, T., Keijzer, M., Tsang, E.P.K., Poli, R., Costa, E. (eds.) EuroGP 2003. LNCS, vol. 2610, pp. 83–92. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  17. Choi, D., Langley, P.: Learning teleoreactive logic programs from problem solving. In: Kramer, S., Pfahringer, B. (eds.) ILP 2005. LNCS (LNAI), vol. 3625, pp. 51–68. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 ICST Institute for Computer Science, Social Informatics and Telecommunications Engineering

About this paper

Cite this paper

Hawthorne, J., Anthony, R. (2010). Using a Teleo-Reactive Programming Style to Develop Self-healing Applications. In: Vasilakos, A.V., Beraldi, R., Friedman, R., Mamei, M. (eds) Autonomic Computing and Communications Systems. AUTONOMICS 2009. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 23. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-11482-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-11482-3_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-11481-6

  • Online ISBN: 978-3-642-11482-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics