An approach to debug interactions in multi-agent system software tests
One of the most recurrent approaches for testing and debugging multi-agent systems is the use of displays which show recorded interactions among agents. These displays are studied in order to discover faults in the software. Three main shortcomings are present in this approach: (1) how to capture the interactions in distributed multi-agent systems is not usually explained; (2) a total order among the events is considered and this is not accurate in a distributed system; (3) an excess of information is displayed to developers without the possibility of obtaining a summary. This paper offers a solid infrastructure to capture, order, display and summarize messages exchanged in multi-agent systems. To deal with (1), a generic registration layer is offered by using aspect oriented programming. Vector clocks are employed to order the distributed events with the aim of solving (2). These clocks are combined with graph theory to obtain simplified representations of the interactions. Finally, abstract graphs are presented as a mechanism to summarize interactions to cover (3). Several case studies demonstrate the utility of the approach presented here and an open source implementation is provided along with the paper.
debugging multi-agent systems testing off-line analysis