|
@ -10,6 +10,7 @@ |
|
|
#include "storm/solver/OptimizationDirection.h" |
|
|
#include "storm/solver/OptimizationDirection.h" |
|
|
#include "storm/logic/ComparisonType.h" |
|
|
#include "storm/logic/ComparisonType.h" |
|
|
#include "storm/logic/PlayerCoalition.h" |
|
|
#include "storm/logic/PlayerCoalition.h" |
|
|
|
|
|
#include "storm/logic/ShieldExpression.h" |
|
|
#include "storm/modelchecker/hints/ModelCheckerHint.h" |
|
|
#include "storm/modelchecker/hints/ModelCheckerHint.h" |
|
|
|
|
|
|
|
|
#include "storm/exceptions/InvalidOperationException.h" |
|
|
#include "storm/exceptions/InvalidOperationException.h" |
|
@ -187,6 +188,29 @@ namespace storm { |
|
|
return *this; |
|
|
return *this; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* TODO |
|
|
|
|
|
*/ |
|
|
|
|
|
bool isShieldingTask() const { |
|
|
|
|
|
return static_cast<bool>(shieldingExpression); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* TODO |
|
|
|
|
|
*/ |
|
|
|
|
|
std::shared_ptr<storm::logic::ShieldExpression const> getShieldingExpression() const { |
|
|
|
|
|
return shieldingExpression.get(); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
|
* TODO |
|
|
|
|
|
*/ |
|
|
|
|
|
CheckTask<FormulaType, ValueType>& setShieldingExpression(std::shared_ptr<storm::logic::ShieldExpression const> const& shieldingExpression) { |
|
|
|
|
|
this->shieldingExpression = shieldingExpression; |
|
|
|
|
|
this->produceSchedulers = true; |
|
|
|
|
|
return *this; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
/*! |
|
|
/*! |
|
|
* Retrieves whether there is a bound with which the values for the states will be compared. |
|
|
* Retrieves whether there is a bound with which the values for the states will be compared. |
|
|
*/ |
|
|
*/ |
|
@ -313,6 +337,12 @@ namespace storm { |
|
|
// If set to true, the model checker may decide to only compute the values for the initial states. |
|
|
// If set to true, the model checker may decide to only compute the values for the initial states. |
|
|
bool onlyInitialStatesRelevant; |
|
|
bool onlyInitialStatesRelevant; |
|
|
|
|
|
|
|
|
|
|
|
// If set to true, we will create the appropriate shield. |
|
|
|
|
|
bool shieldingTask = false; |
|
|
|
|
|
|
|
|
|
|
|
// The according ShieldExpression. |
|
|
|
|
|
boost::optional<std::shared_ptr<storm::logic::ShieldExpression const>> shieldingExpression; |
|
|
|
|
|
|
|
|
// The bound with which the states will be compared. |
|
|
// The bound with which the states will be compared. |
|
|
boost::optional<storm::logic::Bound> bound; |
|
|
boost::optional<storm::logic::Bound> bound; |
|
|
|
|
|
|
|
|