The Alamo Execution Monitor Architecture

Abstract Future programming environments will incorporate a tighter coupling between language runtime systems and the monitoring tools that are used to debug, tune, visualize, and understand them. Many innovations that are developed first in higher level programming language environments will migrate into mainstream languages once their properties are understood and generalized. The Alamo execution monitor architecture was developed to facilitate rapid development of execution monitors, especially visualization tools that are instrumental in understanding complex runtime system interactions in higher level languages. Alamo simplifies the development of such tools by solving the low-level access, control, and intrusion problems inherent in monitoring. Alamo was implemented first for the very high-level imperative goal-directed language Icon. The architecture was then implemented for ANSI C in order to broaden the impact of the work. This paper describes the ANSI C implementation of Alamo and the monitoring services it provides.

[1]  Jock D. Mackinlay,et al.  Cone Trees: animated 3D visualizations of hierarchical information , 1991, CHI.

[2]  Ralph E. Griswold,et al.  The Icon programming language , 1983 .

[3]  Stephen Berry Wampler Control mechanisms for generators in icon , 1981 .

[4]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[5]  R. Sosi,et al.  A Procedural Interface for Program Directing , 1994 .

[6]  Clinton L. Jeffery,et al.  A lightweight architecture for program execution monitoring , 1998, PASTE '98.

[7]  Ramana Rao,et al.  Laying out and visualizing large trees using a hyperbolic space , 1994, UIST '94.

[8]  Mireille Ducassé,et al.  A General Trace Query Mechanism Based on Prolog , 1992, PLILP.

[9]  Rok Sosic,et al.  Design and Implementation , 2009 .

[10]  Doug Kimelman,et al.  Strata-various: multi-layer visualization of dynamics in software system behavior , 1994, Proceedings Visualization '94.

[11]  Clinton L. Jeffery,et al.  A configurable automatic instrumentation tool for ANSI C , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[12]  Julekha Dash Peer-to-peer communications , 1996 .

[13]  Clinton L. Jeffery Program Monitoring and Visualization , 1999, Springer New York.

[14]  Richard H. Crawford,et al.  Dalek: A GNU, Improved Programmable Debugger , 1990, USENIX Summer.

[15]  Andrew W. Appel,et al.  A Debugger for Standard ML , 1995, Journal of Functional Programming.