fixed crowds models to work with exact arithmetic. fixed dynamic state priority queue implementation. added setting to use dedicated elimination-based model checker instead of regular model checker (+ elimination solver)
STORM_LOG_THROW(!longNameContainsNonAlpha,storm::exceptions::IllegalArgumentException,"Unable to construct option with illegal long name '"<<longName<<"'.");
STORM_LOG_THROW(!longNameContainsIllegalCharacter,storm::exceptions::IllegalArgumentException,"Unable to construct option with illegal long name '"<<longName<<"'.");
STORM_LOG_THROW(!shortNameContainsNonAlpha,storm::exceptions::IllegalArgumentException,"Unable to construct option with illegal short name '"<<shortName<<"'.");
STORM_LOG_THROW(!shortNameContainsIllegalCharacter,storm::exceptions::IllegalArgumentException,"Unable to construct option with illegal short name '"<<shortName<<"'.");
this->addOption(storm::settings::OptionBuilder(moduleName,eliminationOrderOptionName,true,"The order that is to be used for the elimination techniques. Available are {fw, fwrev, bw, bwrev, rand, spen, dpen}.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the order in which states are chosen for elimination.").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(orders)).setDefaultValueString("fwrev").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,eliminationOrderOptionName,true,"The order that is to be used for the elimination techniques. Available are {fw, fwrev, bw, bwrev, rand, spen, dpen, regex}.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the order in which states are chosen for elimination.").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(orders)).setDefaultValueString("fwrev").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,eliminationMethodOptionName,true,"The elimination technique to use. Available are {state, hybrid}.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the elimination technique to use.").addValidationFunctionString(storm::settings::ArgumentValidators::stringInListValidator(methods)).setDefaultValueString("state").build()).build());
@ -26,6 +27,7 @@ namespace storm {
this->addOption(storm::settings::OptionBuilder(moduleName,entryStatesLastOptionName,true,"Sets whether the entry states are eliminated last.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,maximalSccSizeOptionName,true,"Sets the maximal size of the SCCs for which state elimination is applied.")
.addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("maxsize","The maximal size of an SCC on which state elimination is applied.").setDefaultValueUnsignedInteger(20).setIsOptional(true).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,useDedicatedModelCheckerOptionName,true,"Sets whether to use the dedicated model elimination checker (only DTMCs).").build());
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"The property "<<*formula<<" is not supported by the dedicated elimination model checker.");
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"The exact engine currently does not support this property on DTMCs.");
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"The property "<<*formula<<" is not supported by the dedicated elimination model checker.");
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"The parametric engine currently does not support this property on DTMCs.");
STORM_LOG_THROW(false,storm::exceptions::NotSupportedException,"The property "<<*formula<<" is not supported by the dedicated elimination model checker.");