X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/01c96c4bc37fc4aac70e6b5fe3ff6992a9736c04..4bcfd40036f842e976d329cd0cee7349b8e0f4d6:/src/mc/checker/Checker.hpp diff --git a/src/mc/checker/Checker.hpp b/src/mc/checker/Checker.hpp index 3b7079f7b3..96f5c36a3f 100644 --- a/src/mc/checker/Checker.hpp +++ b/src/mc/checker/Checker.hpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2016. The SimGrid Team. +/* Copyright (c) 2016-2019. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -11,9 +11,9 @@ #include #include -#include "src/mc/mc_forward.hpp" -#include "src/mc/mc_record.h" #include "src/mc/Session.hpp" +#include "src/mc/mc_forward.hpp" +#include "src/mc/mc_record.hpp" namespace simgrid { namespace mc { @@ -34,13 +34,13 @@ namespace mc { class Checker { Session* session_; public: - Checker(Session& session); + explicit Checker(Session& session); // No copy: Checker(Checker const&) = delete; Checker& operator=(Checker const&) = delete; - virtual ~Checker(); + virtual ~Checker() = default; /** Main function of this algorithm */ virtual void run() = 0; @@ -52,22 +52,21 @@ public: /** Show the current trace/stack * * Could this be handled in the Session/ModelChecker instead? */ - virtual RecordTrace getRecordTrace(); + virtual RecordTrace getRecordTrace() = 0; /** Generate a textual execution trace of the simulated application */ - virtual std::vector getTextualTrace(); + virtual std::vector getTextualTrace() = 0; /** Log additional information about the state of the model-checker */ - virtual void logState(); + virtual void logState() = 0; protected: Session& getSession() { return *session_; } }; -XBT_PUBLIC() Checker* createLivenessChecker(Session& session); -XBT_PUBLIC() Checker* createSafetyChecker(Session& session); -XBT_PUBLIC() Checker* createCommunicationDeterminismChecker(Session& session); - +XBT_PUBLIC Checker* createLivenessChecker(Session& session); +XBT_PUBLIC Checker* createSafetyChecker(Session& session); +XBT_PUBLIC Checker* createCommunicationDeterminismChecker(Session& session); } }