1 #ifndef TRACE_ANALYSIS_H
2 #define TRACE_ANALYSIS_H
7 /** setExecution is called once after installation with a reference to
8 * the ModelExecution object. */
10 virtual void setExecution(ModelExecution * execution) = 0;
12 /** analyze is called once for each feasible trace with the complete
13 * action_list object. */
15 virtual void analyze(action_list_t *) = 0;
17 /** name returns the analysis name string */
19 virtual const char * name() = 0;
21 /** Each analysis option is passed into the option method. This
22 * occurs before installation (i.e., you don't have a
23 * ModelExecution object yet). A TraceAnalysis object should
24 * support the option "help" */
26 virtual bool option(char *) = 0;
28 /** The finish method is called once at the end. This should be
29 * used to print out results. */
31 virtual void finish() = 0;