Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
HOAPathFormula.h
Go to the documentation of this file.
1#pragma once
2
3#include <map>
4#include <memory>
5#include <string>
8
9namespace storm {
10namespace automata {
11// fwd
12class DeterministicAutomaton;
13} // namespace automata
14
15namespace logic {
17 public:
18 typedef std::map<std::string, std::shared_ptr<Formula const>> ap_to_formula_map;
19
20 HOAPathFormula(const std::string& automatonFile, FormulaContext context = FormulaContext::Probability);
21
22 virtual ~HOAPathFormula() {
23 // Intentionally left empty.
24 }
25
26 FormulaContext const& getContext() const;
27 const std::string& getAutomatonFile() const;
28 const ap_to_formula_map& getAPMapping() const;
29
30 void addAPMapping(const std::string& ap, const std::shared_ptr<Formula const>& formula);
31
32 virtual bool isHOAPathFormula() const override;
33 virtual bool isProbabilityPathFormula() const override;
34 virtual bool hasQuantitativeResult() const override;
35 virtual bool hasQualitativeResult() const override;
36
37 virtual boost::any accept(FormulaVisitor const& visitor, boost::any const& data) const override;
38
39 virtual void gatherAtomicExpressionFormulas(std::vector<std::shared_ptr<AtomicExpressionFormula const>>& atomicExpressionFormulas) const override;
40 virtual void gatherAtomicLabelFormulas(std::vector<std::shared_ptr<AtomicLabelFormula const>>& atomicLabelFormulas) const override;
41 virtual void gatherReferencedRewardModels(std::set<std::string>& referencedRewardModels) const override;
42
43 virtual std::ostream& writeToStream(std::ostream& out, bool allowParentheses = false) const override;
44
45 std::shared_ptr<storm::automata::DeterministicAutomaton> readAutomaton() const;
46
47 private:
48 std::string automatonFile;
49 ap_to_formula_map apToFormulaMap;
50
51 FormulaContext context;
52};
53} // namespace logic
54} // namespace storm
virtual bool hasQuantitativeResult() const override
virtual std::ostream & writeToStream(std::ostream &out, bool allowParentheses=false) const override
Writes the forumla to the given output stream.
virtual boost::any accept(FormulaVisitor const &visitor, boost::any const &data) const override
virtual bool hasQualitativeResult() const override
virtual bool isHOAPathFormula() const override
virtual bool isProbabilityPathFormula() const override
virtual void gatherReferencedRewardModels(std::set< std::string > &referencedRewardModels) const override
const ap_to_formula_map & getAPMapping() const
virtual void gatherAtomicLabelFormulas(std::vector< std::shared_ptr< AtomicLabelFormula const > > &atomicLabelFormulas) const override
virtual void gatherAtomicExpressionFormulas(std::vector< std::shared_ptr< AtomicExpressionFormula const > > &atomicExpressionFormulas) const override
const std::string & getAutomatonFile() const
std::shared_ptr< storm::automata::DeterministicAutomaton > readAutomaton() const
void addAPMapping(const std::string &ap, const std::shared_ptr< Formula const > &formula)
FormulaContext const & getContext() const
std::map< std::string, std::shared_ptr< Formula const > > ap_to_formula_map
LabParser.cpp.
Definition cli.cpp:18