A Survey of Formal Methods for Intelligent Swarms

Swarms of intelligent autonomous spacecraft, involving complex behaviors and interactions, are being proposed for future space exploration missions. Such missions provide greater flexibility and offer the possibility of gathering more science data than traditional single spacecraft missions. The emergent properties of swarms make these missions powerful, but simultaneously far more difficult to design, and to assure that the proper behaviors will emerge. These missions are also considerably more complex than previous types of missions, and NASA, like other organizations, has little experience in developing or in verifying and validating these types of missions. A significant challenge when verifying and validating swarms of intelligent interacting agents is how to determine that the possible exponential interactions and emergent behaviors are producing the desired results. Assuring correct behavior and interactions of swarms will be critical to mission success. The Autonomous Nano Technology Swarm (ANTS) mission is an example of one of the swarm types of missions NASA is considering. The ANTS mission will use a swarm of picospacecraft that will fly from Earth orbit to the Asteroid Belt. Using an insect colony analogy, ANTS will be composed of specialized workers for asteroid exploration. Exploration would consist of cataloguing the mass, density, morphology, and chemical composition of the asteroids, including any anomalous concentrations of specific minerals. To perform this task, ANTS would carry miniaturized instruments, such as imagers, spectrometers, and detectors. Since ANTS and other similar missions are going to consist of autonomous spacecraft that may be out of contact with the earth for extended periods of time, and have low bandwidths due to weight constraints, it will be difficult to observe improper behavior and to correct any errors after launch. Providing V&V (verification and validation) for this type of mission is new to NASA, and represents the cutting edge in system correctness, and requires higher levels of assurance than other (traditional) missions that use a single or small number of spacecraft that are deterministic in nature and have near continuous communication access. One of the highest possible levels of assurance comes from the application of formal methods. Formal methods are mathematics-based tools and techniques for specifying and verifying (software and hardware) systems. They are particularly useful for specifying complex parallel systems, such as exemplified by the ANTS mission, where the entire system is difficult for a single person to fully understand, a problem that is multiplied with multiple developers. Once written, a formal specification can be used to prove properties of a system (e.g., the underlying system will go from one state to another or not into a specific state) and check for particular types of errors (e.g., race or livelock conditions). A formal specification can also be used as input to a model checker for further validation. This report gives the results of a survey of formal methods techniques for verification and validation of space missions that use swarm technology. Multiple formal methods were evaluated to determine their effectiveness in modeling and assuring the behavior of swarms of spacecraft using the ANTS mission as an example system. This report is the first result of the project to determine formal approaches that are promising for formally specifying swarm-based systems. From this survey, the most promising approaches were selected and are discussed relative to their possible application to the ANTS mission. Future work will include the application of an integrated approach, based on the selected approaches identified in this report, to the formal specification of the ANTS mission.

[1]  Abder Koukam,et al.  Formal Specification and Prototyping of Multi-agent Systems , 2000, ESAW.

[2]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[3]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[4]  Koen V. Hindriks,et al.  On Programming KARO Agents , 2001, Log. J. IGPL.

[5]  Jin Song Dong,et al.  Timed Communicating Object Z , 2000, IEEE Trans. Software Eng..

[6]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[7]  Stephen A. Jarvis,et al.  Concurrent systems - formal development in CSP , 1995, McGrawhill international series in software engineering.

[8]  Inmos Limited,et al.  Occam Programming Manual , 1984 .

[9]  Constance L. Heitmeyer,et al.  Model Checking Complete Requirements Specifications Using Abstraction , 2004, Automated Software Engineering.

[10]  Mogens Nielsen,et al.  A calculus of communicating systems with label passing - ten years after , 1986, Proof, Language, and Interaction.

[11]  Michael Papasimeon,et al.  Extending the UML for designing Jack agents , 2001, Proceedings 2001 Australian Software Engineering Conference.

[12]  Nancy A. Lynch,et al.  Dynamic Input/Output Automata: A Formal Model for Dynamic Systems , 2001, CONCUR.

[13]  James F. Allen Towards a General Theory of Action and Time , 1984, Artif. Intell..

[14]  Danny Weyns,et al.  A colored Petri-net for a multi-agent application , 2002 .

[15]  Mauro Birattari,et al.  Swarm Intelligence , 2012, Lecture Notes in Computer Science.

[16]  Kristina Lerman,et al.  Design and Mathematical Analysis of Agent-Based Systems , 2000, FAABS.

