Exception Handling in Agent-Oriented Systems

Agent-oriented programming may be the next generation paradigm to try and tame the software complexity beast. Agents are active objects capable of autonomous behavior. Mobility can be one of the attributes of agents in open systems. A software system could be structured as a dynamic, and possibly evolving, ensemble of cooperating agents. However, there is very little in the literature on how to effectively handle exceptions in agent-oriented software systems. Agent-oriented systems have all the exception handling concerns of sequential and concurrent systems, as well as some new issues that arise due to mobility and security in open systems. This paper develops an exception handling model whose salient feature is the separation and encapsulation of exception handling for an agent environment in a special agent called a guardian. The model presented here builds upon the notions of events, exceptions, notifications, and commands in an agent ensemble, and presents a number of exception handling patterns that can be used by a guardian. The model presented here is being investigated in the context of the Ajanta mobile agent programming system.

[1]  Dieter K. Hammer,et al.  Mobile software agents , 2000 .

[2]  Alexander Borgida,et al.  Exceptions in object-oriented languages , 1986, OOPWORK '86.

[3]  Aaron Kershenbaum,et al.  Mobile Agents: Are They a Good Idea? , 1996, Mobile Object Systems.

[4]  Jie Xu,et al.  Concurrent Exception Handling and Resolution in Distributed Object Systems , 2000, IEEE Trans. Parallel Distributed Syst..

[5]  Christophe Dony,et al.  Exception handling and object-oriented programming: towards a synthesis , 1990, OOPSLA/ECOOP '90.

[6]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[7]  Michael Wooldridge,et al.  Issues in Agent-Based Software Engineering , 1997, CIA.

[8]  Michael Wooldridge,et al.  Agent-based software engineering , 1997, IEE Proc. Softw. Eng..

[9]  Brian Randell,et al.  Error recovery in asynchronous systems , 1986, IEEE Transactions on Software Engineering.

[10]  John B. Goodenough,et al.  Exception handling: issues and a proposed notation , 1975, CACM.

[11]  Anand R. Tripathi,et al.  Design issues in mobile agent programming systems , 1998, IEEE Concurr..

[12]  Mark Klein,et al.  Exception handling in agent systems , 1999, AGENTS '99.

[13]  David Wong,et al.  Java-based mobile agents , 1999, CACM.

[14]  Anand R. Tripathi,et al.  Protected resource access for mobile agent-based distributed computing , 1998, Proceedings of the 1998 ICPP Workshop on Architectural and OS Support for Multimedia Applications Flexible Communication Systems. Wireless Networks and Mobile Computing (Cat. No.98EX206).

[15]  Jørgen Lindskov Knudsen Better Exception-Handling in Block-Structured Systems , 1987, IEEE Software.

[16]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[17]  Patricia Morreale Agents on the move [mobile software agents] , 1998 .

[18]  David Lorge Parnas,et al.  Evaluation of safety-critical software , 1990, CACM.

[19]  Grady Booch,et al.  Object-oriented analysis and design with applications (2nd ed.) , 1993 .

[20]  Anand R. Tripathi,et al.  Mobile agent programming in Ajanta , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[21]  Nicholas R. Jennings,et al.  On agent-based software engineering , 2000, Artif. Intell..