Formalizing and verifying protocol refinements

A (business) protocol describes, in high-level terms, a pattern of communication between two or more participants, specifically via the creation and manipulation of the commitments between them. In this manner, a protocol offers both flexibility and rigor: a participant may communicate in any way it chooses as long as it discharges all of its activated commitments. Protocols thus promise benefits in engineering cross-organizational business processes. However, software engineering using protocols presupposes a formalization of protocols and a notion of the refinement of one protocol by another. Refinement for protocols is both intuitively obvious (e.g., PayViaCheck is clearly a kind of Pay) and technically nontrivial (e.g., compared to Pay, PayViaCheck involves different participants exchanging different messages). This article formalizes protocols and their refinement. It develops Proton, an analysis tool for protocol specifications that overlays a model checker to compute whether one protocol refines another with respect to a stated mapping. Proton and its underlying theory are evaluated by formalizing several protocols from the literature and verifying all and only the expected refinements.

[1]  Munindar P. Singh Semantical Considerations on Dialectical and Practical Commitments , 2008, AAAI.

[2]  Kevin Crowston,et al.  Organizing Business Knowledge: The MIT Process Handbook , 2003 .

[3]  Michael Winikoff Designing Commitment-Based Agent Interactions , 2006, 2006 IEEE/WIC/ACM International Conference on Intelligent Agent Technology.

[4]  Munindar P. Singh An ontology for commitments in multiagent systems: , 1999, Artificial Intelligence and Law.

[5]  Munindar P. Singh An ontology for commitments in multiagent systems: , 1999, Artificial Intelligence and Law.

[6]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 2002, JACM.

[7]  Munindar P. Singh,et al.  An algebra for commitment protocols , 2007, Autonomous Agents and Multi-Agent Systems.

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

[9]  Chris Reed,et al.  Group delegation and responsibility , 2002, AAMAS '02.

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

[11]  Michael Winikoff,et al.  Implementing commitment-based interactions , 2007, AAMAS '07.

[12]  Dov M. Gabbay,et al.  The Declarative Past and Imperative Future: Executable Temporal Logic for Interactive Systems , 1987, Temporal Logic in Specification.

[13]  Hai Yang,et al.  ACM Transactions on Intelligent Systems and Technology - Special Section on Urban Computing , 2014 .

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

[15]  Pinar Yolum,et al.  Design time analysis of multiagent protocols , 2007, Data Knowl. Eng..

[16]  Munindar P. Singh,et al.  Multiagent commitment alignment , 2009, AAMAS.

[17]  R. Dssouli,et al.  Verifying Conformance of Commitment Protocols via Symbolic Model Checking , 2010 .

[18]  D. Sines A collective responsibility. , 1991, Nursing.

[19]  Munindar P. Singh,et al.  Commitment Machines , 2001, ATAL.

[20]  Munindar P. Singh,et al.  Correctness Properties for Multiagent Systems , 2009, DALT.

[21]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

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

[23]  Peter McBurney,et al.  Games That Agents Play: A Formal Framework for Dialogues between Autonomous Agents , 2002, J. Log. Lang. Inf..

[24]  Cristina Baroglio,et al.  Constraints among Commitments: Regulative Specification of Interaction Protocols , 2010, CILC.