7#include <boost/optional.hpp>
8#include <boost/variant.hpp>
14namespace expressions {
15class ExpressionManager;
42 boost::variant<std::string, storm::expressions::Expression> labelOrExpression;
50 BuilderOptions(
bool buildAllRewardModels =
false,
bool buildAllLabels =
false);
67 BuilderOptions(std::vector<std::shared_ptr<storm::logic::Formula const>>
const& formulas,
105 std::vector<std::pair<std::string, storm::expressions::Expression>>
const&
getExpressionLabels()
const;
106 std::vector<std::pair<LabelOrExpression, bool>>
const&
getTerminalStates()
const;
222 bool buildAllRewardModels;
225 std::set<std::string> rewardModelNames;
231 std::set<std::string> labelNames;
234 std::vector<std::pair<std::string, storm::expressions::Expression>> expressionLabels;
237 std::vector<std::pair<LabelOrExpression, bool>> terminalStates;
241 bool applyMaximalProgressAssumption;
244 bool buildChoiceLabels;
247 bool buildStateValuations;
250 bool buildObservationValuations;
254 bool buildChoiceOrigins;
257 bool scaleAndLiftTransitionRewards;
260 bool explorationChecks;
263 bool inferObservationsFromActions;
266 bool addOverlappingGuardsLabel;
269 bool addOutOfBoundsState;
272 uint64_t reservedBitsForUnboundedVariables;
278 uint64_t showProgressDelay;
uint64_t getReservedBitsForUnboundedVariables() const
bool isApplyMaximalProgressAssumptionSet() const
std::set< std::string > const & getRewardModelNames() const
Which reward models are built.
BuilderOptions & setBuildAllLabels(bool newValue=true)
Should all reward models be built? If not set, only required reward models are build.
BuilderOptions & setExplorationChecks(bool newValue=true)
Should extra checks be performed during exploration.
void clearTerminalStates()
BuilderOptions & addTerminalExpression(storm::expressions::Expression const &expression, bool value)
BuilderOptions & setAddOutOfBoundsState(bool newValue=true)
Should a state for out of bounds be constructed.
BuilderOptions & setReservedBitsForUnboundedVariables(uint64_t value)
Sets the number of bits that will be reserved for unbounded integer variables.
bool isScaleAndLiftTransitionRewardsSet() const
BuilderOptions & setBuildChoiceLabels(bool newValue=true)
Should the choice labels be built?
bool isBuildStateValuationsSet() const
BuilderOptions & addRewardModel(std::string const &rewardModelName)
Add an additional reward model to build.
bool isBuildAllRewardModelsSet() const
BuilderOptions & setBuildAllRewardModels(bool newValue=true)
Should all reward models be built? If not set, only required reward models are build.
bool isBuildChoiceLabelsSet() const
bool isBuildChoiceOriginsSet() const
BuilderOptions & setInferObservationsFromActions(bool newValue=true)
BuilderOptions & setBuildChoiceOrigins(bool newValue=true)
Should the origins the different choices be built?
bool isShowProgressSet() const
BuilderOptions & setBuildStateValuations(bool newValue=true)
Should the state valuation mapping be built?
std::vector< std::pair< std::string, storm::expressions::Expression > > const & getExpressionLabels() const
Which expression labels are built.
BuilderOptions & substituteExpressions(std::function< storm::expressions::Expression(storm::expressions::Expression const &)> const &substitutionFunction)
Substitutes all expressions occurring in these options.
std::vector< std::pair< LabelOrExpression, bool > > const & getTerminalStates() const
bool isExplorationChecksSet() const
bool isBuildAllLabelsSet() const
BuilderOptions & setApplyMaximalProgressAssumption(bool newValue=true)
Should the maximal progress assumption be applied when building a Markov Automaton?
uint64_t getShowProgressDelay() const
bool isInferObservationsFromActionsSet() const
void preserveFormula(storm::logic::Formula const &formula, storm::storage::SymbolicModelDescription const &modelDescription=storm::storage::SymbolicModelDescription())
Changes the options in a way that ensures that the given formula can be checked on the model once it ...
bool hasTerminalStates() const
BuilderOptions & addLabel(storm::expressions::Expression const &expression)
bool isAddOverlappingGuardLabelSet() const
bool isAddOutOfBoundsStateSet() const
BuilderOptions & setBuildObservationValuations(bool newValue=true)
Should a observation valuation mapping be built?
void setTerminalStatesFromFormula(storm::logic::Formula const &formula)
Analyzes the given formula and sets an expression for the states states of the model that can be trea...
BuilderOptions & setAddOverlappingGuardsLabel(bool newValue=true)
Should a state be labelled for overlapping guards.
BuilderOptions & addTerminalLabel(std::string const &label, bool value)
BuilderOptions & setScaleAndLiftTransitionRewards(bool newValue=true)
Should extra checks be performed during exploration.
bool isBuildObservationValuationsSet() const
std::set< std::string > const & getLabelNames() const
Which labels are built.
bool isExpression() const
storm::expressions::Expression const & getExpression() const
std::string const & getLabel() const