|
|
@ -31,16 +31,17 @@ namespace storm { |
|
|
|
/*! |
|
|
|
* Main method for checking DFTs. |
|
|
|
* |
|
|
|
* @param origDft Original DFT |
|
|
|
* @param properties Properties to check for |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used |
|
|
|
* @param allowModularisation Flag indication if modularisation is allowed |
|
|
|
* @param enableDC Flag indicating if dont care propagation should be used |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation |
|
|
|
* @param origDft Original DFT. |
|
|
|
* @param properties Properties to check for. |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used. |
|
|
|
* @param allowModularisation Flag indicating if modularisation is allowed. |
|
|
|
* @param enableDC Flag indicating if Don't Care propagation should be used. |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation. |
|
|
|
* @param approximationHeuristic Heuristic used for approximation. |
|
|
|
* |
|
|
|
* @return Model checking results for the given properties. |
|
|
|
*/ |
|
|
|
dft_results check(storm::storage::DFT<ValueType> const& origDft, property_vector const& properties, bool symred = true, bool allowModularisation = true, bool enableDC = true, double approximationError = 0.0); |
|
|
|
dft_results check(storm::storage::DFT<ValueType> const& origDft, property_vector const& properties, bool symred = true, bool allowModularisation = true, bool enableDC = true, double approximationError = 0.0, storm::builder::ApproximationHeuristic approximationHeuristic = storm::builder::ApproximationHeuristic::DEPTH); |
|
|
|
|
|
|
|
/*! |
|
|
|
* Print timings of all operations to stream. |
|
|
@ -76,43 +77,44 @@ namespace storm { |
|
|
|
/*! |
|
|
|
* Internal helper for model checking a DFT. |
|
|
|
* |
|
|
|
* @param dft DFT |
|
|
|
* @param properties Properties to check for |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used |
|
|
|
* @param allowModularisation Flag indication if modularisation is allowed |
|
|
|
* @param enableDC Flag indicating if dont care propagation should be used |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation |
|
|
|
* @param dft DFT. |
|
|
|
* @param properties Properties to check for. |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used. |
|
|
|
* @param allowModularisation Flag indicating if modularisation is allowed. |
|
|
|
* @param enableDC Flag indicating if Don't Caree propagation should be used. |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation. |
|
|
|
* @param approximationHeuristic Heuristic used for approximation. |
|
|
|
* |
|
|
|
* @return Model checking results (or in case of approximation two results for lower and upper bound) |
|
|
|
*/ |
|
|
|
dft_results checkHelper(storm::storage::DFT<ValueType> const& dft, property_vector const& properties, bool symred, bool allowModularisation, bool enableDC, double approximationError); |
|
|
|
dft_results checkHelper(storm::storage::DFT<ValueType> const& dft, property_vector const& properties, bool symred, bool allowModularisation, bool enableDC, double approximationError, storm::builder::ApproximationHeuristic approximationHeuristic = storm::builder::ApproximationHeuristic::DEPTH); |
|
|
|
|
|
|
|
/*! |
|
|
|
* Internal helper for building a CTMC from a DFT via parallel composition. |
|
|
|
* |
|
|
|
* @param dft DFT |
|
|
|
* @param properties Properties to check for |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used |
|
|
|
* @param allowModularisation Flag indication if modularisation is allowed |
|
|
|
* @param enableDC Flag indicating if dont care propagation should be used |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation |
|
|
|
* @param dft DFT. |
|
|
|
* @param properties Properties to check for. |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used. |
|
|
|
* @param allowModularisation Flag indicating if modularisation is allowed. |
|
|
|
* @param enableDC Flag indicating if Don't Care propagation should be used. |
|
|
|
* |
|
|
|
* @return CTMC representing the DFT |
|
|
|
*/ |
|
|
|
std::shared_ptr<storm::models::sparse::Ctmc<ValueType>> buildModelViaComposition(storm::storage::DFT<ValueType> const& dft, property_vector const& properties, bool symred, bool allowModularisation, bool enableDC, double approximationError); |
|
|
|
std::shared_ptr<storm::models::sparse::Ctmc<ValueType>> buildModelViaComposition(storm::storage::DFT<ValueType> const& dft, property_vector const& properties, bool symred, bool allowModularisation, bool enableDC); |
|
|
|
|
|
|
|
/*! |
|
|
|
* Check model generated from DFT. |
|
|
|
* |
|
|
|
* @param dft The DFT |
|
|
|
* @param properties Properties to check for |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used |
|
|
|
* @param enableDC Flag indicating if dont care propagation should be used |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation |
|
|
|
* @param dft The DFT. |
|
|
|
* @param properties Properties to check for. |
|
|
|
* @param symred Flag indicating if symmetry reduction should be used. |
|
|
|
* @param enableDC Flag indicating if Don't Care propagation should be used. |
|
|
|
* @param approximationError Error allowed for approximation. Value 0 indicates no approximation. |
|
|
|
* @param approximationHeuristic Heuristic used for approximation. |
|
|
|
* |
|
|
|
* @return Model checking result |
|
|
|
*/ |
|
|
|
dft_results checkDFT(storm::storage::DFT<ValueType> const& dft, property_vector const& properties, bool symred, bool enableDC, double approximationError = 0.0); |
|
|
|
dft_results checkDFT(storm::storage::DFT<ValueType> const& dft, property_vector const& properties, bool symred, bool enableDC, double approximationError = 0.0, storm::builder::ApproximationHeuristic approximationHeuristic = storm::builder::ApproximationHeuristic::DEPTH); |
|
|
|
|
|
|
|
/*! |
|
|
|
* Check the given markov model for the given properties. |
|
|
|