this->addOption(storm::settings::OptionBuilder(moduleName,maxStepsOptionName,true,"Aborts the computation after the given number of refinement steps (= computed pareto optimal points).")
.addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("value","the threshold for the number of refinement steps to be performed.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,schedulerRestrictionOptionName,false,"Restricts the class of considered schedulers to non-randomized schedulers with the provided memory pattern.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("memorypattern","The Pattern of the memory.").addValidatorString(ArgumentValidatorFactory::createMultipleChoiceValidator(memoryPatterns)).build())
.addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("memorystates","The Number of memory states (only if supported by the pattern).").setDefaultValueUnsignedInteger(0).build()).build());
STORM_LOG_THROW(states<=1,storm::exceptions::IllegalArgumentException,"The number of memory states should not be provided for the given memory pattern.");
STORM_LOG_THROW(states==0,storm::exceptions::IllegalArgumentException,"The number of memory states should not be provided for the given memory pattern.");
}elseif(pattern=="arbitrary"){
STORM_LOG_THROW(states>0,storm::exceptions::IllegalArgumentException,"Invalid number of memory states for provided Pattern. Please specify a positive number.");