STORM_PRINT_AND_LOG("Computing extremal value for property "<<property.getName()<<": "<<*property.getRawFormula()<<" within region "<<region<<"..."<<std::endl);
STORM_PRINT_AND_LOG("Result at initial state: "<<valueValuation.first<<" ( approx. "<<storm::utility::convertNumber<double>(valueValuation.first)<<") at ["<<valuationStr.str()<<"]."<<std::endl)
STORM_PRINT_AND_LOG("Time for model checking: "<<watch<<"."<<std::endl);
STORM_LOG_THROW(this->parametricModel->getInitialStates().getNumberOfSetBits()==1,storm::exceptions::NotSupportedException,"Getting extremal values at the initial state requires a model with a single initial state.");
.addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("coverage-threshold","Refinement converges if the fraction of unknown area falls below this threshold.").setDefaultValueDouble(0.05).addValidatorDouble(storm::settings::ArgumentValidatorFactory::createDoubleRangeValidatorIncluding(0.0,1.0)).build())
.addArgument(storm::settings::ArgumentBuilder::createIntegerArgument("depth-limit","If given, limits the number of times a region is refined.").setDefaultValueInteger(-1).build()).build());
std::vector<std::string>directions={"min","max"};
this->addOption(storm::settings::OptionBuilder(moduleName,extremumOptionName,false,"Computes the extremum within the region.")
this->addOption(storm::settings::OptionBuilder(moduleName,checkEngineOptionName,true,"Sets which engine is used for analyzing regions.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("name","The name of the engine to use.").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(engines)).setDefaultValueString("pl").build()).build());