Abstraction in model checking multi-agent systems

We present an abstraction technique for multi-agent systems preserving temporal-epistemic specifications. We abstract a multi-agent system, defined in the interpreted systems framework, by collapsing the local states and actions of each agent in the system. We show that the resulting abstract system simulates the concrete system, from which we obtain a preservation theorem: If a temporal-epistemic specification holds on the abstract system, the specification also holds on the concrete one. In principle this permits us to model check the abstract system rather than the concrete one, thereby saving time and space in the verification step. We illustrate the abstraction technique with two examples. The first example, a card game, illustrates the potential savings in the cost of model checking a typical MAS scenario. In the second example, the abstraction technique is used to verify a communication protocol with an arbitrarily large data domain.

[1]  Pierre Wolper,et al.  On the Relation of Programs and Computations to Models of Temporal Logic , 1987, Temporal Logic in Specification.

[2]  Alessio Lomuscio,et al.  Model checking knowledge, strategies, and games in multi-agent systems , 2006, AAMAS '06.

[3]  In-Cheol Park,et al.  SAT-based unbounded symbolic model checking , 2003, Proceedings 2003. Design Automation Conference (IEEE Cat. No.03CH37451).

[4]  Helmut Veith,et al.  SAT Based Predicate Abstraction for Hardware Verification , 2003, SAT.

[5]  Somesh Jha,et al.  Exploiting symmetry in temporal logic model checking , 1993, Formal Methods Syst. Des..

[6]  Ron van der Meyden,et al.  MCK: Model Checking the Logic of Knowledge , 2004, CAV.

[7]  Wiebe van der Hoek,et al.  Model Checking Russian Cards , 2006, Electron. Notes Theor. Comput. Sci..

[8]  Yanjing Wang,et al.  Refinement of Kripke Models for Dynamics , 2008, ICTAC.

[9]  Sriram K. Rajamani,et al.  Boolean Programs: A Model and Process for Software Analysis , 2000 .

[10]  Wojciech Penczek,et al.  Bounded model checking for knowledge and real time , 2005, AAMAS '05.

[11]  Helmut Veith,et al.  Counterexample-guided abstraction refinement for symbolic model checking , 2003, JACM.

[12]  R. Goldblatt Logics of Time and Computation , 1987 .

[13]  David Lewis Counterpart Theory and Quantified Modal Logic , 1968 .

[14]  Javier Tuya,et al.  Synchronous Estelle: Just Another Synchronous Language? , 2004, SLAP.

[15]  Patrick Cousot,et al.  Refining Model Checking by Abstract Interpretation , 2004, Automated Software Engineering.

[16]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[17]  Michael Wooldridge,et al.  Computationally grounded theories of agency , 2000, Proceedings Fourth International Conference on MultiAgent Systems.

[18]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[19]  Franco Raimondi,et al.  Model checking multi-agent systems , 2006 .

[20]  Xiaoyu Song,et al.  Effective heuristics for counterexample-guided abstraction refinement , 2007, GLSVLSI '07.

[21]  Daniel Kroening,et al.  Predicate Abstraction of ANSI-C Programs Using SAT , 2004, Formal Methods Syst. Des..

[22]  Wojciech Penczek,et al.  Bounded Model Checking for Interpreted Systems: Preliminary Experimental Results , 2002, FAABS.

[23]  Gerard J. Holzmann,et al.  On-the-fly model checking , 1996, CSUR.

[24]  David L. Dill,et al.  Better verification through symmetry , 1996, Formal Methods Syst. Des..

[25]  David L. Dill,et al.  Counter-Example Based Predicate Discovery in Predicate Abstraction , 2002, FMCAD.

[26]  Helmut Veith,et al.  How to encode a logical structure by an OBDD , 1998, Proceedings. Thirteenth Annual IEEE Conference on Computational Complexity (Formerly: Structure in Complexity Theory Conference) (Cat. No.98CB36247).

[27]  David L. Dill,et al.  Successive approximation of abstract transition relations , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[28]  Somesh Jha,et al.  Abstract BDDs: A Technique for Using Abstraction in Model Checking , 1999, CHARME.

[29]  Wojciech Penczek,et al.  Verifying epistemic properties of multi-agent systems via bounded model checking , 2002, AAMAS '03.

[30]  David L. Dill,et al.  Experience with Predicate Abstraction , 1999, CAV.

[31]  A. Prasad Sistla,et al.  Utilizing symmetry when model-checking under fairness assumptions: an automata-theoretic approach , 1997, TOPL.

[32]  S. Rajamani,et al.  A Counterexample Guided Abstraction Refinement Framework for Verifying Concurrent C Programs , 2005 .

[33]  Michael Wooldridge,et al.  Model checking multi-agent systems with MABLE , 2002, AAMAS '02.

[34]  E. Allen Emerson,et al.  From Asymmetry to Full Symmetry: New Techniques for Symmetry Reduction in Model Checking , 1999, CHARME.

[35]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[36]  Max J. Cresswell,et al.  A New Introduction to Modal Logic , 1998 .

[37]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[38]  Alessio Lomuscio,et al.  Towards verifying contract regulated service composition , 2008, 2008 IEEE International Conference on Web Services.

[39]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[40]  Constantin Enea,et al.  Abstractions of Multi-agent Systems , 2007, CEEMAS.

[41]  Armin Biere,et al.  Bounded model checking , 2003, Adv. Comput..

[42]  Edmund M. Clarke,et al.  Symbolic Model Checking: 10^20 States and Beyond , 1990, Inf. Comput..

