X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=traceanalysis.h;h=df3356ad50d422c08a3a2ba7d09234ccec394f5f;hb=2935d5ce8b7315c0b13306b15ac18beeacfc37bb;hp=a71e8c9df9b08123ca371f5bd48b8c193f75fb4d;hpb=f3359dd1b9ba12e5092504e8e53e3615bdb2956a;p=model-checker.git diff --git a/traceanalysis.h b/traceanalysis.h index a71e8c9..df3356a 100644 --- a/traceanalysis.h +++ b/traceanalysis.h @@ -4,11 +4,32 @@ class TraceAnalysis { public: + /** setExecution is called once after installation with a reference to + * the ModelExecution object. */ + virtual void setExecution(ModelExecution * execution) = 0; + + /** analyze is called once for each feasible trace with the complete + * action_list object. */ + virtual void analyze(action_list_t *) = 0; - virtual char * name() = 0; + + /** name returns the analysis name string */ + + virtual const char * name() = 0; + + /** Each analysis option is passed into the option method. This + * occurs before installation (i.e., you don't have a + * ModelExecution object yet). A TraceAnalysis object should + * support the option "help" */ + virtual bool option(char *) = 0; + /** The finish method is called once at the end. This should be + * used to print out results. */ + + virtual void finish() = 0; + SNAPSHOTALLOC }; #endif