16const std::string BisimulationSettings::typeOptionName =
"type";
17const std::string BisimulationSettings::representativeOptionName =
"repr";
18const std::string BisimulationSettings::originalVariablesOptionName =
"origvars";
19const std::string BisimulationSettings::quotientFormatOptionName =
"quot";
20const std::string BisimulationSettings::signatureModeOptionName =
"sigmode";
21const std::string BisimulationSettings::reuseOptionName =
"reuse";
22const std::string BisimulationSettings::initialPartitionOptionName =
"init";
23const std::string BisimulationSettings::refinementModeOptionName =
"refine";
24const std::string BisimulationSettings::exactArithmeticDdOptionName =
"ddexact";
27 std::vector<std::string>
types = {
"strong",
"weak"};
36 std::vector<std::string>
quotTypes = {
"sparse",
"dd"};
38 "Sets the format in which the quotient is extracted (only applies to DD-based bisimulation).")
47 "Sets whether to use representatives in the quotient rather than block numbers.")
51 "Sets whether to use the original variables in the quotient rather than the block variables.")
68 std::vector<std::string>
reuseModes = {
"none",
"blocks"};
97 if (this->
getOption(typeOptionName).getArgumentByName(
"name").getValueAsString() ==
"strong") {
104 if (this->
getOption(typeOptionName).getArgumentByName(
"name").getValueAsString() ==
"weak") {
179 "Bisimulation minimization is not selected, so setting options for bisimulation has no effect.");
virtual std::string getValueAsString() const =0
Retrieves the value of this argument as a string.
virtual bool wasSetFromDefaultValue() const =0
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.
virtual bool check() const override
Checks whether the settings are consistent.
InitialPartitionMode getInitialPartitionMode() const
Retrieves the initial partition mode.
RefinementMode getRefinementMode() const
Retrieves the refinement mode to use.
storm::dd::bisimulation::QuotientFormat getQuotientFormat() const
Retrieves the format in which the quotient is to be extracted.
storm::dd::bisimulation::SignatureMode getSignatureMode() const
Retrieves the mode to compute signatures.
bool isUseOriginalVariablesSet() const
Retrieves whether the extracted quotient model is supposed to use the same variables as the original ...
BisimulationSettings()
Creates a new set of bisimulation settings.
bool isQuotientFormatSetFromDefaultValue() const
Retrieves whether the format in which the quotient is to be extracted has been set from its default v...
bool isUseRepresentativesSet() const
Retrieves whether representatives for blocks are to be used instead of the block numbers.
static const std::string moduleName
bool useExactArithmeticInDdBisimulation() const
Retrieves whether exact arithmetic is to be used in symbolic bisimulation minimization.
bool isStrongBisimulationSet() const
Retrieves whether strong bisimulation is to be used.
ReuseMode getReuseMode() const
Retrieves the selected reuse mode.
bool isWeakBisimulationSet() const
Retrieves whether weak bisimulation is to be used.
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_ASSERT(cond, message)
#define STORM_LOG_WARN_COND(cond, message)
#define STORM_LOG_THROW(cond, exception, message)
SettingsType const & getModule()
Get module.