Features of Ave/Ariadne



next up previous
Next: Ariadne: Modeling Language Up: No Title Previous: No Title

Features of Ave/Ariadne

Ariadne is a tool to explore and model Lamport's Happened Before graph of a parallel program execution. The nodes of this graph are events that occur at different threads of execution. The edges of the graph are of two kinds - ones that signify program order, and the other that signify causal order due to inter-process interactions. Ariadne's pattern definition is based on these two relations - two events may be related through a program order edge, or they can be related through an immediate causal order edge. Note the emphasis on the word immediate in causal order: if we wish to follow the causal order, we need to match both the send and receive of a message. Events due to program order can be skipped using filtering mechanism as we will discuss shortly.

To facilitate such specification of execution graph, Ariadne's modeling language presents a three-tiered structural hierarchy - chains to specify anonymous behavior as seen from the vantage point of a single process, p-chains to specify concurrent execution of chains on a set of processes, and pt-chains to specify the temporal and logical composition of p-chains.

Ariadne provides a simple and concise language to enable efficient recognition algorithm. But such a language can only support coarse grain pattern description. Specification often matches unintended patterns. This coarseness however results in the capability to capture near-misses. To compensate Ariadne provides a scalable visual interface Ave, that provides visual feedback on the match and also acts as a tree-structured spreadsheet-based query interface via which Ariadne can be queried on the different characteristics of the match.

The final and the most striking charateristic of the Ave/Ariadne environment is its seamless integration of event-based modeling with breakpoint debugging. Parallel programs are not amenable to standard breakpoint debugging, due to the sparsity of consistent global states and the difficulty in specifying those that exists. Ave/Ariadne provides a easy interface for the users to set breakpoints through abstract events.

Thus the four salient features of Ave/Ariadne environment can be summarized as follows:

  1. Simple modeling language.
  2. Scalable visual feedback.
  3. Spreadsheet based query interface.
  4. Seamless integration of setting consistent breakpoint.

In the remaining sections we will elaborate on these four features of Ave/Ariadne.



next up previous
Next: Ariadne: Modeling Language Up: No Title Previous: No Title



Joydip Kundu