STORM_LOG_THROW(discreteTimeModel->isOfType(storm::models::ModelType::Dtmc)||discreteTimeModel->isOfType(storm::models::ModelType::Mdp),storm::exceptions::UnexpectedException,"Transformation to discrete time model has failed.");
STORM_LOG_THROW(regionCheckResult!=nullptr,storm::exceptions::UnexpectedException,"Can not export region check result: The given checkresult does not have the expected type.");
this->addOption(storm::settings::OptionBuilder(moduleName,exportResultOptionName,true,"A path to a file where the parametric result should be saved.")
this->addOption(storm::settings::OptionBuilder(moduleName,exportResultOptionName,false,"A path to a file where the parametric result should be saved.")
this->addOption(storm::settings::OptionBuilder(moduleName,simplifyOptionName,true,"Sets whether to perform simplification steps before model analysis.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,derivativesOptionName,true,"Sets whether to generate the derivatives of the resulting rational function.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,simplifyOptionName,false,"Sets whether to perform simplification steps before model analysis.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,derivativesOptionName,false,"Sets whether to generate the derivatives of the resulting rational function.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,transformContinuousOptionName,false,"Sets whether to transform a continuous time input model to a discrete time model.").setShortName(transformContinuousShortOptionName).build());
this->addOption(storm::settings::OptionBuilder(moduleName,regionOptionName,true,"Sets the region(s) considered for analysis.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("regioninput","The region(s) given in format a<=x<=b,c<=y<=d seperated by ';'. Can also be point to a file.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,regionOptionName,false,"Sets the region(s) considered for analysis.").setShortName(regionShortOptionName)
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("regioninput","The region(s) given in format a<=x<=b,c<=y<=d seperated by ';'. Can also be a file.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,refineOptionName,true,"Enables region refinement.")
this->addOption(storm::settings::OptionBuilder(moduleName,refineOptionName,false,"Enables region refinement.")
.addArgument(storm::settings::ArgumentBuilder::createDoubleArgument("threshold","Refinement converges if the fraction of unknown area falls below this threshold.").setDefaultValueDouble(0.05).addValidatorDouble(storm::settings::ArgumentValidatorFactory::createDoubleRangeValidatorExcluding(0.0,1.0)).build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,checkEngineOptionName,false,"Sets which engine is used for analyzing regions.")
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());
this->addOption(storm::settings::OptionBuilder(moduleName,printNoIllustrationOptionName,true,"If set, no illustration of the result is printed.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,printNoIllustrationOptionName,false,"If set, no illustration of the result is printed.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,printFullResultOptionName,true,"If set, the full result for every region is printed.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,printFullResultOptionName,false,"If set, the full result for every region is printed.").build());