Storm 1.10.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ModelCheckerSettings.cpp
Go to the documentation of this file.
2
8
10
11const std::string ModelCheckerSettings::moduleName = "modelchecker";
12const std::string ModelCheckerSettings::filterRewZeroOptionName = "filterrewzero";
13const std::string ModelCheckerSettings::ltl2daToolOptionName = "ltl2datool";
14const std::string ModelCheckerSettings::conditionalAlgorithmOptionName = "conditional";
15
17 this->addOption(storm::settings::OptionBuilder(moduleName, filterRewZeroOptionName, false,
18 "If set, states with reward zero are filtered out, potentially reducing the size of the equation system")
19 .setIsAdvanced()
20 .build());
21 this->addOption(storm::settings::OptionBuilder(moduleName, ltl2daToolOptionName, false,
22 "If set, use an external tool to convert LTL formulas to state-based deterministic automata in HOA format")
23 .setIsAdvanced()
25 "filename", "A script that can be called with a prefix formula and a name for the output automaton.")
26 .build())
27 .build());
28
29 std::vector<std::string> const conditionalAlgs = {"default", "restart", "bisection", "bisection-advanced", "pi"};
30 this->addOption(storm::settings::OptionBuilder(moduleName, conditionalAlgorithmOptionName, false, "The used algorithm for conditional probabilities.")
31 .setIsAdvanced()
32 .addArgument(storm::settings::ArgumentBuilder::createStringArgument("name", "The name of the method to use.")
33 .addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(conditionalAlgs))
34 .setDefaultValueString("default")
35 .build())
36 .build());
37}
38
40 return this->getOption(filterRewZeroOptionName).getHasOptionBeenSet();
41}
42
44 return this->getOption(ltl2daToolOptionName).getHasOptionBeenSet();
45}
46
48 return this->getOption(ltl2daToolOptionName).getArgumentByName("filename").getValueAsString();
49}
50
52 return this->getOption(conditionalAlgorithmOptionName).getHasOptionBeenSet();
53}
54
56 return conditionalAlgorithmSettingFromString(this->getOption(conditionalAlgorithmOptionName).getArgumentByName("name").getValueAsString());
57}
58
59} // namespace storm::settings::modules
virtual std::string getValueAsString() const =0
Retrieves the value of this argument as a string.
static ArgumentBuilder createStringArgument(std::string const &name, std::string const &description)
Creates a string argument with the given parameters.
static std::shared_ptr< ArgumentValidator< std::string > > createMultipleChoiceValidator(std::vector< std::string > const &choices)
This class provides the interface to create an option...
ArgumentBase const & getArgumentByName(std::string const &argumentName) const
Returns a reference to the argument with the specified long name.
Definition Option.cpp:79
bool getHasOptionBeenSet() const
Retrieves whether the option has been set.
Definition Option.cpp:125
ModelCheckerSettings()
Creates a new set of general settings.
ConditionalAlgorithmSetting getConditionalAlgorithmSetting() const
Retrieves the specified algorithm for conditional probabilities.
bool isLtl2daToolSet() const
Retrieves whether the external ltl2da tool has been set.
bool isConditionalAlgorithmSet() const
Retrieves whether an algorithm for conditional properties has been set.
std::string getLtl2daTool() const
Retrieves the external ltl2da tool that is used for converting LTL formulas to deterministic automata...
This is the base class of the settings for a particular module.
void addOption(std::shared_ptr< Option > const &option)
Adds and registers the given option.
Option & getOption(std::string const &longName)
Retrieves the option with the given long name.
ConditionalAlgorithmSetting conditionalAlgorithmSettingFromString(std::string const &algorithm)