Abstract
The problem tackled in this paper originates from the debugging of distributed applications. Execution of such an application can be modeled as a partially ordered set of process states. The debugging of control flows (sequences of process states) of these executions is based on the satisfaction of predicates by process states. A process state that satisfies a predicate inherits its label. It follows that, in this context, a distributed execution is a labeled directed acyclic graph (dag for short). Debug or determine if control flows of a distributed execution satisfy some property amounts to test if the labeled dag includes some pattern defined on predicate labels.
This paper first introduces a general pattern (called diamond necklace) which includes classical patterns encountered in distributed debugging. Then an efficient polynomial time algorithm detecting such patterns in a labeled dag is presented. To be easily adapted to an on-the-fly detection of the pattern in distributed executions, the algorithm visits the nodes of the graph according to a topological sort strategy.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Babaoğlu, E. Fromentin, and M. Raynal: “A Unified Framework for the Specification and Run-time Detection of Dynamic Properties in Distributed Computations”, The Journal of Systems and Software, special issue on Software Engineering for Distributed Computing, 33:(3), pp. 287–298, 1996.
L. Bougé, and N. Francez: “A compositional approach to superimposition”, In Proc. of the 15 th ACM SIGACT-SIGPLAN Symposium on Principle of Programming Languages, pp. 240–249, San Diego, California, January 1988.
R. Cooper, and K. Marzullo: “Consistent Detection of Global Predicates”, In Proc. of the ACM/ONR Workshop on Parallel and Distributed Debugging, pp. 163–173, Santa Cruz, California, May 1991.
E. Fromentin, C. Jard, G. Jourdan, and M. Raynal: “On-the-fly Analysis of Distributed Computations”, Information Processing Letters 54, pp. 267–274, 1995.
E. Fromentin, M. Raynal, V.K. Garg, and A.I. Tomlinson: “On the fly testing of regular patterns in distributed computations”, In Proc. of the the 23 rd International Conference on Parallel Processing, pp. 73–76, St. Charles, IL, August 1994.
V.K. Garg, A.I. Tomlinson, E. Fromentin, and M. Raynal: “Expressing and Detecting General Control Flow Properties of Distributed Computations”, In Proc. of the 7th IEEE Symposium on Parallel and Distributed Processing, pp. 432–438, San-Antonio (USA), October 1995.
V.K. Garg and B. Waldecker: “Detection of Unstable Predicates in Distributed Programs”, In Proc. of the 12th International Conference on Foundations of Software Technology and Theoretical Computer Science, Springer Verlag, LNCS 652, pp. 253–264, New Delhi, India, December 1992.
M. A. Harrison: “Introduction to Formal Language Theory”, Addison-Wesley series in computer science, 1978.
M. Hurfin, N. Plouzeau, and M. Raynal: “A Debugging Tool for Estelle Distributed Programs”, Journal of Computer Communications, 28(5), pp. 328–333, May 1993.
M. Hurfin, N. Plouzeau, and M. Raynal: “Detecting atomic sequences of predicates in distributed computations”, In Proc. ACM workshop on Parallel and Distributed Debugging, pp. 32–42, San Diego, May 1993. (Reprinted in SIGPLAN Notices, Dec. 1993).
J.E. Hopcroft and J.D. Ullman: “Introduction to Automata Theory, Languages, and Computation”, Addison-Weslay Publishing Company, 418 pages, 1979.
L. Lamport: “Time, clocks and the ordering of events in a distributed system”, Communications of the ACM, 21(7), pp. 558–565, July 1978.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hurfin, M., Raynal, M. (1997). Detecting diamond necklaces in labeled dags. In: d'Amore, F., Franciosa, P.G., Marchetti-Spaccamela, A. (eds) Graph-Theoretic Concepts in Computer Science. WG 1996. Lecture Notes in Computer Science, vol 1197. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-62559-3_18
Download citation
DOI: https://doi.org/10.1007/3-540-62559-3_18
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-62559-9
Online ISBN: 978-3-540-68072-7
eBook Packages: Springer Book Archive