Checking consistency of agent designs against interaction protocols for early-phase defect location

Multi-agent systems are increasingly being used in complex applications due to features such as autonomy, proactivity, flexibility, robustness and social ability. However, these very features also make verifying multi-agent systems a challenging task. In this paper, we propose a mechanism, including automated tool support, for early phase defect detection by comparing agent interaction specifications with the detailed design of the agents participating in the interactions. The basic intuition of our approach is to extract sets of possible traces from the agent design and to verify whether these traces conform to the protocol specifications. Our approach is based on the Prometheus agent design methodology but is applicable to other similar methodologies. Our initial evaluation shows that even simple protocols developed by relatively experienced developers are prone to defects, and our approach is successful in uncovering some of these defects.

[1]  Michael Winikoff,et al.  Debugging multi-agent systems using design artifacts: the case of interaction protocols , 2002, AAMAS '02.

[2]  Jorge J. Gómez-Sanz,et al.  INGENIAS development kit: a visual multi-agent system development environment , 2008, AAMAS.

[3]  David Lowe,et al.  Web Engineering: A Practitioner's Approach , 2008 .

[4]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[5]  Nicholas R. Jennings,et al.  The Gaia Methodology for Agent-Oriented Analysis and Design , 2000, Autonomous Agents and Multi-Agent Systems.

[6]  John Mylopoulos,et al.  Goal-oriented requirements analysis and reasoning in the Tropos methodology , 2005, Eng. Appl. Artif. Intell..

[7]  Michael Winikoff,et al.  Developing intelligent agent systems - a practical guide , 2004, Wiley series in agent technology.

[8]  Marco Pistore,et al.  Model checking early requirements specifications in Tropos , 2001, Proceedings Fifth IEEE International Symposium on Requirements Engineering.

[9]  Franco Zambonelli,et al.  Gaia4E: A Tool Supporting the Design of MAS using Gaia , 2009, ICEIS.

[10]  Lin Padgham,et al.  Model-Based Test Oracle Generation for Automated Unit Testing of Agent Systems , 2013, IEEE Transactions on Software Engineering.

[11]  Benjamin Cox,et al.  NetBill Security and Transaction Protocol , 1995, USENIX Workshop on Electronic Commerce.

[12]  Fausto Giunchiglia,et al.  Tropos: An Agent-Oriented Software Development Methodology , 2004, Autonomous Agents and Multi-Agent Systems.

[13]  Jorge J. Gómez-Sanz,et al.  Intelligent Data Analysis for the Verification of Multi-Agent Systems Interactions , 2006, IDEAL.

[14]  Anand S. Rao,et al.  BDI Agents: From Theory to Practice , 1995, ICMAS.

[15]  Scott A. DeLoach,et al.  O-MaSE: a customisable approach to designing and building complex, adaptive multi-agent systems , 2010, Int. J. Agent Oriented Softw. Eng..

[16]  Leon Sterling,et al.  The Art of Agent-Oriented Modeling , 2009 .

[17]  Mehdi Dastani,et al.  Debugging BDI-Based Multi-Agent Programs , 2009, PROMAS.

[18]  Michael Winikoff Towards making agent UML practical: a textual notation and a tool , 2005, Fifth International Conference on Quality Software (QSIC'05).

[19]  Michael Luck,et al.  Evolutionary testing of autonomous software agents , 2009, Autonomous Agents and Multi-Agent Systems.

[20]  Rafael H. Bordini,et al.  Model checking agent programming languages , 2012, Automated Software Engineering.

[21]  Michael Luck,et al.  Crossing the agent technology chasm: Lessons, experiences and challenges in commercial applications of agents , 2006, The Knowledge Engineering Review.

[22]  H. Van Dyke Parunak,et al.  Representing Agent Interaction Protocols in UML , 2000, AOSE.

[23]  Lin Padgham,et al.  Test Coverage Criteria for Agent Interaction Testing , 2010, AOSE.

[24]  Roger S. Pressman,et al.  Software Engineering: A Practitioner's Approach , 1982 .