this->addOption(storm::settings::OptionBuilder(moduleName,prismCompatibilityOptionName,false,"Enables PRISM compatibility. This may be necessary to process some PRISM models.").setShortName(prismCompatibilityOptionShortName).build());
this->addOption(storm::settings::OptionBuilder(moduleName,prismCompatibilityOptionName,false,"Enables PRISM compatibility. This may be necessary to process some PRISM models.").setShortName(prismCompatibilityOptionShortName).build());
this->addOption(storm::settings::OptionBuilder(moduleName,exportDotOptionName,"","If given, the loaded model will be written to the specified file in the dot format.")
this->addOption(storm::settings::OptionBuilder(moduleName,exportDotOptionName,"","If given, the loaded model will be written to the specified file in the dot format.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename","The name of the file to which the model is to be written.").build()).build());
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename","The name of the file to which the model is to be written.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,exportJaniDotOptionName,"","If given, the loaded jani model will be written to the specified file in the dot format.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename","The name of the file to which the model is to be written.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,exportExplicitOptionName,"","If given, the loaded model will be written to the specified file in the drn format.")
this->addOption(storm::settings::OptionBuilder(moduleName,exportExplicitOptionName,"","If given, the loaded model will be written to the specified file in the drn format.")
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename","the name of the file to which the model is to be writen.").build()).build());
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("filename","the name of the file to which the model is to be writen.").build()).build());
this->addOption(storm::settings::OptionBuilder(moduleName,explicitOptionName,false,"Parses the model given in an explicit (sparse) representation.").setShortName(explicitOptionShortName)
this->addOption(storm::settings::OptionBuilder(moduleName,explicitOptionName,false,"Parses the model given in an explicit (sparse) representation.").setShortName(explicitOptionShortName)
@ -65,6 +69,7 @@ namespace storm {
this->addOption(storm::settings::OptionBuilder(moduleName,prismToJaniOptionName,false,"If set, the input PRISM model is transformed to JANI.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,prismToJaniOptionName,false,"If set, the input PRISM model is transformed to JANI.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,jitOptionName,false,"If set, the model is built using the JIT model builder.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,jitOptionName,false,"If set, the model is built using the JIT model builder.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,fullModelBuildOptionName,false,"If set, include all rewards and labels.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,fullModelBuildOptionName,false,"If set, include all rewards and labels.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,buildChoiceLabelOptionName,false,"If set, include choice labels").build());
this->addOption(storm::settings::OptionBuilder(moduleName,noBuildOptionName,false,"If set, do not build the model.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,noBuildOptionName,false,"If set, do not build the model.").build());
this->addOption(storm::settings::OptionBuilder(moduleName,propertyOptionName,false,"Specifies the properties to be checked on the model.").setShortName(propertyOptionShortName)
this->addOption(storm::settings::OptionBuilder(moduleName,propertyOptionName,false,"Specifies the properties to be checked on the model.").setShortName(propertyOptionShortName)
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("property or filename","The formula or the file containing the formulas.").build())
.addArgument(storm::settings::ArgumentBuilder::createStringArgument("property or filename","The formula or the file containing the formulas.").build())
// Ensure that not two explicit input models were given.
// Ensure that not two explicit input models were given.
STORM_LOG_THROW(!isExplicitSet()||!isExplicitDRNSet(),storm::exceptions::InvalidSettingsException,"Explicit model ");
STORM_LOG_THROW(!isExplicitSet()||!isExplicitDRNSet(),storm::exceptions::InvalidSettingsException,"Explicit model ");
STORM_LOG_THROW(!isExportJaniDotSet()||isJaniInputSet(),storm::exceptions::InvalidSettingsException,"Jani-to-dot export is only available for jani models");
// Ensure that the model was given either symbolically or explicitly.
// Ensure that the model was given either symbolically or explicitly.
STORM_LOG_THROW(!isJaniInputSet()||!isPrismInputSet()||!isExplicitSet()||!isExplicitDRNSet(),storm::exceptions::InvalidSettingsException,"The model may be either given in an explicit or a symbolic format (PRISM or JANI), but not both.");
STORM_LOG_THROW(!isJaniInputSet()||!isPrismInputSet()||!isExplicitSet()||!isExplicitDRNSet(),storm::exceptions::InvalidSettingsException,"The model may be either given in an explicit or a symbolic format (PRISM or JANI), but not both.");