Mobile agent systems often require sophisticated cooperation and coordination during error detection and recovery. In this paper we propose novel fault tolerance mechanisms that support co-operative exception handling in such systems. The paper demonstrates how mechanisms like these can be formally developed and analysed. We start with identifying the typical modes of failures in agents and analysing possible failure and recovery scenarios in mobile systems. Stepwise refinement is used as our formal framework for top-down development and verification. Using the framework we formally verify the essential model properties, such as interoperability, local and global state consistency and termination of error recovery. Our approach provides developers with formal generic patterns for incorporating fault-tolerance mechanisms into mobile agent systems. We also demonstrate how the results of our formal development can be instantiated and reused in developing real-world agent software.
AbstractMobile agent systems often require sophisticated cooperation and coordination during error detection and recovery. In this paper we propose novel fault tolerance mechanisms that support co-operative exception handling in such systems. The paper demonstrates how mechanisms like these can be formally developed and analysed. We start with identifying the typical modes of failures in agents and analysing possible failure and recovery scenarios in mobile systems. Stepwise refinement is used as our formal framework for top-down development and verification. Using the framework we formally verify the essential model properties, such as interoperability, local and global state consistency and termination of error recovery. Our approach provides developers with formal generic patterns for incorporating fault-tolerance mechanisms into mobile agent systems. We also demonstrate how the results of our formal development can be instantiated and reused in developing real-world agent software.
About the authorAlexei Iliasov is a Research Associate within the School of Computing Science, Newcastle University.Alexander Romanovsky is a Research Professor. He has been involved in a number of ESPRIT, FP and EPSRC/UK projects on system dependability within which a wide range of general fault tolerance mechanisms and architectures have been developed (DSoS, PDCS, DeVa, CaberNet, MAFTIA, ReSIST, DISCS, RODIN). He has been a co-investigator of two EPSRC/UK projects (DOTS and TrAmS). Now he is coordinating a major FP7 Integrated Project DEPLOY aiming to make major advances in engineering methods for dependable systems through the deployment of formal engineering methods in 5 sectors of European industry. His main interests are in fault tolerance, rigorous design of resilient systems, software architectures, exception handing, mobile agents and service oriented architectures.
Suggested keywords FAULT TOLERANCE, FORMAL METHODS
Formal development of cooperative exception handling for mobile agent systems
ABSTRACTMobile agent systems often require so...