A unified framework for the specification and run-time detection of dynamic properties in distributed computations

To a large extent, the dependability of complex distributed programs relies on our ability to effectively test and debug their executions. Such an activity requires that we be able to specify dynamic properties that the distributed computation must (or must not) exhibit, and that we be able to construct algorithms to detect these properties at run time. In this paper we formulate dynamic property specification and detection as instances of the language recognition problem. Considering boolean predicates on states of the computation as an alphabet, dynamic property specification is akin to defining a language over this alphabet. Detecting a property, on the other hand, is akin to recognizing at run time if the sentence produced by a distributed execution belongs to the language. This formal language-oriented view not only unifies a large body of work on distributed debugging and property detection, it also leads to simple and efficient detection algorithms. We give examples for the case of properties that can be specified as regular grammars through finite automata.

[1]  Michel Raynal,et al.  Detection of stable properties in distributed applications , 1987, PODC '87.

[2]  Krzysztof R. Apt,et al.  Logics and Models of Concurrent Systems , 1989, NATO ASI Series.

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

[4]  Michel Raynal,et al.  On-The-Fly Analysis of Distributed Computations , 1995, Inf. Process. Lett..

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

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

[7]  Thierry Jéron,et al.  A general approach to trace-checking in distributed computing systems , 1994, 14th International Conference on Distributed Computing Systems.

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

[9]  Thomas J. LeBlanc,et al.  Debugging Parallel Programs with Instant Replay , 1987, IEEE Transactions on Computers.

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

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

[12]  Barton P. Miller,et al.  Summary of ACM/ONR workshop on parallel and distributed debugging , 1992, OPSR.

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

[14]  Michel Raynal,et al.  Specification and Verification of Dynamic Properties in Distributed Computations , 1995, J. Parallel Distributed Comput..

[15]  Nissim Francez,et al.  Distributed Termination , 1980, TOPL.

[16]  Laura M. Haas,et al.  Distributed deadlock detection , 1983, TOCS.

[17]  E. Clarke,et al.  Automatic Veriication of Nite-state Concurrent Systems Using Temporal-logic Speciications. Acm , 1993 .

[18]  Michel Raynal,et al.  On-the-fly replay: a practical paradigm and its implementation for distributed debugging , 1994, Proceedings of 1994 6th IEEE Symposium on Parallel and Distributed Processing.

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

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

[21]  Edsger W. Dijkstra,et al.  Termination Detection for Diffusing Computations , 1980, Inf. Process. Lett..

[22]  Michel Raynal,et al.  On the Fly Testing of Regular Patterns in Distributed Computations , 1994, 1994 Internatonal Conference on Parallel Processing Vol. 2.

[23]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[24]  Michel Raynal,et al.  Specification and Verification of Behavioral Patterns in Distributed Computations , 1995 .

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

[26]  MatternFriedemann,et al.  Detecting causal relationships in distributed computations , 1994 .