[17]  Scott A. Smolka,et al.  Composition and Behaviors of Probabilistic I/O Automata , 1994, Theor. Comput. Sci..

[18]  Mark Anthony Shawn Smith Formal verification of TCP and T/TCP , 1997 .

[19]  Inmos Corp,et al.  Occam Programming Manual , 1984 .

[20]  Albert C. Esterline,et al.  Using the pi-Calculus to Model Multiagent Systems , 2000, FAABS.

[21]  Egon Börger,et al.  Formal methods for industrial applications : specifying and programming the steam boiler control , 1996 .

[22]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[23]  Jeffrey J. Joyce,et al.  Using a Formal Description Technique to Model Aspects of a Global Air Traffic Telecommunications Network , 1997, FORTE.

[24]  Michael J. Butler,et al.  csp2B: A Practical Approach to Combining CSP and B , 1999, Formal Aspects of Computing.

[25]  Yi-Cheng Zhang,et al.  Emergence of cooperation and organization in an evolutionary game , 1997 .

[26]  Albert C. Esterline,et al.  A Statechart Framework for Agent Roles that Captures Expertise and Learns Improved Behavior , 2002, FAABS.

[27]  Michel Rudnianski,et al.  Modeling Task and Teams through Game Theoretical Agents , 2000, FAABS.

[28]  A. S. Roa,et al.  AgentSpeak(L): BDI agents speak out in a logical computable language , 1996 .

[29]  Albert D. Baker,et al.  Multi-Agent Communication in JAFMAS , 1999 .

[30]  B. Berger,et al.  Local rules simulation of the kinetics of virus capsid self-assembly. , 1998, Biophysical journal.

[31]  Scott A. Smolka,et al.  A Compositional Semantics for Statecharts using Labeled Transition Systems , 1994, CONCUR.

[32]  Jörg P. Müller,et al.  Agent UML: A Formalism for Specifying Multiagent Software Systems , 2001, Int. J. Softw. Eng. Knowl. Eng..

[33]  Haiping Xu,et al.  An agent-based Petri net model with application to seller/buyer design in electronic commerce , 2001, Proceedings 5th International Symposium on Autonomous Decentralized Systems.

[34]  Mark B. Josephs,et al.  Receptive process theory , 1992, Acta Informatica.

[35]  Dino Mandrioli,et al.  Proving Properties of Real-Time Systems Through Logical Specifications and Petri Net Models , 1994, IEEE Trans. Software Eng..

[36]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[37]  Clemens Fischer Combination and implementation of processes and data: from CSP-OZ to Java , 2000 .

[38]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999 .

[39]  Amnon Naamad,et al.  The STATEMATE semantics of statecharts , 1996, TSEM.

[40]  Ken Mano,et al.  The Nepi2 Programming System: A pi-Calculus-Based Approach to Agent-Based Programming , 2000, FAABS.

[41]  Manor Askenazi,et al.  Arborscapes: A Swarm-Based Multi-agent Ecological Disturbance Model , 1998 .

[42]  Afsaneh Haddadi,et al.  Belief-desire-intention agent architectures , 1996 .

[43]  J. V. Rauff,et al.  Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence , 2005 .

[44]  Michael Goldsmith,et al.  Hierarchical Compression for Model-Checking CSP or How to Check 1020 Dining Philosophers for Deadlock , 1995, TACAS.

[45]  S. Shankar Sastry,et al.  Conflict resolution for air traffic management: a study in multiagent hybrid systems , 1998, IEEE Trans. Autom. Control..

[46]  E. Winfree Simulations of Computing by Self-Assembly , 1998 .

[47]  Ivar Jacobson,et al.  Unified Modeling Language User Guide, The (2nd Edition) (Addison-Wesley Object Technology Series) , 2005 .

[48]  Franco Zambonelli,et al.  Engineering Societies in the Agents World , 2000, Lecture Notes in Computer Science.

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

[50]  S. S. Pathak,et al.  On Communicating Sequential Processes , 1995, Comput. Networks ISDN Syst..

[51]  Luca Cardelli,et al.  Mobile Ambients , 1998, FoSSaCS.

[52]  Alan Burns,et al.  Concurrent programming , 1980, Operating Systems Engineering.

[53]  Jonathan P. Bowen,et al.  Industrial-Strength Formal Methods in Practice , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[54]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[55]  Mark Ryan,et al.  Formalisms for multi-agent systems , 1997, Knowl. Eng. Rev..

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

[57]  A. W. Roscoe,et al.  Metric Spaces as Models for Real-Time Concurrency , 1987, MFPS.

