16const std::string TransformationSettings::chainEliminationOptionName =
"eliminate-chains";
17const std::string TransformationSettings::labelBehaviorOptionName =
"ec-label-behavior";
18const std::string TransformationSettings::toNondetOptionName =
"to-nondet";
19const std::string TransformationSettings::toDiscreteTimeOptionName =
"to-discrete";
20const std::string TransformationSettings::permuteModelOptionName =
"permute";
24 "If set, chains of non-Markovian states are eliminated if the resulting model is a Markov Automaton.")
33 "Sets the behavior of labels for all non-Markovian states. Some options may cause wrong results.")
37 "The behavior how the transformer handles labels of non-Markovian states. 'keep' does not eliminate states with different labels, "
38 "'merge' builds the union of labels of all eliminated states, 'delete' only keeps the labels of the last state.")
44 "If set, DTMCs/CTMCs are converted to MDPs/MAs (without actual nondeterminism) before model checking.")
48 "If set, CTMCs/MAs are converted to DTMCs/MDPs (which might or might not preserve the provided properties).")
79 STORM_LOG_THROW(
false, storm::exceptions::IllegalArgumentValueException,
92 if (this->
getOption(permuteModelOptionName).getHasOptionBeenSet()) {
99 if (this->
getOption(permuteModelOptionName).getHasOptionBeenSet()) {
100 if (
auto const&
arg = this->
getOption(permuteModelOptionName).getArgumentByName(
"seed");
arg.getHasBeenSet()) {
101 return arg.getValueAsUnsignedInteger();
110 "Label preservation can only be chosen if chain elimination is applied.");
114 "Random seed is given for permutation order, but the order is not random. Seed will be ignored.");
virtual std::string getValueAsString() const =0
Retrieves the value of this argument as a string.
static ArgumentBuilder createUnsignedIntegerArgument(std::string const &name, std::string const &description)
Creates an unsigned integer argument with the given parameters.
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.
bool getHasOptionBeenSet() const
Retrieves whether the option has been set.
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.
#define STORM_LOG_WARN_COND(cond, message)
#define STORM_LOG_THROW(cond, exception, message)
SettingsType const & getModule()
Get module.
std::string orderKindtoString(OrderKind order)
Converts the given order to a string.
std::vector< std::string > orderKinds()
Returns a list of possible order kinds.
OrderKind orderKindFromString(std::string const &order)
Gets the order from the given string.