Science and Development Network (SciDev.Net)
Developing dependable distributed multi-agent programs is not an easy task. Even with extensive testing and debugging, faults cannot be completely removed. However, many distributed multi-agent programs, especially those employed in safety critical environments, should be able to function properly even in the presence of software faults. Monitoring the execution of a distributed multi-agent program, detecting failures, and reacting to these failures at runtime is the appropriate way to tolerate these failures. In this paper, the authors have designed and implemented a framework for monitoring the execution of distributed multi-agent programs. The proposed framework extends the Java Agent DEvelopment framework (JADE) allowing agent programmers to monitor global states, to detect the occurrence of certain events and to react to these events at runtime.