[58]  Fred Krögr Temporal Logic Of Programs , 1987 .

[59]  S. Boardsen,et al.  Onboard science software enabling future space science and space weather missions , 2002, Proceedings, IEEE Aerospace Conference.

[60]  Peter M. D. Gray,et al.  BDI Agents and Constraint Logic , 2004 .

[61]  David Walker,et al.  Objects in the pi-Calculus , 1992, Inf. Comput..

[62]  Oussama Khatib,et al.  Real-Time Obstacle Avoidance for Manipulators and Mobile Robots , 1985, Autonomous Robot Vehicles.

[63]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[64]  Sheila A. McIlraith Modeling and Programming Devices and Web Agents , 2000, FAABS.

[65]  Munindar P. Singh,et al.  Formal methods in DAI: logic-based representation and reasoning , 1999 .

[66]  William M. Spears,et al.  Using artificial physics to control agents , 1999, Proceedings 1999 International Conference on Information Intelligence and Systems (Cat. No.PR00446).

[67]  Michael Wooldridge,et al.  A LOGIC OF BDI AGENTS WITH PROCEDURAL KNOWLEDGE , 1996 .

[68]  Barbara Webb,et al.  Swarm Intelligence: From Natural to Artificial Systems , 2002, Connect. Sci..

[69]  Michael Wooldridge,et al.  Practical Reasoning with Procedural Knowledge (A LOGIC OF BDI AGENTS WITH KNOW-HOW) , 2002 .

[70]  Walt Truszkowski,et al.  Describing intelligent agent behaviors , 2001 .

[71]  Tobias Hamberger Integrating Theorem Proving and Model Checking in Isabelle/IOA , 1999 .

[72]  Martín Abadi,et al.  A calculus for cryptographic protocols: the spi calculus , 1997, CCS '97.

[73]  Guillermo Ricardo Simari,et al.  Multiagent systems: a modern approach to distributed artificial intelligence , 2000 .

[74]  Lone Leth Thomsen,et al.  Understanding Mobile Agents via a Non-Interleaving Semantics for Facile , 1996, SAS.

[75]  David Harel,et al.  On visual formalisms , 1988, CACM.

[76]  Faron Moller,et al.  The Mobility Workbench - A Tool for the pi-Calculus , 1994, CAV.

[77]  Thomas Sudkamp,et al.  Languages and Machines , 1988 .

[78]  Michael Goldsmith,et al.  Programming in occam 2 , 1985, Prentice Hall international series in computer science.

[79]  G. W. Rowe,et al.  Game Theory in Biology , 1997 .

[80]  Pamela Elizabeth Clark,et al.  ANTS: Applying A New Paradigm for Lunar and Planetary Exploration , 2002 .

[81]  Anand S. Rao,et al.  AgentSpeak(L): BDI Agents Speak Out in a Logical Computable Language , 1996, MAAMAW.

[82]  Elena Zucca,et al.  Parametric Channels via Label Expressions in CCS , 1984, Theor. Comput. Sci..

[83]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[84]  Amy L. Lansky,et al.  Reactive Reasoning and Planning , 1987, AAAI.

[85]  Michael Luck,et al.  Understanding Agent Systems , 2001, Springer Series on Agent Technology.

[86]  Derek Coleman,et al.  Introducing Objectcharts or How to Use Statecharts in Object-Oriented Design , 1992, IEEE Trans. Software Eng..

[87]  Nicolas Lhuillier,et al.  FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS , 2003 .

[88]  J. Guéron,et al.  Time and Modality , 2008 .

[89]  Hongyan Wang,et al.  Social potential fields: A distributed behavioral control for autonomous robots , 1995, Robotics Auton. Syst..

[90]  L. Perlemuter [From theory to practice]. , 1997, Soins. Psychiatrie.

[91]  Pamela Elizabeth Clark,et al.  ANTS for Human Exploration and Development of Space , 2003, 2003 IEEE Aerospace Conference Proceedings (Cat. No.03TH8652).

[92]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[93]  Michael Wooldridge,et al.  Practical Reasoning with Procedural Knowledge , 1996, FAPR.

[94]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

[95]  Lin Padgham,et al.  Agent Capabilities: Extending BDI Theory , 2000, AAAI/IAAI.

[96]  John Lygeros,et al.  Verified hybrid controllers for automated vehicles , 1998, IEEE Trans. Autom. Control..

[97]  Edmund M. Clarke,et al.  Formal Methods: State of the Art and Future Directions Working Group Members , 1996 .

