From fa8e8749e630350ad24957a50fa6bb35e7e2b299 Mon Sep 17 00:00:00 2001 From: TimQu Date: Mon, 28 May 2018 16:53:03 +0200 Subject: [PATCH] scheduler restriction in multiobjective model checking environment --- .../MultiObjectiveModelCheckerEnvironment.cpp | 16 ++++++++++++++++ .../MultiObjectiveModelCheckerEnvironment.h | 9 +++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.cpp b/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.cpp index 92b51fde8..454e9141a 100644 --- a/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.cpp +++ b/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.cpp @@ -97,4 +97,20 @@ namespace storm { void MultiObjectiveModelCheckerEnvironment::unsetMaxSteps() { maxSteps = boost::none; } + + bool MultiObjectiveModelCheckerEnvironment::isSchedulerRestrictionSet() const { + return schedulerRestriction.is_initialized(); + } + + storm::storage::SchedulerClass const& MultiObjectiveModelCheckerEnvironment::getSchedulerRestriction() const { + return schedulerRestriction.get(); + } + + void MultiObjectiveModelCheckerEnvironment::setSchedulerRestriction(storm::storage::SchedulerClass const& value) { + schedulerRestriction = value; + } + + void MultiObjectiveModelCheckerEnvironment::unsetSchedulerRestriction() { + schedulerRestriction = boost::none; + } } \ No newline at end of file diff --git a/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.h b/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.h index f1d4f0203..42ce713a8 100644 --- a/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.h +++ b/src/storm/environment/modelchecker/MultiObjectiveModelCheckerEnvironment.h @@ -5,6 +5,7 @@ #include "storm/environment/modelchecker/ModelCheckerEnvironment.h" #include "storm/modelchecker/multiobjective/MultiObjectiveModelCheckingMethod.h" #include "storm/adapters/RationalNumberAdapter.h" +#include "storm/storage/SchedulerClass.h" namespace storm { @@ -31,18 +32,22 @@ namespace storm { storm::RationalNumber const& getPrecision() const; void setPrecision(storm::RationalNumber const& value); - uint64_t const& getMaxSteps() const; bool isMaxStepsSet() const; + uint64_t const& getMaxSteps() const; void setMaxSteps(uint64_t const& value); void unsetMaxSteps(); + bool isSchedulerRestrictionSet() const; + storm::storage::SchedulerClass const& getSchedulerRestriction() const; + void setSchedulerRestriction(storm::storage::SchedulerClass const& value); + void unsetSchedulerRestriction(); private: storm::modelchecker::multiobjective::MultiObjectiveMethod method; boost::optional plotPathUnderApprox, plotPathOverApprox, plotPathParetoPoints; storm::RationalNumber precision; boost::optional maxSteps; - + boost::optional schedulerRestriction; }; }