[43]  Daniel Kroening,et al.  Verification of SpecC using predicate abstraction , 2004, Proceedings. Second ACM and IEEE International Conference on Formal Methods and Models for Co-Design, 2004. MEMOCODE '04..

[44]  Marco Schaerf Notes on Ginsberg's multivalued logics , 1991, Comput. Intell..

[45]  Ching-Lueh Chang,et al.  The complexity of Tarski's fixed point theorem , 2008, Theor. Comput. Sci..

[46]  Wolfgang Bibel,et al.  An approach to a systematic theorem proving procedure in first-order logic , 1974, Computing.

[47]  Edmund M. Clarke,et al.  Using Branching Time Temporal Logic to Synthesize Synchronization Skeletons , 1982, Sci. Comput. Program..

[48]  Wojciech Penczek,et al.  VerICS 2007 - a Model Checker for Knowledge and Real-Time , 2008, Fundam. Informaticae.

[49]  Yuri Gurevich,et al.  Logic in Computer Science , 1993, Current Trends in Theoretical Computer Science.

[50]  Susanne Kandl,et al.  Abstraction Techniques for Extracted Automata Models , 2007 .

[51]  Chao Wang,et al.  Abstraction Refinement for Large Scale Model Checking , 2006, Series on Integrated Circuits and Systems.

[52]  Alessio Lomuscio,et al.  Verifying Temporal and Epistemic Properties of Web Service Compositions , 2007, ICSOC.

[53]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[54]  Armin Biere,et al.  Verifiying Safety Properties of a Power PC Microprocessor Using Symbolic Model Checking without BDDs , 1999, CAV.

[55]  Alessio Lomuscio,et al.  A Data Symmetry Reduction Technique for Temporal-epistemic Logic , 2009, ATVA.

[56]  Michael Wooldridge,et al.  Model checking agentspeak , 2003, AAMAS '03.

[57]  Daniel Sawitzki The Complexity of Problems on Implicitly Represented Inputs , 2006, SOFSEM.

[58]  Alessio Lomuscio,et al.  Towards verifying compliance in agent-based web service compositions , 2008, AAMAS.

[59]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[60]  Joseph Y. Halpern,et al.  Decision procedures and expressiveness in the temporal logic of branching time , 1982, STOC '82.

[61]  Jan van Leeuwen,et al.  Handbook Of Theoretical Computer Science, Vol. A , 1990 .

[62]  Richard Spencer-Smith,et al.  Modal Logic , 2007 .

[63]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[64]  Wojciech Penczek,et al.  Advances in Verification of Time Petri Nets and Timed Automata: A Temporal Logic Approach , 2006, Studies in Computational Intelligence.

[65]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[66]  Wiebe van der Hoek,et al.  First steps in modal logic , 1997 .

[67]  Alessio Lomuscio,et al.  Distributed BDD-based BMC for the verification of multi-agent systems , 2010, AAMAS.

[68]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[69]  Wojciech Penczek,et al.  VerICS 2004: A Model Checker for Real Time and Multi-agent Systems ? , 2004 .

[70]  Daniel Kroening,et al.  Predicate abstraction and refinement techniques for verifying Verilog , 2004 .

[71]  Alessio Lomuscio,et al.  MCMAS: A Model Checker for Multi-agent Systems , 2006, TACAS.

[72]  Doron A. Peled,et al.  Using partial-order methods in the formal validation of industrial concurrent programs , 1996, ISSTA '96.

[73]  Barbara Messing,et al.  An Introduction to MultiAgent Systems , 2002, Künstliche Intell..

[74]  D. Holdstock Past, present--and future? , 2005, Medicine, conflict, and survival.

[75]  Deepinder Sidhu,et al.  Experience with an Estelle development system , 1990 .

[76]  Wojciech Penczek,et al.  Model checking for multivalued logic of knowledge and time , 2006, AAMAS '06.

[77]  Ioana Cristina Boureanu Model Checking Security Protocols: A Multiagent System Approach , 2011 .

[78]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[79]  Alessio Lomuscio,et al.  Model checking detectability of attacks in multiagent systems , 2010, AAMAS.

[80]  Alessio Lomuscio,et al.  Automatic verification of multi-agent systems by model checking via ordered binary decision diagrams , 2007, J. Appl. Log..

[81]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[82]  Alessio Lomuscio,et al.  Automatic verification of temporal-epistemic properties of cryptographic protocols , 2009, J. Appl. Non Class. Logics.

[83]  Wojciech Penczek,et al.  Symbolic model checking for temporal-epistemic logics , 2007, SIGA.

[84]  Alessio Lomuscio,et al.  MCMAS: A Model Checker for the Verification of Multi-Agent Systems , 2009, CAV.

[85]  Alessio Lomuscio,et al.  Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[86]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.

[87]  Edmund M. Clarke,et al.  Counterexample-guided abstraction refinement , 2003, 10th International Symposium on Temporal Representation and Reasoning, 2003 and Fourth International Conference on Temporal Logic. Proceedings..

[88]  Hassen Saïdi,et al.  Construction of Abstract State Graphs with PVS , 1997, CAV.

[89]  A. Pnueli The Temporal Semantics of Concurrent Programs , 1979, Theor. Comput. Sci..

[90]  Zhifeng Liu,et al.  Abstraction for model checking multi-agent systems , 2011, Frontiers of Computer Science in China.

[91]  A. Prasad Sistla,et al.  Symmetry and model checking , 1993, Formal Methods Syst. Des..

[92]  Alessio Lomuscio,et al.  Automatic Data-Abstraction in Model Checking Multi-Agent Systems , 2010, MoChArt.