Using a Teleo-Reactive Programming Style to Develop Self-healing Applications
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.
KeywordsRobust software Goal-based systems Software frameworks Error recovery Context awareness Self-healing
Unable to display preview. Download preview PDF.
- 1.Nilsson, N.J.: Teleo-reactive programs for agent control. Journal of Artificial Intelligence Research 1, 139–158 (1994)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
- 10.Nilsson, N.J.: Teleo-reactive programs web site, http://robotics.stanford.edu/users/nilsson/trweb/tr.html (last accessed 2009)
- 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