Storm 1.11.1.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparsePropositionalModelChecker.cpp
Go to the documentation of this file.
2
17
18namespace storm {
19namespace modelchecker {
20template<typename SparseModelType>
22 // Intentionally left empty.
23}
24
25template<typename SparseModelType>
30
31template<typename SparseModelType>
34 storm::logic::BooleanLiteralFormula const& stateFormula = checkTask.getFormula();
35 if (stateFormula.isTrueFormula()) {
36 return std::unique_ptr<CheckResult>(new ExplicitQualitativeCheckResult(storm::storage::BitVector(model.getNumberOfStates(), true)));
37 } else {
38 return std::unique_ptr<CheckResult>(new ExplicitQualitativeCheckResult(storm::storage::BitVector(model.getNumberOfStates())));
39 }
40}
41
42template<typename SparseModelType>
45 storm::logic::AtomicLabelFormula const& stateFormula = checkTask.getFormula();
46 STORM_LOG_THROW(model.hasLabel(stateFormula.getLabel()), storm::exceptions::InvalidPropertyException,
47 "The property refers to unknown label '" << stateFormula.getLabel() << "'.");
48 return std::unique_ptr<CheckResult>(new ExplicitQualitativeCheckResult(model.getStates(stateFormula.getLabel())));
49}
50
51template<typename SparseModelType>
53 return model;
54}
55
56// Explicitly instantiate the template class.
64
67
75
82
84} // namespace modelchecker
85} // namespace storm
std::string const & getLabel() const
virtual bool isTrueFormula() const override
bool isInFragment(FragmentSpecification const &fragment) const
Definition Formula.cpp:204
FormulaType const & getFormula() const
Retrieves the formula from this task.
Definition CheckTask.h:140
virtual std::unique_ptr< CheckResult > checkBooleanLiteralFormula(Environment const &env, CheckTask< storm::logic::BooleanLiteralFormula, SolutionType > const &checkTask) override
virtual bool canHandle(CheckTask< storm::logic::Formula, SolutionType > const &checkTask) const override
Determines whether the model checker can handle the given verification task.
virtual std::unique_ptr< CheckResult > checkAtomicLabelFormula(Environment const &env, CheckTask< storm::logic::AtomicLabelFormula, SolutionType > const &checkTask) override
SparseModelType const & getModel() const
Retrieves the model associated with this model checker instance.
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:16
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30
FragmentSpecification propositional()