Static Analysis of Dynamic Communication Systems by Partner Abstraction

Prominent examples of dynamic communication systems include traffic control systems and ad hoc networks. They are hard to verify due to inherent unboundedness. Unbounded creation and destruction of objects and a dynamically evolving communication topology are characteristic features. Partner graph grammars are presented as an adequate specification formalism for dynamic communication systems. They are based on the single pushout approach to algebraic graph transformation and specifically tailored to dynamic communication systems. We propose a new verification technique based on abstract interpretation of partner graph grammars. It uses a novel two-layered abstraction, partner abstraction, that keeps precise information about objects and their communication partners. We identify statically checkable cases for which the abstract interpretation is even complete. In particular, applicability of transformation rules is preserved precisely. The analysis has been implemented in the hiralysis tool. It is evaluated on a complex case study, car platooning, for which many interesting properties can be proven automatically.

[1]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[2]  Helmut Veith,et al.  Environment Abstraction for Parameterized Verification , 2006, VMCAI.

[3]  Vincent Danos,et al.  Reversible Communicating Systems , 2004, CONCUR.

[4]  Ina Schaefer,et al.  Specification and Verification of Dynamic Communication Systems , 2006, Sixth International Conference on Application of Concurrency to System Design (ACSD'06).

[5]  Chris Hankin,et al.  Safety of Strictness Analysis via Term Graph Rewriting , 2000, SAS.

[6]  Pravin Varaiya,et al.  The Design of Platoon Maneuvers for IVHS , 1991, 1991 American Control Conference.

[7]  Patrick Cousot,et al.  Systematic design of program analysis frameworks , 1979, POPL.

[8]  B. König,et al.  Verifying Finite-State Graph Grammars: An Unfolding-Based Approach , 2004, CONCUR.

[9]  Parosh Aziz Abdulla,et al.  Parameterized Verification of Infinite-State Processes with Global Conditions , 2007, CAV.

[10]  Sonia R. Sachs,et al.  Design Of Platoon Maneuver Protocols For IVHS , 1991 .

[11]  Reiko Heckel,et al.  Compositional Verification of Reactive Systems Specified by Graph Transformation , 1998, FASE.

[12]  Jörg Kreiker Analysis of communication topologies by partner abstraction , 2006 .

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

[14]  Arnaud Venet,et al.  Automatic Determination of Communication Topologies in Mobile Systems , 1998, SAS.

[15]  Ahmed Bouajjani,et al.  Abstract Regular Tree Model Checking of Complex Dynamic Data Structures , 2006, SAS.

[16]  Reinhard Wilhelm,et al.  Parametric shape analysis via 3-valued logic , 1999, POPL '99.

[17]  Robin Milner,et al.  Theories for the Global Ubiquitous Computer , 2004, FoSSaCS.

[18]  Ahmed Bouajjani,et al.  Abstract Regular Model Checking , 2004, CAV.

[19]  Constantin Enea,et al.  A Generic Framework for Reasoning about Dynamic Networks of Infinite-State Processes , 2007, Log. Methods Comput. Sci..

[20]  Arend Rensink,et al.  Abstract Graph Transformation , 2006, SVV@ICFEM.

[21]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[22]  Barbara König,et al.  Counterexample-Guided Abstraction Refinement for the Analysis of Graph Transformation Systems , 2006, TACAS.

[23]  Ugo Montanari,et al.  Unfolding and Event Structure Semantics for Graph Grammars , 1999, FoSSaCS.