You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							2.7 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							2.7 KiB
						
					
					
				| #include "storm-pomdp-cli/settings/modules/QualitativePOMDPAnalysisSettings.h" | |
|  | |
| #include "storm/settings/SettingsManager.h" | |
| #include "storm/settings/SettingMemento.h" | |
| #include "storm/settings/Option.h" | |
| #include "storm/settings/OptionBuilder.h" | |
| #include "storm/settings/ArgumentBuilder.h" | |
|  | |
| #include "storm/exceptions/InvalidArgumentException.h" | |
|  | |
| namespace storm { | |
|     namespace settings { | |
|         namespace modules { | |
| 
 | |
|             const std::string QualitativePOMDPAnalysisSettings::moduleName = "pomdpQualitative"; | |
|             const std::string exportSATCallsOption = "exportSATCallsPath"; | |
|             const std::string lookaheadHorizonOption = "lookaheadHorizon"; | |
|             const std::string onlyDeterministicOption = "onlyDeterministic"; | |
| 
 | |
| 
 | |
|             QualitativePOMDPAnalysisSettings::QualitativePOMDPAnalysisSettings() : ModuleSettings(moduleName) { | |
|                 this->addOption(storm::settings::OptionBuilder(moduleName, exportSATCallsOption, false, "Export the SAT calls?.").addArgument(storm::settings::ArgumentBuilder::createStringArgument("path", "The name of the file to which to write the model.").build()).build()); | |
|                 this->addOption(storm::settings::OptionBuilder(moduleName, lookaheadHorizonOption, false, "In reachability in combination with a discrete ranking function, a lookahead is necessary.").addArgument(storm::settings::ArgumentBuilder::createUnsignedIntegerArgument("bound", "The lookahead. Use 0 for the number of states.").setDefaultValueUnsignedInteger(0).build()).build()); | |
|                 this->addOption(storm::settings::OptionBuilder(moduleName, onlyDeterministicOption, false, "Search only for deterministic schedulers").build()); | |
|             } | |
| 
 | |
|             uint64_t QualitativePOMDPAnalysisSettings::getLookahead() const { | |
|                 return this->getOption(lookaheadHorizonOption).getArgumentByName("bound").getValueAsUnsignedInteger(); | |
|             } | |
|             bool QualitativePOMDPAnalysisSettings::isExportSATCallsSet() const { | |
|                 return this->getOption(exportSATCallsOption).getHasOptionBeenSet(); | |
|             } | |
| 
 | |
|             std::string QualitativePOMDPAnalysisSettings::getExportSATCallsPath() const { | |
|                 return this->getOption(exportSATCallsOption).getArgumentByName("path").getValueAsString(); | |
|             } | |
| 
 | |
|             bool QualitativePOMDPAnalysisSettings::isOnlyDeterministicSet() const { | |
|                 return this->getOption(onlyDeterministicOption).getHasOptionBeenSet(); | |
|             } | |
| 
 | |
| 
 | |
|             void QualitativePOMDPAnalysisSettings::finalize() { | |
|             } | |
| 
 | |
|             bool QualitativePOMDPAnalysisSettings::check() const { | |
|                 return true; | |
|             } | |
| 
 | |
|         } // namespace modules | |
|     } // namespace settings | |
| } // namespace storm
 |