[98]  P Kefalas,et al.  Computational models of collective foraging. , 2001, Bio Systems.

[99]  Sarit Kraus,et al.  Emergent Cooperative Goal-Satisfaction in Large Scale Automated-Agent Systems , 1999, Artif. Intell..

[100]  John von Neumann,et al.  Theory Of Self Reproducing Automata , 1967 .

[101]  K. L. Wrench CSP‐i: An implementation of communicating sequential processes , 1988, Softw. Pract. Exp..

[102]  Mark E. Campbell,et al.  Controlling Multiple Satellite Constellations Using the TEAMAgent System , 2000, FAABS.

[103]  J. Barnard,et al.  Communicating X-machines , 1996, Inf. Softw. Technol..

[104]  Christopher A. Rouff,et al.  Experience using formal methods for specifying a multi-agent system , 2000, Proceedings Sixth IEEE International Conference on Engineering of Complex Computer Systems. ICECCS 2000.

[105]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[106]  Michael Wooldridge,et al.  Reasoning about rational agents , 2000, Intelligent robots and autonomous agents.

[107]  Mike Hinchey,et al.  Verification and validation of autonomous systems , 2001, Proceedings 26th Annual NASA Goddard Software Engineering Workshop.

[108]  Scott A. Smolka,et al.  A Process Algebraic Semantics for Statecharts via State Refinement , 1994, PROCOMET.

[109]  Peter Radford,et al.  Petri Net Theory and the Modeling of Systems , 1982 .

[110]  Pietro Terna,et al.  Economic Simulations in Swarm: Agent-Based Modelling and Object Oriented Programming - By Benedikt Stefansson and Francesco Luna: A Review and Some Comments about "Agent Based Modeling" , 2002 .

[111]  John-Jules Ch. Meyer,et al.  Rational Teams: Logical Aspects of Multi-Agent Systems , 2004, Fundam. Informaticae.

[112]  Clare Dixon,et al.  Verification within the KARO Agent Theory , 2000, FAABS.

[113]  W.M.L. Holcombe Towards a formal description of intracellular biochemical organization , 1990 .

[114]  Roberto Segala A process algebraic view of I/O automata , 1992 .

[115]  Craig W. Reynolds Flocks, herds, and schools: a distributed behavioral model , 1987, SIGGRAPH.

[116]  Timo Steffens,et al.  Understanding Agent Systems , 2004, Künstliche Intell..

[117]  John-Jules Ch. Meyer,et al.  Formalising Abilities and Opportunities of Agents , 1998, Fundam. Informaticae.

[118]  Diana F. Spears,et al.  APT Agents: Agents That Are Adaptive, Predictable, and Timely , 2000, FAABS.

[119]  Sinan Si Alhir,et al.  Guide to Applying the UML , 2002, Springer Professional Computing.

[120]  T Fukuda,et al.  CONCEPT OF CELLULAR ROBOTICS , 1994 .

[121]  D J Sumpter,et al.  Ants and agents: A process algebra approach to modelling ant colony behaviour , 2001, Bulletin of mathematical biology.

[122]  E. Bonabeau,et al.  Self-organization in social insects. , 1997, Trends in ecology & evolution.

[123]  David E. Hiebeler,et al.  The Swarm Simulation System and Individual-Based Modeling , 1994 .

[124]  W. Hoek,et al.  Formalising abilities and opportunities of agents , 1998 .

[125]  Gianfranco Lamperti,et al.  Diagnosis of Large Active Systems , 1999, Artif. Intell..

[126]  Alan Smaill,et al.  Proceedings of the 14th European Conference on Artificial Intelligence (ECAI 2000) , 2000 .

[127]  C. Petri Kommunikation mit Automaten , 1962 .

[128]  Anand S. Rao,et al.  Modeling Rational Agents within a BDI-Architecture , 1997, KR.

[129]  Robert Geisler,et al.  Specifying Safety-Critical Embedded Systems with Statecharts and Z: A Case Study , 1998, FASE.

[130]  S Carlson Artificial life. Boids of a feather flock together. , 2000, Scientific American.

[131]  D. Muthiayen,et al.  Formalizing UML for Rigorous Software Development , 2007 .

[132]  Joseph R. Kiniry,et al.  The Specification of Dynamic Distributed Component Systems , 1998 .

[133]  J. Vollmer,et al.  Modula-P-a language for parallel programming definition and implementation on a transputer network , 1992, Proceedings of the 1992 International Conference on Computer Languages.

