#pragma once #include "storm-pars/modelchecker/region/ValidatingSparseParameterLiftingModelChecker.h" #include "storm-pars/modelchecker/region/SparseDtmcParameterLiftingModelChecker.h" namespace storm { namespace modelchecker { template class ValidatingSparseDtmcParameterLiftingModelChecker : public ValidatingSparseParameterLiftingModelChecker { public: ValidatingSparseDtmcParameterLiftingModelChecker(); virtual ~ValidatingSparseDtmcParameterLiftingModelChecker() = default; virtual void specify(Environment const& env, std::shared_ptr parametricModel, CheckTask const& checkTask, bool generateRegionSplitEstimates = false) override; protected: virtual SparseParameterLiftingModelChecker& getImpreciseChecker() override; virtual SparseParameterLiftingModelChecker const& getImpreciseChecker() const override; virtual SparseParameterLiftingModelChecker& getPreciseChecker() override; virtual SparseParameterLiftingModelChecker const& getPreciseChecker() const override; virtual void applyHintsToPreciseChecker() override ; private: SparseDtmcParameterLiftingModelChecker impreciseChecker; SparseDtmcParameterLiftingModelChecker preciseChecker; }; } }