Applying formal methods to distributed algorithms using local-global relations

This thesis deals with the design and analysis of distributed systems in which homogeneous, autonomous agents collaborate to achieve a common goal. The class of problems studied includes consensus algorithms in which all agents eventually come to an agreement about a specific action. The thesis proposes a framework, called local-global, for analyzing these systems. A local interaction is an interaction among subsets of agents, while a global interaction is one among all agents in the system. Global interactions, in practice, are rare, yet they are the basis by which correctness of a system is measured. For example, if the problem is to compute the average of a measurement made separately by each agent, and all the agents in the system could exchange values in a single action, then the solution is straightforward: each agent gets the values of all others and computes the average independently. However, if the system consists of a large number of agents with unreliable communication, this scenario is highly unlikely. Thus, the design challenge is to ensure that sequences of local interactions lead, or converge, to the same state as a global interaction. The local-global framework addresses this challenge by describing each local interaction as if were a global one, encompassing all agents within the system. This thesis outlines the concept in detail, using it to design algorithms, prove their correctness, and ultimately develop executable implementations that are reliable. To this end, the tools of formal methods are employed: algorithms are modeled, and mechanically checked, within the PVS theorem prover; programs are also verified using the Spin model checker; and interface specification languages are used to ensure local-global properties are still maintained within Java and C# implementations. The thesis presents example applications of the framework and discusses a class of problems to which the framework can be applied.

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

[2]  Sonia Martínez,et al.  Discrete-time dynamic average consensus , 2010, Autom..

[3]  G. Rote A systolic array algorithm for the algebraic path problem (shortest paths; Matrix inversion) , 1985, Computing.

[4]  Farhad Arbab,et al.  The Role of Agent Interaction in Models of Computing: Panelist Reviews , 2005, FInCo@ETAPS.

[5]  Dan Yamins The emergence of global properties from local interactions: static properties and one-dimensional patterns , 2006, AAMAS '06.

[6]  Eugene Fink A survey of sequential and systolic algorithms for the algebraic path problem , 1992 .

[7]  Yair Amir,et al.  Membership Algorithms for Multicast Communication Groups , 1992, WDAG.

[8]  Roger I. Khazan Group membership: a novel approach and the first single-round algorithm , 2004, PODC '04.

[9]  Michael D. Ernst,et al.  An overview of JML tools and applications , 2003, Electron. Notes Theor. Comput. Sci..

[10]  Mehryar Mohri,et al.  Semiring Frameworks and Algorithms for Shortest-Distance Problems , 2002, J. Autom. Lang. Comb..

[11]  Bernhard Möller Algebraic Calculation of Graph and Sorting Algorithms (Invited Paper) , 1993, Formal Methods in Programming and Their Applications.

[12]  Gerard J. Holzmann,et al.  State Compression in SPIN: Recursive Indexing and Compression Training Runs , 2002 .

[13]  Naftaly H. Minsky,et al.  A decentralized mechanism for application level monitoring of distributed systems , 2009, 2009 5th International Conference on Collaborative Computing: Networking, Applications and Worksharing.

[14]  Amit Jain,et al.  Failure detection and membership management in grid environments , 2004, Fifth IEEE/ACM International Workshop on Grid Computing.

[15]  Christian Lengauer,et al.  An incremental mechanical development of systolic solutions to the Algebraic Path Problem , 2004, Acta Informatica.

[16]  Joe Armstrong,et al.  Programming Erlang: Software for a Concurrent World , 1993 .

[17]  K. Rustan M. Leino,et al.  The Spec# Programming System: An Overview , 2004, CASSIS.

[18]  Yingying Chen,et al.  The concept of decentralized and secure electronic marketplace , 2008, Electron. Commer. Res..

[19]  Chi-Jen Lu,et al.  On the Parallel Computation of the Algebraic Path Problem , 1992, IEEE Trans. Parallel Distributed Syst..

[20]  Mirko Viroli,et al.  Using probabilistic model checking and simulation for designing self-organizing systems , 2009, SAC '09.

[21]  Philippe Schnoebelen,et al.  A parametric analysis of the state-explosion problem in model checking , 2006, J. Comput. Syst. Sci..

[22]  Alex Groce,et al.  Swarm Verification , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[23]  Krzysztof Sacha Model-Based Implementation of Real-Time Systems , 2008, SAFECOMP.

[24]  R. Olfati-Saber,et al.  Consensus Filters for Sensor Networks and Distributed Sensor Fusion , 2005, Proceedings of the 44th IEEE Conference on Decision and Control.