[134]  Edward Nawarecki,et al.  From Theory to Practice in Multi-Agent Systems , 2002, Lecture Notes in Computer Science.

[135]  D. Walker,et al.  A Calculus of Mobile Processes, Part Ii , 1989 .

[136]  Nancy A. Lynch,et al.  On Formal Modeling of Agent Computations , 2000, FAABS.

[137]  Michael Papasimeon,et al.  Specifying Agent Behaviour with Use Cases , 2000, PRIMA.

[138]  Zhichang Qi,et al.  RoMAS: A ROLE-BASED MODELING METHOD FOR MULTI-AGENT SYSTEM , 2003 .

[139]  Elke Mentges Concepts for an agent-based framework for interdisciplinary social science simulation , 1999, J. Artif. Soc. Soc. Simul..

[140]  Martin J. Osborne,et al.  An Introduction to Game Theory , 2003 .

[141]  Anna E. Chefter A simulator for the IOA language , 1998 .

[142]  Charles J. Lumsden,et al.  Physical theory in biology : foundations and explorations , 1997 .

[143]  Constance L. Heitmeyer,et al.  Hardware/Software Co-Design and Co-Validation Using the SCR Method , 1999 .

[144]  E. Bonabeau,et al.  Swarm smarts. , 2000, Scientific American.

[145]  Diana F. Gordon,et al.  APT Agents: Agents That Are Adaptive, Predictable, and Timely , 2000 .

[146]  Michael Luck,et al.  Formal Agent Development: Framework to System , 2000, FAABS.

[147]  S. Parsons,et al.  Game Theory and Decision Theory in Agent-Based Systems , 2002, Multiagent Systems, Artificial Societies, and Simulated Organizations.

[148]  Johannes F. Broenink,et al.  A new Java Thread model for concurrent programming of real-time systems , 1998 .

[149]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[150]  R. Arkin,et al.  Behavioral diversity in learning robot teams , 1998 .

[151]  Clare Dixon,et al.  Resolution in a Logic of Rational Agency , 2000 .

[152]  Fabrice Kordon,et al.  Formalization of a Spatialized Multiagent Model Using Coloured Petri Nets for the Study of an Hunting Management System , 2000, FAABS.

[153]  Munindar P. Singh,et al.  Towards a Formal Theory of Intentions , 1991, JELIA.

[154]  P. Pandurang Nayak,et al.  Validating the DS-1 Remote Agent Experiment , 1999 .

[155]  Yves Bertot,et al.  Theorem Proving in Higher Order Logics: 12th International Conference, TPHOLs'99, Nice, France, September 14-17, 1999, Proceedings , 1999 .

[156]  Kristina Lerman,et al.  A General Methodology for Mathematical Analysis of Multi-Agent Systems , 2001 .

[157]  Jonathan P. Bowen,et al.  High-Integrity System Specification and Design , 1999, Formal Approaches to Computing and Information Technology (FACIT).

[158]  Arcot Sowmya,et al.  Extending Statecharts with Temporal Logic , 1998, IEEE Trans. Software Eng..

[159]  Jacques Ferber,et al.  Multi-agent systems - an introduction to distributed artificial intelligence , 1999 .

[160]  Pierfrancesco Bellini,et al.  Temporal logics for real-time system specification , 2000, CSUR.

[161]  Bill Stoddart,et al.  An operational semantics for ZCCS , 1997, First IEEE International Conference on Formal Engineering Methods.

[162]  Doug Lea,et al.  Concurrent programming in Java - design principles and patterns , 1996, Java series.

[163]  Frank Puppe,et al.  UML for Behavior-Oriented Multi-agent Simulations , 2001, CEEMAS.

[164]  S. A. Schuman,et al.  Object-oriented subsystem specification , 1987 .

[165]  Martin Peschke,et al.  Design and Validation of Computer Protocols , 2003 .

[166]  Amir Pnueli,et al.  On the Formal Semantics of Statecharts (Extended Abstract) , 1987, LICS.

[167]  L. Duchien,et al.  A Method for Specifying and Proving Distributed Cooperative Algorithms , 1995 .

[168]  Bojan Cukic,et al.  Agents Talking Faster , 2000, FAABS.

[169]  Bruce Bueno de Mesquita,et al.  An Introduction to Game Theory , 2014 .

[170]  Jaakko Hintikka,et al.  Time And Modality , 1958 .

[171]  S. Khanna,et al.  Japan Advanced Institute of Science and Technology , 2015 .