MAS-DRiVe: a Practical Approach to Decentralized Runtime Verification of Agent Interaction Protocols

We address the problem of decentralized runtime verification of interaction protocols in multiagent systems by means of MAS-DRiVe, an algorithm for partitioning a multiagent system (MAS) into sub-MASs which can be monitored independently. Given a global interaction protocol named AIP (for “Agent Interaction Protocol”) describing all the interactions which can take place in the MAS, the MAS-DRiVe algorithm extracts the interaction graph from AIP , identifies the clusters of agents which cannot be split during the decentralized monitoring as the interactions they are involved in are not independent, collapses each of those clusters into a single node in the interaction graph, and finally partitions the collapsed graph obtained so far. Although the “unsplittable agents identification” stage is still in its early design and prototyping phases and requires a better formalization and a deeper analysis, the MAS-DRiVe algorithm pipeline has been fully implemented and demonstrated on two simple MASs. Once the independently monitorable sub-MASs have been identified by MAS-DRiVe, the global interaction protocol AIP can be projected onto the subsets of agents belonging to each graph partition, thus obtaining local versions of AIP which can be monitored in a decentralized way.

[1]  D. Ancona,et al.  Monitoring Patients with Hypoglycemia Using Self-adaptive Protocol-Driven Agents: A Case Study , 2016, EMAS@AAMAS.

[2]  Benjamin Livshits,et al.  Finding application errors and security flaws using PQL: a program query language , 2005, OOPSLA '05.

[3]  Evelina Lamma,et al.  The SCIFF Abductive Proof-Procedure , 2005, AI*IA.

[4]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[5]  Mark Brörkens,et al.  Dynamic Event Generation for Runtime Checking using the JDI , 2002, Electron. Notes Theor. Comput. Sci..

[6]  Angelo Ferrando,et al.  Runtime verification of fail-uncontrolled and ambient intelligence systems: A uniform approach , 2015, Intelligenza Artificiale.

[7]  Grigore Rosu,et al.  Mop: an efficient and generic runtime verification framework , 2007, OOPSLA.

[8]  Martin Leucker,et al.  Runtime Verification for LTL and TLTL , 2011, TSEM.

[9]  Frank S. de Boer,et al.  Combining Monitoring with Run-Time Assertion Checking , 2014, SFM.

[10]  Gordon J. Pace,et al.  LARVA --- Safer Monitoring of Real-Time Java Programs (Tool Paper) , 2009, 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods.

[11]  Mahesh Viswanathan,et al.  Java-MaC: a Run-time Assurance Tool for Java Programs , 2001, RV@CAV.

[12]  Angelo Ferrando,et al.  Comparing Trace Expressions and Linear Temporal Logic for Runtime Verification , 2016, Theory and Practice of Formal Methods.

[13]  Martin Leucker,et al.  Comparing LTL Semantics for Runtime Verification , 2010, J. Log. Comput..

[14]  Angelo Ferrando,et al.  Global Protocols as First Class Entities for Self-Adaptive Agents , 2015, AAMAS.

[15]  Davide Ancona,et al.  Distributed Runtime Verification of JADE Multiagent Systems , 2014, IDC.

[16]  Vipin Kumar,et al.  A Fast and High Quality Multilevel Scheme for Partitioning Irregular Graphs , 1998, SIAM J. Sci. Comput..

[17]  Laura Giordano,et al.  Specifying and verifying interaction protocols in a temporal action logic , 2007, J. Appl. Log..

[18]  Davide Ancona,et al.  Efficient Verification of MASs with Projections , 2014, EMAS@AAMAS.

[19]  Davide Ancona,et al.  Automatic Generation of Self-monitoring MASs from Multiparty Global Session Types in Jason , 2012, DALT.

[20]  Peter Sanders,et al.  Recent Advances in Graph Partitioning , 2013, Algorithm Engineering.

[21]  Gyula Simon,et al.  The flooding time synchronization protocol , 2004, SenSys '04.

[22]  Grigore Rosu,et al.  Synthesizing Monitors for Safety Properties , 2002, TACAS.

[23]  Vipin Kumar,et al.  Analysis of Multilevel Graph Partitioning , 1995, Proceedings of the IEEE/ACM SC95 Conference.

[24]  Agostino Poggi,et al.  Developing Multi-agent Systems with JADE , 2007, ATAL.