Debugging distributed applications using a coordination architecture

  • Pieter A. Olivier
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1282)


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.


Event Port Primitive Event Event Rule Execution Control Coordination Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AWA96]
    Guido van Rossum Aaron Watters and James Ahlstrom. Internet Programming with Python. MIS Press/Henry Holt publishers, 1996.Google Scholar
  2. [AY91]
    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.Google Scholar
  3. [Bea83]
    Bert Beander. An interactive, symbolic, multilingual debugger. In Symposium on High-Level Debugging, 1983, pages 173–180. ACM SIGSOFT/SIGPLAN, 1983.Google Scholar
  4. [BK96a]
    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.Google Scholar
  5. [BK96b]
    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.Google Scholar
  6. [BW83]
    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.CrossRefGoogle Scholar
  7. [BW90]
    J.C.M. Baeten and W.P. Weijland. Process Algebra. Cambridge Tracts in Theoretical Computer Science 18. Cambridge University Press, 1990.Google Scholar
  8. [For89]
    Alessandro Forin. Debugging of heterogeneous parallel systems. In Workshop on Parallel and Distributed Debugging, 1988, pages 130–140. ACM, 1989.Google Scholar
  9. [GJS96]
    James Gosling, Bill Joy, and Guy Steele. The Java Language Specification. Addison-Wesley, 1996.Google Scholar
  10. [Kun95]
    Thomas Kunz. High-level views of distributed executions. In Proceedings of the 2nd International Workshop on Automated and Algorithmic Debugging, 1995.Google Scholar
  11. [Oli96]
    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.Google Scholar
  12. [Ous94]
    John Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley Publishing, 1994.Google Scholar
  13. [SP91]
    R.M. Stallman and R.H. Pesch. Using gdb: A guide to the gnu source-level debugger, July 1991.Google Scholar
  14. [WHCM90]
    James P. Black Wing Hong Cheung and Eric Manning. A framework for distributed debugging. IEEE Software, pages 106–115, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Pieter A. Olivier
    • 1
  1. 1.Programming Research GroupUniversity of AmsterdamSJ AmsterdamNetherlands

Personalised recommendations