Formal specification and verification of a team formation protocol using TLA+

Team formation in an environment where some relevant parameters are not known in advance is a challenging problem. Communicating automata and distributed algorithms have been used to describe protocols for team formation. A high‐level specification provides a mathematical description of a protocol or a program. TLA  +$$ {}^{+} $$ is a formal specification language designed to provide high‐level specifications of concurrent and distributed systems. The associated model checker known as TLC is capable of model checking the TLA  +$$ {}^{+} $$ specifications. Recently, formal specification of a team formation protocol is given using TLA  +$$ {}^{+} $$ when there is a single initiator (an agent or a robot) that initiates the team formation. Using TLA  +$$ {}^{+} $$ , we examine the formal specification for the multiple initiator situation and demonstrate that a composition technique can yield a single monolithic specification for the multiple initiator situation from the single initiator situation specification. We have used models of varying sizes, and the TLC model checker has confirmed that the protocol's specifications meet certain desired characteristics in each case.

[1]  Rajdeep Niyogi,et al.  Formal Verification of a Distributed Algorithm for Task Execution , 2020, ICCSA.

[2]  Rajdeep Niyogi,et al.  A distributed approach for autonomous cooperative transportation in a dynamic multi-robot environment , 2020, SAC.

[3]  Rajdeep Niyogi,et al.  A distributed approach for road clearance with multi-robot in urban search and rescue environment , 2019, International Journal of Intelligent Robotics and Applications.

[4]  Rajdeep Niyogi,et al.  An Approach for Task Execution in Dynamic Multirobot Environment , 2018, Australasian Conference on Artificial Intelligence.

[5]  Atif Mashkoor,et al.  Evaluating the suitability of state‐based formal methods for industrial deployment , 2018, Softw. Pract. Exp..

[6]  L. Lamport A simple approach to specifying concurrent systems , 2016, CACM.

[7]  Alfredo Candia-Véjar,et al.  The multiple team formation problem using sociometry , 2016, Comput. Oper. Res..

[8]  K. Dautenhahn,et al.  Toward Reliable Autonomous Robotic Assistants Through Formal Verification: A Case Study , 2016, IEEE Transactions on Human-Machine Systems.

[9]  Minjie Zhang,et al.  An Auction-Based Approach for Group Task Allocation in an Open Network Environment , 2016, Comput. J..

[10]  John Anderson,et al.  Dynamic heterogeneous team formation for robotic urban search and rescue , 2015, J. Comput. Syst. Sci..

[11]  C. Newcombe,et al.  How Amazon web services uses formal methods , 2015, Commun. ACM.

[12]  Clare Dixon,et al.  Formal Verification of an Autonomous Personal Robotic Assistant , 2014, AAAI Spring Symposia.

[13]  Mauro Birattari,et al.  Towards a Formal Verification Methodology for Collective Robotic Systems , 2012, ICFEM.

[14]  Mauro Birattari,et al.  Property-driven design for swarm robotics , 2012, AAMAS.

[15]  Noa Agmon,et al.  Leading ad hoc agents in joint action settings with multiple teammates , 2012, AAMAS.

[16]  Clare Dixon,et al.  Analysing robot swarm behaviour via probabilistic model checking , 2012, Robotics Auton. Syst..

[17]  Clare Dixon,et al.  Formal Verification of Probabilistic Swarm Behaviours , 2010, ANTS Conference.

[18]  Theodoros Lappas,et al.  Finding a team of experts in social networks , 2009, KDD.

[19]  Vittorio Belotti,et al.  Humanitarian demining: path planning and remote robotic sweeping , 2009, Ind. Robot.

[20]  C. Baier,et al.  Principles of model checking , 2008 .

[21]  Diego Latella,et al.  Model checking mobile stochastic logic , 2007, Theor. Comput. Sci..

[22]  Peter G. Harrison,et al.  Modelling techniques and tools for computer performance evaluation , 2003, Perform. Evaluation.

[23]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[24]  Leslie Lamport,et al.  High-Level Specifications: Lessons from Industry , 2002, FMCO.

[25]  Maja J. Mataric,et al.  Sold!: auction methods for multirobot coordination , 2002, IEEE Trans. Robotics Autom..

[26]  L. Lamport Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers , 2002 .

[27]  Marta Z. Kwiatkowska,et al.  PRISM: Probabilistic Symbolic Model Checker , 2002, Computer Performance Evaluation / TOOLS.

[28]  Hiroaki Kitano,et al.  The RoboCup-Rescue project: a robotic approach to the disaster mitigation problem , 2000, Proceedings 2000 ICRA. Millennium Conference. IEEE International Conference on Robotics and Automation. Symposia Proceedings (Cat. No.00CH37065).

[29]  Rocco De Nicola,et al.  KLAIM: A Kernel Language for Agents Interaction and Mobility , 1998, IEEE Trans. Software Eng..

[30]  Barton P. Miller,et al.  What are race conditions?: Some issues and formalizations , 1992, LOPL.

[31]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[32]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[33]  R. Niyogi Formal Specification of a Team Formation Protocol , 2022, AINA.

[34]  Rajdeep Niyogi,et al.  Formal Modeling, Verification, and Analysis of a Distributed Task Execution Algorithm , 2021, AINA.

[35]  Rajdeep Niyogi,et al.  DMTF: A Distributed Algorithm for Multi-team Formation , 2020, ICAART.

[36]  Christoph von Praun,et al.  Race Conditions , 2011, Encyclopedia of Parallel Computing.

[37]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[38]  Michael Z. Spivey,et al.  The Z notation , 1989 .