[25]  Francis C. M. Lau,et al.  Load balancing in parallel computers - theory and practice , 1996, The Kluwer international series in engineering and computer science.

[26]  Radhika Nagpal Programmable self-assembly: constructing global shape using biologically-inspired local interactions and origami mathematics , 2001 .

[27]  Richard M. Murray,et al.  INFORMATION FLOW AND COOPERATIVE CONTROL OF VEHICLE FORMATIONS , 2002 .

[28]  Shi-Jinn Horng,et al.  Solving an Algebraic Path Problem and Some Related Graph Problems on a Hyper-Bus Broadcast Network , 1997, IEEE Trans. Parallel Distributed Syst..

[29]  Keith Marzullo,et al.  Efficient detection of a class of stable properties , 1994, Distributed Computing.

[30]  Nancy A. Lynch,et al.  An inheritance-based technique for building simulation proofs incrementally , 2002, TSEM.

[31]  K. Mani Chandy,et al.  Verification of distributed systems with local–global predicates , 2011, Formal Aspects of Computing.

[32]  Jacob Beal,et al.  Infrastructure for engineered emergence on sensor/actuator networks , 2006, IEEE Intelligent Systems.

[33]  Donald E. Knuth,et al.  The Art of Computer Programming: Volume 3: Sorting and Searching , 1998 .

[34]  Attila Kondacs Biologically-inspired Self-Assembly of 2D Shapes, Using Global-to-local Compilation , 2003, IJCAI 2003.

[35]  H. Peter Hofstee,et al.  Distributed Sorting , 1990, Sci. Comput. Program..

[36]  Bengt Jonsson,et al.  Compositional specification and verification of distributed systems , 1994, TOPL.

[37]  Jonathan Bard,et al.  Morphogenesis : the cellular and molecular processes of developmental anatomy , 1990 .

[38]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

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

[40]  Mirko Viroli,et al.  Simulating Emergent Properties of Coordination in Maude: the Collective Sort Case , 2007, Electron. Notes Theor. Comput. Sci..

[41]  Soummya Kar,et al.  Distributed Consensus Algorithms in Sensor Networks With Imperfect Communication: Link Failures and Channel Noise , 2007, IEEE Transactions on Signal Processing.

[42]  Eric Klavins,et al.  Graph grammars for self assembling robotic systems , 2004, IEEE International Conference on Robotics and Automation, 2004. Proceedings. ICRA '04. 2004.

[43]  Savi Maharaj,et al.  On the verification of VDM specification and refinement with PVS , 1997, Proceedings 12th IEEE International Conference Automated Software Engineering.

[44]  Bo Yu,et al.  Algebraic Specification of Web Services , 2010, 2010 10th International Conference on Quality Software.

[45]  Radhika Nagpal,et al.  A theory of local-to-global algorithms for one-dimensional spatial multi-agent systems , 2008 .

[46]  M. Yoeli A Note on a Generalization of Boolean Matrix Theory , 1961 .

[47]  Nicola Santoro,et al.  Distributed Sorting , 1985, IEEE Transactions on Computers.

[48]  Stephen P. Boyd,et al.  Distributed average consensus with least-mean-square deviation , 2007, J. Parallel Distributed Comput..

[49]  Michel Minoux,et al.  Graphs, dioids and semirings : new models and algorithms , 2008 .

[50]  Lewis Wolpert,et al.  Principles of Development , 1997 .

[51]  Christine Julien,et al.  Relying on safe distance to achieve strong partitionable group membership in ad hoc networks , 2004, IEEE Transactions on Mobile Computing.

[52]  Naftaly H. Minsky Reducing Spam via Trustworthy Self Regulation by Email Senders , 2010 .

[53]  Mirko Viroli,et al.  An experience on probabilistic model checking and stochastic simulation to design self-organizing systems , 2009, 2009 IEEE Congress on Evolutionary Computation.

[54]  Mortada Mehyar Distributed averaging and efficient file sharing on peer-to-peer networks , 2007 .

[55]  Stephen Warshall,et al.  A Theorem on Boolean Matrices , 1962, JACM.

[56]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.

[57]  K. E. Kennedy,et al.  A concurrent automatic programming system , 2008, ACM-SE 46.

