Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ExplicitParetoCurveCheckResult.h
Go to the documentation of this file.
1#pragma once
2
3#include <vector>
4
8
9namespace storm {
10namespace modelchecker {
11template<typename ValueType>
13 public:
19 ExplicitParetoCurveCheckResult(storm::storage::sparse::state_type const& state, std::vector<ExtendedPointType> const& points,
20 polytope_type const& underApproximation = nullptr, polytope_type const& overApproximation = nullptr);
21 ExplicitParetoCurveCheckResult(storm::storage::sparse::state_type const& state, std::vector<ExtendedPointType>&& points,
23 ExplicitParetoCurveCheckResult(storm::storage::sparse::state_type const& state, std::vector<ExtendedPointType>&& points,
24 std::vector<scheduler_type>&& schedulers, polytope_type&& underApproximation = nullptr,
26
30 ExplicitParetoCurveCheckResult(storm::storage::sparse::state_type const& state, std::vector<point_type> const& points,
31 polytope_type const& underApproximation = nullptr, polytope_type const& overApproximation = nullptr)
32 requires(!std::is_same_v<ExtendedPointType, point_type>);
33
37 ExplicitParetoCurveCheckResult(storm::storage::sparse::state_type const& state, std::vector<point_type>&& points, std::vector<scheduler_type>&& schedulers,
39 requires(!std::is_same_v<ExtendedPointType, point_type>);
40
46
47 virtual std::unique_ptr<CheckResult> clone() const override;
48
49 virtual bool isExplicitParetoCurveCheckResult() const override;
50 virtual bool isExplicit() const override;
51
52 virtual void filter(QualitativeCheckResult const& filter) override;
53
55
56 virtual bool hasScheduler() const override;
57
58 std::vector<scheduler_type> const& getSchedulers() const;
59 std::vector<scheduler_type>& getSchedulers();
60
61 private:
62 // The state of the checked model to which the result applies
64 // The corresponding strategies to reach each point in the pareto curve
65 std::vector<scheduler_type> schedulers;
66};
67} // namespace modelchecker
68} // namespace storm
ExplicitParetoCurveCheckResult(ExplicitParetoCurveCheckResult const &other)=default
ExplicitParetoCurveCheckResult(ExplicitParetoCurveCheckResult &&other)=default
storm::storage::sparse::state_type const & getState() const
typename ParetoCurveCheckResult< ValueType >::ExtendedPointType ExtendedPointType
typename ParetoCurveCheckResult< ValueType >::point_type point_type
ExplicitParetoCurveCheckResult & operator=(ExplicitParetoCurveCheckResult const &other)=default
typename ParetoCurveCheckResult< ValueType >::polytope_type polytope_type
virtual void filter(QualitativeCheckResult const &filter) override
Filters the current result wrt.
ExplicitParetoCurveCheckResult & operator=(ExplicitParetoCurveCheckResult &&other)=default
virtual std::unique_ptr< CheckResult > clone() const override
std::vector< scheduler_type > const & getSchedulers() const
std::vector< storm::utility::ExtendedValueType< ValueType > > ExtendedPointType
std::shared_ptr< storm::storage::geometry::Polytope< ValueType > > polytope_type
This class defines which action is chosen in a particular state of a non-deterministic model.
Definition Scheduler.h:18