Specification and Verification of Dynamic Properties in Distributed Computations

The ability to specify and verify dynamic properties of computations is essential for ascertaining the correctness of distributed applications. In this paper, we consider properties that can be encoded as general Boolean predicates over global system states. We introduce two global predicate classes called simple sequences and interval-constrained sequences for specifying desirable states in some causality-preserving order along with intervening undesired states. Our formalism is simpler than more traditional proposals and permits concise and intuitive expression of many interesting system properties. Algorithms are given for verifying formulas belonging to these predicate classes in an on-line and observer-independent manner during distributed computations. We illustrate the utility of our results by applying them to examples drawn from program testing, debugging, and dynamic reconfiguration in distributed systems.

[1]  Keith Marzullo,et al.  Consistent detection of global predicates , 1991, PADD '91.

[2]  Vijay K. Garg,et al.  Detection of Unstable Predicates in Distributed Programs , 1992, FSTTCS.

[3]  Michel Raynal,et al.  Debugging tool for distributed Estelle programs , 1993, Comput. Commun..

[4]  Reinhard Gotzhein,et al.  Temporal Logic and Applications-A Tutorial , 1992, Comput. Networks ISDN Syst..

[5]  Leslie Lamport,et al.  Time, clocks, and the ordering of events in a distributed system , 1978, CACM.

[6]  Alexander I. Tomlinson,et al.  Detecting relational global predicates in distributed systems , 1993, PADD '93.

[7]  Friedemann Mattern,et al.  Efficient Algorithms for Distributed Snapshots and Global Virtual Time Approximation , 1993, J. Parallel Distributed Comput..

[8]  Leslie Lamport,et al.  Distributed snapshots: determining global states of distributed systems , 1985, TOCS.

[9]  Jai Srinivasan,et al.  Branching time temporal logic , 1988, REX Workshop.

[10]  Maciej M. Syslo Minimizing the jump number for partially-ordered sets: a graph-theoretic approach, II , 1987, Discret. Math..

[11]  Jack C. Wileden,et al.  High-level debugging of distributed systems: The behavioral abstraction approach , 1983, J. Syst. Softw..

[12]  Jean-Xavier Rampon,et al.  Reachability Analysis on Distributed Executions , 1993, TAPSOFT.

[13]  Keith Marzullo,et al.  Detection of Global State Predicates , 1991, WDAG.

[14]  Ozalp Babaoglu,et al.  Consistent global states of distributed systems: fundamental concepts and mechanisms , 1993 .

[15]  Jong-Deok Choi,et al.  Breakpoints and halting in distributed programs , 1988, [1988] Proceedings. The 8th International Conference on Distributed.

[16]  Michel Raynal,et al.  Detecting atomic sequences of predicates in distributed computations , 1993, PADD '93.