Overview



next up previous
Next: Event Model Up: Integration within the Previous: Integration within the

Overview

To integrate Ariadne and Sneaky, we made use of the TAU program interaction and control infrastructure, called Sneezy. Sneezy was motivated by the desire to support Sneaky, which needed an API to control the target program. For reasons of tool portability, interoperability, and reuse, we chose to isolate the entire debugger-as opposed to just its programming language-from the details of program control. To do this, we built an agent-based infrastructure in which Sneaky acts as the client of an agent as pictured in Figure 7.

 

Sneezy supports inspection and control of multi-threaded programs with multiple address spaces. The agent handles all communication between the client and the target program, making it possible, for example, for Sneaky (or any other client) to be unaware of whether it is running on the same machine as the target program or whether they are communicating via message-passing or shared memory. The infrastructure is quite general and it can be used to support a variety of tool interactions. In particular, Ariadne could also integrate into the environment as a Sneezy client, along with a variety of trace and data visualization tools.gif Sneezy will support these tools as multiple co-operating clients as discussed in Section 5.3 below. Co-operation is important for replay debugging in particular, since a replay control module and a debugger both need to be present, but it is not natural for either to be part of the other. Other uses might include running a data visualizer along with a load monitor or debugger. Together, the clients of Sneezy will provide a comprehensive debugging environment. Figure 8 shows the beginning of that environment with a number of TAU tools working in concert with Ariadne and Sneezy during a debugging session.

 

Sneezy's design is minimalist, making it lightweight, relatively easy to implement, and potentially simple to port and verify. Implementations of complex but common functionality will exist as portable libraries available to the clients. Other systems with functionality similar to that of Sneezy include Dynascope [21] and OMIS [18].



next up previous
Next: Event Model Up: Integration within the Previous: Integration within the



Sameer Suresh Shende
Fri Apr 5 10:36:18 PST 1996