Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
SparsePropositionalModelChecker.cpp
Go to the documentation of this file.
2
4
12
14
20namespace storm {
21namespace modelchecker {
22template<typename SparseModelType>
24 // Intentionally left empty.
25}
26
27template<typename SparseModelType>
32
33template<typename SparseModelType>
36 storm::logic::BooleanLiteralFormula const& stateFormula = checkTask.getFormula();
37 if (stateFormula.isTrueFormula()) {
38 return std::unique_ptr<CheckResult>(new ExplicitQualitativeCheckResult(storm::storage::BitVector(model.getNumberOfStates(), true)));
39 } else {
40 return std::unique_ptr<CheckResult>(new ExplicitQualitativeCheckResult(storm::storage::BitVector(model.getNumberOfStates())));
41 }
42}
43
44template<typename SparseModelType>
47 storm::logic::AtomicLabelFormula const& stateFormula = checkTask.getFormula();
48 STORM_LOG_THROW(model.hasLabel(stateFormula.getLabel()), storm::exceptions::InvalidPropertyException,
49 "The property refers to unknown label '" << stateFormula.getLabel() << "'.");
50 return std::unique_ptr<CheckResult>(new ExplicitQualitativeCheckResult(model.getStates(stateFormula.getLabel())));
51}
52
53template<typename SparseModelType>
55 return model;
56}
57
58// Explicitly instantiate the template class.
66
67#ifdef STORM_HAVE_CARL
70
78
85
87#endif
88} // namespace modelchecker
89} // namespace storm
std::string const & getLabel() const
virtual bool isTrueFormula() const override
bool isInFragment(FragmentSpecification const &fragment) const
Definition Formula.cpp:196
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:18
#define STORM_LOG_THROW(cond, exception, message)
Definition macros.h:30
FragmentSpecification propositional()
LabParser.cpp.
Definition cli.cpp:18