21 changed files with 154 additions and 18 deletions
-
2examples/multi-objective/mdp/dpm/dpm100_numerical.pctl
-
4src/logic/CloneVisitor.cpp
-
3src/logic/CloneVisitor.h
-
15src/logic/ComparisonType.h
-
14src/logic/Formula.cpp
-
6src/logic/Formula.h
-
6src/logic/FormulaInformationVisitor.cpp
-
3src/logic/FormulaInformationVisitor.h
-
3src/logic/FormulaVisitor.h
-
3src/logic/Formulas.h
-
3src/logic/FormulasForwardDeclarations.h
-
7src/logic/FragmentChecker.cpp
-
3src/logic/FragmentChecker.h
-
15src/logic/FragmentSpecification.cpp
-
6src/logic/FragmentSpecification.h
-
4src/logic/ToExpressionVisitor.cpp
-
3src/logic/ToExpressionVisitor.h
-
28src/logic/TotalRewardFormula.cpp
-
29src/logic/TotalRewardFormula.h
-
2src/modelchecker/multiobjective/SparseMdpMultiObjectiveModelChecker.cpp
-
13src/parser/FormulaParser.cpp
@ -1,3 +1,3 @@ |
|||
multi(R{"power"}min=? [ C<=100 ], R{"queue"}<=70 [ C<=100 ]); |
|||
multi(R{"power"}min=? [ C<=100 ], R{"queue"}<=70 [ C<=100 ]) |
|||
// Note: The property file from http://www.prismmodelchecker.org/files/atva12mo/ does not provide a threshold for the second objective. |
|||
// We pick a threshold that intersects the pareto curve. |
@ -0,0 +1,28 @@ |
|||
#include "src/logic/TotalRewardFormula.h"
|
|||
|
|||
#include "src/logic/FormulaVisitor.h"
|
|||
|
|||
namespace storm { |
|||
namespace logic { |
|||
TotalRewardFormula::TotalRewardFormula() { |
|||
// Intentionally left empty.
|
|||
} |
|||
|
|||
bool TotalRewardFormula::isTotalRewardFormula() const { |
|||
return true; |
|||
} |
|||
|
|||
bool TotalRewardFormula::isRewardPathFormula() const { |
|||
return true; |
|||
} |
|||
|
|||
boost::any TotalRewardFormula::accept(FormulaVisitor const& visitor, boost::any const& data) const { |
|||
return visitor.visit(*this, data); |
|||
} |
|||
|
|||
std::ostream& TotalRewardFormula::writeToStream(std::ostream& out) const { |
|||
out << "C"; |
|||
return out; |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,29 @@ |
|||
#ifndef STORM_LOGIC_TOTALREWARDFORMULA_H_ |
|||
#define STORM_LOGIC_TOTALREWARDFORMULA_H_ |
|||
|
|||
#include <boost/variant.hpp> |
|||
|
|||
#include "src/logic/PathFormula.h" |
|||
|
|||
namespace storm { |
|||
namespace logic { |
|||
class TotalRewardFormula : public PathFormula { |
|||
public: |
|||
TotalRewardFormula(); |
|||
|
|||
virtual ~TotalRewardFormula() { |
|||
// Intentionally left empty. |
|||
} |
|||
|
|||
virtual bool isTotalRewardFormula() const override; |
|||
virtual bool isRewardPathFormula() const override; |
|||
|
|||
virtual boost::any accept(FormulaVisitor const& visitor, boost::any const& data) const override; |
|||
|
|||
virtual std::ostream& writeToStream(std::ostream& out) const override; |
|||
|
|||
}; |
|||
} |
|||
} |
|||
|
|||
#endif /* STORM_LOGIC_TOTALREWARDFORMULA_H_ */ |
Write
Preview
Loading…
Cancel
Save
Reference in new issue