Abstract
Most distributed systems consist of a number of sequential processes running in parallel. We present a language-independent debugging framework for the debugging of these distributed systems. Over the years, a lot of effort has been invested in the construction of debuggers for sequential programs. The majority of these debuggers work by abstracting the behaviour of the program being debugged into events, and visualizing these events. We utilize these sequential debuggers to generate language-independent debugging events about the sequential execution of the processes in the distributed system. The underlying coordination architecture is used to generate debugging events dealing with the interaction between processes. These sequential and process interaction related debugging events are then processed by a separate distributed system that implements the high-level language-independent debugging functionality. We also present a powerful multilingual distributed debugger based on our framework.
Preview
Unable to display preview. Download preview PDF.
References
Guido van Rossum Aaron Watters and James Ahlstrom. Internet Programming with Python. MIS Press/Henry Holt publishers, 1996.
D.K. Arvind and D. Yokotsuka. Debugging concurrent programs using static analysis and run-time hardware monitoring. In Third IEEE Symposium on Parallel and Distributed Processing, pages 716–719. IEEE Computer Society Press, 1991.
Bert Beander. An interactive, symbolic, multilingual debugger. In Symposium on High-Level Debugging, 1983, pages 173–180. ACM SIGSOFT/SIGPLAN, 1983.
J.A. Bergstra and P. Klint. The discrete time toolbus. In Algebraic Methodology and Software Technology (AMAST'96), volume 1101 of LNCS, pages 286–305. Springer-Verlag, 1996.
J.A. Bergstra and P. Klint. The toolbus coordination architecture. In P. Ciancarini and C. Hankin, editors, Coordination Languages and Models (COORDINATION), volume 1061 of LNCS, pages 75–88. Springer-Verlag, 1996.
Peter C. Bates and Jack C. Wileden. High level debugging of distributed systems: The behavioral abstraction approach. Journal of Systems and Software, 3(4), pages 394–399, 1983.
J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.
Alessandro Forin. Debugging of heterogeneous parallel systems. In Workshop on Parallel and Distributed Debugging, 1988, pages 130–140. ACM, 1989.
James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, 1996.
Thomas Kunz. High-level views of distributed executions. In Proceedings of the 2nd International Workshop on Automated and Algorithmic Debugging, 1995.
P.A. Olivier. A simulator framework for embedded systems. In P. Ciancarini and C. Hankin, editors, Coordination Languages and Models (COORDINATION), volume 1061 of LNCS, pages 436–439. Springer-Verlag, 1996.
John Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley Publishing, 1994.
R.M. Stallman and R.H. Pesch. Using gdb: A guide to the gnu source-level debugger, July 1991.
James P. Black Wing Hong Cheung and Eric Manning. A framework for distributed debugging. IEEE Software, pages 106–115, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Olivier, P.A. (1997). Debugging distributed applications using a coordination architecture. In: Garlan, D., Le Métayer, D. (eds) Coordination Languages and Models. COORDINATION 1997. Lecture Notes in Computer Science, vol 1282. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63383-9_75
Download citation
DOI: https://doi.org/10.1007/3-540-63383-9_75
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63383-9
Online ISBN: 978-3-540-69527-1
eBook Packages: Springer Book Archive