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:
In the remaining sections we will elaborate on these four features of Ave/Ariadne.