X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=traceanalysis.h;h=3f8c768868c03db71906808e92934fce93f51dfb;hb=7be1e69a98941b9fade77203f5f509510dda7ef6;hp=df3356ad50d422c08a3a2ba7d09234ccec394f5f;hpb=f817fff71c1cc97fe1bd55fa791f0d68af88ed1a;p=c11tester.git diff --git a/traceanalysis.h b/traceanalysis.h index df3356ad..3f8c7688 100644 --- a/traceanalysis.h +++ b/traceanalysis.h @@ -2,13 +2,14 @@ #define TRACE_ANALYSIS_H #include "model.h" + class TraceAnalysis { - public: +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. */ @@ -30,6 +31,20 @@ class TraceAnalysis { virtual void finish() = 0; + /** This method is used to inspect the normal/abnormal model + * action. */ + virtual void inspectModelAction(ModelAction *act) {} + + /** This method will be called by when a plugin is installed by the + * model checker. */ + virtual void actionAtInstallation() {} + + /** This method will be called when the model checker finishes the + * executions; With this method, the model checker can alter the + * state of the plugin and then the plugin can choose whether or not + * restart the model checker. */ + virtual void actionAtModelCheckingFinish() {} + SNAPSHOTALLOC }; #endif