Skip to main content
Log in

High-Level Views of Distributed Executions: Convex Abstract Events

  • Published:
Automated Software Engineering Aims and scope Submit manuscript

Abstract

Due to the complexity of distributed applications, understanding their behaviour is a challenging task. To remedy this problem, graphical visualizations of distributed executions in the form of process-time diagrams are frequently employed. However, such process-time diagrams do not scale for long-running and complex distributed applications. To reduce the display complexity, abstract graphical views of an execution are frequently suggested. One commonly used abstraction is to group primitive events into abstract events. This paper discusses some of the problems encountered when analyzing executions at abstract levels and introduces the concept of convex abstract events. Such abstract events can be used to reason about executions at higher levels, facilitating program development, debugging, and maintenance. We discuss some fundamental aspects, such as the precedence relation and its efficient detection, for abstract events. The paper also presents a graphical representation for convex abstract events which can easily be included in process-time diagrams. Poet, our visualization tool, was enhanced with a facility to display abstract events. Using a non-trivial distributed application, examples of the resulting abstract execution visualizations are discussed.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Mohan Ahuja and Shivakant Mishra. Units of Computation in Fault-Tolerant Distributed Systems. In Proceedings of the 14th International Conference on Distributed Computing Systems, pages 626–633, Pozna, Poland, June 1994.

  • Mikhail Auguston. A Program Behavior Model Based on Event Grammar and its Application for Debugging Automation. In Proceedings of the 2nd International Workshop on Automated and Algorithmic Debugging, Saint Malo, France, May 1995.

    Google Scholar 

  • Rajiv D. Banker, Srikant M. Datar, Chris F. Kemerer, and Dani Zweig. Software Complexity and Maintenance Costs. Communications of the ACM, 36(11):81–94, Number 1993.

    Google Scholar 

  • T. Basten, T. Kunz, J.P. Black, M.H. Coffin, and D.J. Taylor. Vector Time and Causality among Abstract Events in Distributed Computations. Submitted for publication, Distributed Computing, 1996.

  • Peter C. Bates. Debugging Heterogeneous Distributed Systems Using Event-Based Models of Behavior. ACM Transactions on Computer Systems, 13(1):1–31, February 1995.

    Google Scholar 

  • J. P. Black, M. H. Coffin, D. J. Taylor, T. Kunz, and T. Basten. Linking Specification, Abstraction, and Debugging. CCNG Technical Report E-232, Computer Communications and Networks Group, University of Waterloo, November 1993.

  • Erich Buss and John Henshaw. A Software Reverse Engineering Experience. In Proceedings of the 1991 CAS Conference, pages 55–73, Toronto, Ont., Canada, October 1991. IBM Canda Ltd. Laboratory, Centre for Advanced Studies.

  • Wing Hong Cheung. Process and Event Abstraction for Debugging Distributed Programs. PhD thesis, University of Waterloo, Ontario, Canada, September 1989. Also available as Technical Report T-189, Computer Communications Network Group, University of Waterloo.

    Google Scholar 

  • Mireille Ducassé. Automated Debugging Extensions of the Opium Trace Analyzer. In Proceedings of the 2nd International Workshop on Automated and Algorithmic Debugging, Saint Malo, France, May 1995.

    Google Scholar 

  • Stephen G. Eick and Amy Ward. An Interactive Visualization for Message Sequence Charts. In Proceedings of the Fourth Workshop on Program Comprehension, pages 2–8, Berlin, Germany, March 1996. ISBN 0-8186-7283-8.

  • Colin J. Fidge. Partial Orders for Parallel Debugging. In Proceedings of the ACM SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, pages 183–194, Madison, Wisconsin, May 1988. Appeared as ACM SIGPLAN Notices, 24(1), January 1989.

    Google Scholar 

  • Colin J. Fidge. Logical Time in Distributed Computing Systems. IEEE Computer, 24(8):28–33, August 1991.

    Google Scholar 

  • Message Passing Interface Forum. MPI: A Message-Passing Interface Standard. Technical Report CS-94-230, University of Tennessee, Knoxville, TN, USA, 1994. See also International Journal of Supercomputing Applications, Volume 8, No. 3/4, 1994.

    Google Scholar 

  • Dieter Haban and Dieter Wybranietz. A Hybrid Monitor for Behavior and Performance Analysis of Distributed Systems. IEEE Transactions on Software Engineering, 16(2):197–211, February 1990.

    Google Scholar 

  • Kenneth M. Kahn and Vijay A. Saraswat. Complete Visualizations of Concurrent Programs and Their Executions. In Proceedings of the 1990 IEEE Workshop on Visual Languages, pages 7–15, Skokie, Illinois, USA, October 1990.

  • J. A. Kohl and G. A. Geist. The PVM 3.4 Tracing Facility and XPVM 1.1. Technical report, Computer Science & Mathematics Division, Oak Ridge National Laboratory, Oak Ridge, TN, USA, 1995.

    Google Scholar 

  • Thomas Kunz. Abstract Behaviour of Distributed Executions with Applications to Visualization. PhD thesis, Technische Hochschule Darmstadt, Darmstadt, Germany, May 1994a.

    Google Scholar 

  • Thomas Kunz. Reverse Engineering Distributed Applications: An Event Abstraction Tool. International Journal of Software Engineering and Knowledge Engineering, 4(3):303–323, September 1994b.

    Google Scholar 

  • Thomas Kunz and James P. Black. Using Automatic Process Clustering for Design Recovery and Distributed Debugging. IEEE Transactions on Software Engineering, 21(6):515–527, June 1995.

    Google Scholar 

  • Leslie Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, 21(7):558–565, July 1978.

    Google Scholar 

  • Leslie Lamport. On interprocess communication. Distributed Computing, 1:77–85, 1986.

    Google Scholar 

  • Allen D. Malony, David Hammerslag, and David J. Jablonowski. Traceview: A Trace Visualization Tool. IEEE Software, pages 19–28, September 1991.

  • Paul W. Oman, Curtis R. Cook, and Murthi Nanja. Effects of Programming Experience in Debugging Semantic Errors. The Journal of Systems and Software, pages 197–207, March 1989.

  • André Schiper and Michel Raynal. From Group Communication to Transactions in Distributed Systems. Communications of the ACM, 39(4):84–87, April 1996.

    Google Scholar 

  • Reinhard Schwarz and Friedemann Mattern. Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail. Distributed Computing, 7:149–174, September 1994.

    Google Scholar 

  • John Shirley, Wei Hu, and David Magid. Guide to Writing DCE Applications. O'Reilly & Associates, Inc., May 1994. Second Edition, ISBN 1-56592-045-7.

  • Madalene Spezialetti and Scott Bernberg. EVEREST: An Event Recognition Testbed. In Proceedings of the 15th International Conference on Distributed Computing Systems, pages 377–385, Vancouver, BC, Canada, May 1995.

  • Robert E. Strom, David F. Bacon, Arthur P. Goldberg, Andy Lowry, Daniel M. Yellin, and Shaula Alexander Yemini. HERMES: A Language for Distributed Computing. Prentice Hall, Inc., Englewood Cliffs, New Jersey, 1991.

    Google Scholar 

  • William E. Weihl. Using Transactions in Distributed Applications. In Sape Mullender, editor, Distributed Systems, pages 215–236, Addison-Wesley Publishing Company, New York, New York, 1989.

    Google Scholar 

  • Susan Wiedenbeck and Vikki Fix. Characteristics of the Mental Representations of Novice and Expert Programmers: an Emperical Study. International Journal of Man-Machine Studies, 39:793–812, 1993.

    Google Scholar 

  • Dror Zernik, Marc Snir, and Dalia Malki. Using Visualization Tools to Understand Concurrency. IEEE Software, 9(3):87–92, May 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kunz, T. High-Level Views of Distributed Executions: Convex Abstract Events. Automated Software Engineering 4, 179–197 (1997). https://doi.org/10.1023/A:1008685117587

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008685117587

Navigation