[58]  Tarek Melliti,et al.  Verifying Correctness of Web Services Choreography , 2006, 2006 European Conference on Web Services (ECOWS'06).

[59]  Richard M. Murray,et al.  Asynchronous Distributed Averaging on Communication Networks , 2007, IEEE/ACM Transactions on Networking.

[60]  Tobias Nipkow,et al.  A Proof Assistant for Higher-Order Logic , 2002 .

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

[62]  K. Mani Chandy,et al.  Consensus on asynchronous communication networks in presence of external input , 2010, 49th IEEE Conference on Decision and Control (CDC).

[63]  Naftaly H. Minsky,et al.  Regularity-Based Trust in Cyberspace , 2003, iTrust.

[64]  Joe Armstrong,et al.  A history of Erlang , 2007, HOPL.

[65]  Robert E. Tarjan,et al.  A Unified Approach to Path Problems , 1981, JACM.

[66]  Naftaly H. Minsky,et al.  Flexible Regulation of Distributed Coalitions , 2003, ESORICS.

[67]  Carl Hewitt scriptJ(TM) extension of Java(R): discretionary, adaptive concurrency for privacy-friendly, client-cloud computing , 2010, ArXiv.

[68]  Chris Hanson,et al.  Amorphous computing , 2000, Commun. ACM.

[69]  Richard A. Dean,et al.  Elements of Abstract Algebra , 1968 .

[70]  Daniel Yamins,et al.  Group control and kernels: the 1-d equigrouping problem , 2004, 2004 43rd IEEE Conference on Decision and Control (CDC) (IEEE Cat. No.04CH37601).

[71]  Graham Hutton,et al.  A tutorial on the universality and expressiveness of fold , 1999, Journal of Functional Programming.

[72]  Richard M. Murray,et al.  Consensus problems in networks of agents with switching topology and time-delays , 2004, IEEE Transactions on Automatic Control.

[73]  Jan Olaf Blech,et al.  A Certifying Code Generation Phase , 2007, COCV@ETAPS.

[74]  Van Nostrand,et al.  Error Bounds for Convolutional Codes and an Asymptotically Optimum Decoding Algorithm , 1967 .

[75]  Mirko Viroli,et al.  On the collective sort problem for distributed tuple spaces , 2009, Sci. Comput. Program..

[76]  E. Klavins,et al.  Programmable Self-Assembly , 2007, IEEE Control Systems.

[77]  Patrice Quinton,et al.  Derivation of systolic algorithms for the algebraic path problem by recurrence transformations , 2000, Parallel Comput..

[78]  Charalampos Konstantopoulos,et al.  Efficient binary morphological algorithms on a massively parallel processor , 2000, Proceedings 14th International Parallel and Distributed Processing Symposium. IPDPS 2000.

[79]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[80]  Ewen Denney,et al.  Extending Source Code Generators for Evidence-Based Software Certification , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[81]  Bor-Yuh Evan Chang,et al.  Boogie: A Modular Reusable Verifier for Object-Oriented Programs , 2005, FMCO.

[82]  Jozef Hooman,et al.  Refinement in requirements specification and analysis: a case study , 2000, Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).

[83]  Dan Yamins,et al.  Towards a theory of "local to global" in distributed multi-agent systems (I) , 2005, AAMAS '05.

[84]  Horst Herrlich,et al.  Axiom of Choice , 2006 .

[85]  Gerald Penn,et al.  Efficient transitive closure of sparse matrices over closed semirings , 2006, Theor. Comput. Sci..

[86]  Marco Dorigo,et al.  Swarm intelligence: from natural to artificial systems , 1999 .

[87]  Daniel J. Lehmann,et al.  Algebraic Structures for Transitive Closure , 1976, Theor. Comput. Sci..

[88]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[89]  Ajay D. Kshemkalyani,et al.  Efficient detection of a locally stable predicate in a distributed system , 2007, J. Parallel Distributed Comput..

[90]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[91]  Richard M. Murray,et al.  DYNAMIC CONSENSUS FOR MOBILE NETWORKS , 2005 .

[92]  Tobias Nipkow,et al.  Proof Pearl: Defining Functions over Finite Sets , 2005, TPHOLs.

[93]  Naftaly H. Minsky,et al.  Establishing Global Properties of Multi-Agent Systems Via Local Laws , 2006, E4MAS.

[94]  Liang Huang,et al.  Advanced Dynamic Programming in Semiring and Hypergraph Frameworks , 2008, COLING.

[95]  Jean Serra,et al.  Image Analysis and Mathematical Morphology , 1983 .

[96]  Soummya Kar,et al.  Topology for Distributed Inference on Graphs , 2006, IEEE Transactions on Signal Processing.