5 changed files with 143 additions and 3 deletions
			
			
		- 
					59src/storm-cli-utilities/model-handling.h
- 
					2src/storm/utility/Engine.cpp
- 
					2src/storm/utility/Engine.h
- 
					37src/storm/utility/Portfolio.cpp
- 
					46src/storm/utility/Portfolio.h
| @ -0,0 +1,37 @@ | |||
| #include "storm/utility/Portfolio.h"
 | |||
| 
 | |||
| #include "storm/storage/SymbolicModelDescription.h"
 | |||
| #include "storm/storage/jani/Property.h"
 | |||
| 
 | |||
| #include "storm/utility/macros.h"
 | |||
| #include "storm/exceptions/InvalidOperationException.h"
 | |||
| 
 | |||
| namespace storm { | |||
|     namespace utility { | |||
|         Portfolio::Portfolio() : engine(storm::utility::Engine::Unknown), bisimulation(false), exact(false) { | |||
|             // Intentionally left empty
 | |||
|         } | |||
|          | |||
|         void Portfolio::predict(storm::storage::SymbolicModelDescription const& modelDescription, storm::jani::Property const& property) { | |||
|          | |||
|         } | |||
|          | |||
|         void Portfolio::predict(storm::storage::SymbolicModelDescription const& modelDescription, storm::jani::Property const& property, uint64_t stateEstimate) { | |||
|          | |||
|         } | |||
| 
 | |||
|         storm::utility::Engine Portfolio::getEngine() const { | |||
|             STORM_LOG_THROW(engine != storm::utility::Engine::Unknown, storm::exceptions::InvalidOperationException, "Tried to get the engine but apparently no prediction was done before."); | |||
|             return engine; | |||
|         } | |||
|          | |||
|         bool Portfolio::enableBisimulation() const { | |||
|             return bisimulation; | |||
|         } | |||
|          | |||
|         bool Portfolio::enableExact() const { | |||
|             return exact; | |||
|         } | |||
|          | |||
|     } | |||
| } | |||
| @ -0,0 +1,46 @@ | |||
| #pragma once | |||
| 
 | |||
| #include "storm/utility/Engine.h" | |||
| 
 | |||
| namespace storm { | |||
|      | |||
|     namespace jani { | |||
|         class Property; | |||
|     } | |||
|      | |||
|     namespace storage { | |||
|         class SymbolicModelDescription; | |||
|     } | |||
|      | |||
|     namespace utility { | |||
|         class Portfolio { | |||
|         public: | |||
|             Portfolio(); | |||
|              | |||
|             /*! | |||
|              * Predicts "good" settings for the provided model checking query | |||
|              */ | |||
|             void predict(storm::storage::SymbolicModelDescription const& modelDescription, storm::jani::Property const& property); | |||
|              | |||
|             /*! | |||
|              * Predicts "good" settings for the provided model checking query | |||
|              * @param stateEstimate A hint that gives a (rough) estimate for the number of states. | |||
|              */ | |||
|             void predict(storm::storage::SymbolicModelDescription const& modelDescription, storm::jani::Property const& property, uint64_t stateEstimate); | |||
| 
 | |||
|             /// Retrieve "good" settings after calling predict. | |||
|             storm::utility::Engine getEngine() const; | |||
|             bool enableBisimulation() const; | |||
|             bool enableExact() const; | |||
|              | |||
|         private: | |||
|             storm::utility::Engine engine; | |||
|             bool bisimulation; | |||
|             bool exact; | |||
|              | |||
|              | |||
|              | |||
|         }; | |||
|          | |||
|     } | |||
| } | |||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue