Storm 1.14.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::logic::MultiObjectiveFormula Class Reference

#include <MultiObjectiveFormula.h>

Inheritance diagram for storm::logic::MultiObjectiveFormula:
Collaboration diagram for storm::logic::MultiObjectiveFormula:

Public Types

enum class  Type { Tradeoff , Lexicographic }

Public Member Functions

 MultiObjectiveFormula (std::vector< std::shared_ptr< Formula const > > const &subformulas, Type type)
virtual ~MultiObjectiveFormula ()
virtual bool isMultiObjectiveFormula () const override
bool isTradeoff () const
bool isLexicographic () const
Type getType () const
virtual bool hasQualitativeResult () const override
virtual bool hasQuantitativeResult () const override
virtual bool hasNumericalResult () const
virtual bool hasMultiDimensionalResult () const
Formula const & getSubformula (uint_fast64_t index) const
uint_fast64_t getNumberOfSubformulas () const
std::vector< std::shared_ptr< Formula const > > const & getSubformulas () const
virtual boost::any accept (FormulaVisitor const &visitor, boost::any const &data) const override
virtual void gatherAtomicExpressionFormulas (std::vector< std::shared_ptr< AtomicExpressionFormula const > > &atomicExpressionFormulas) const override
virtual void gatherAtomicLabelFormulas (std::vector< std::shared_ptr< AtomicLabelFormula const > > &atomicLabelFormulas) const override
virtual void gatherReferencedRewardModels (std::set< std::string > &referencedRewardModels) const override
virtual void gatherUsedVariables (std::set< storm::expressions::Variable > &usedVariables) const override
virtual std::ostream & writeToStream (std::ostream &out, bool allowParentheses=false) const override
 Writes the forumla to the given output stream.
Public Member Functions inherited from storm::logic::StateFormula
virtual ~StateFormula ()
virtual bool isStateFormula () const override
virtual bool isProbabilityPathFormula () const override
Public Member Functions inherited from storm::logic::Formula
virtual ~Formula ()
virtual bool isPathFormula () const
virtual bool isConditionalProbabilityFormula () const
virtual bool isConditionalRewardFormula () const
virtual bool isRewardPathFormula () const
virtual bool isTimePathFormula () const
virtual bool isBinaryBooleanStateFormula () const
virtual bool isUnaryBooleanStateFormula () const
virtual bool isBinaryBooleanPathFormula () const
virtual bool isUnaryBooleanPathFormula () const
virtual bool isQuantileFormula () const
virtual bool isOperatorFormula () const
virtual bool isLongRunAverageOperatorFormula () const
virtual bool isTimeOperatorFormula () const
virtual bool isProbabilityOperatorFormula () const
virtual bool isRewardOperatorFormula () const
virtual bool isBooleanLiteralFormula () const
virtual bool isTrueFormula () const
virtual bool isFalseFormula () const
virtual bool isAtomicExpressionFormula () const
virtual bool isAtomicLabelFormula () const
virtual bool isNextFormula () const
virtual bool isUntilFormula () const
virtual bool isBoundedUntilFormula () const
virtual bool isGloballyFormula () const
virtual bool isEventuallyFormula () const
virtual bool isReachabilityProbabilityFormula () const
virtual bool isWeakUntilFormula () const
virtual bool isReleaseFormula () const
virtual bool isHOAPathFormula () const
virtual bool isCumulativeRewardFormula () const
virtual bool isDiscountedCumulativeRewardFormula () const
virtual bool isInstantaneousRewardFormula () const
virtual bool isReachabilityRewardFormula () const
virtual bool isLongRunAverageRewardFormula () const
virtual bool isTotalRewardFormula () const
virtual bool isDiscountedTotalRewardFormula () const
virtual bool isReachabilityTimeFormula () const
virtual bool isGameFormula () const
virtual bool isBinaryPathFormula () const
virtual bool isBinaryStateFormula () const
virtual bool isUnaryPathFormula () const
virtual bool isUnaryStateFormula () const
bool isUnaryFormula () const
bool isInFragment (FragmentSpecification const &fragment) const
FormulaInformation info (bool recurseIntoOperators=true) const
boost::any accept (FormulaVisitor const &visitor) const
void traverse (std::function< bool(Formula const &)> const &callback) const
 Invokes the given callback on this formula and on its subformulas in pre-order, i.e., a formula is visited before its subformulas.
bool isInitialFormula () const
PathFormula & asPathFormula ()
PathFormula const & asPathFormula () const
StateFormula & asStateFormula ()
StateFormula const & asStateFormula () const
MultiObjectiveFormula & asMultiObjectiveFormula ()
MultiObjectiveFormula const & asMultiObjectiveFormula () const
QuantileFormula & asQuantileFormula ()
QuantileFormula const & asQuantileFormula () const
BinaryStateFormula & asBinaryStateFormula ()
BinaryStateFormula const & asBinaryStateFormula () const
UnaryStateFormula & asUnaryStateFormula ()
UnaryStateFormula const & asUnaryStateFormula () const
BinaryBooleanStateFormula & asBinaryBooleanStateFormula ()
BinaryBooleanStateFormula const & asBinaryBooleanStateFormula () const
UnaryBooleanStateFormula & asUnaryBooleanStateFormula ()
UnaryBooleanStateFormula const & asUnaryBooleanStateFormula () const
BooleanLiteralFormula & asBooleanLiteralFormula ()
BooleanLiteralFormula const & asBooleanLiteralFormula () const
AtomicExpressionFormula & asAtomicExpressionFormula ()
AtomicExpressionFormula const & asAtomicExpressionFormula () const
AtomicLabelFormula & asAtomicLabelFormula ()
AtomicLabelFormula const & asAtomicLabelFormula () const
UntilFormula & asUntilFormula ()
UntilFormula const & asUntilFormula () const
WeakUntilFormula & asWeakUntilFormula ()
WeakUntilFormula const & asWeakUntilFormula () const
ReleaseFormula & asReleaseFormula ()
ReleaseFormula const & asReleaseFormula () const
HOAPathFormula & asHOAPathFormula ()
HOAPathFormula const & asHOAPathFormula () const
BoundedUntilFormula & asBoundedUntilFormula ()
BoundedUntilFormula const & asBoundedUntilFormula () const
EventuallyFormula & asEventuallyFormula ()
EventuallyFormula const & asEventuallyFormula () const
EventuallyFormula & asReachabilityProbabilityFormula ()
EventuallyFormula const & asReachabilityProbabilityFormula () const
EventuallyFormula & asReachabilityRewardFormula ()
EventuallyFormula const & asReachabilityRewardFormula () const
EventuallyFormula & asReachabilityTimeFormula ()
EventuallyFormula const & asReachabilityTimeFormula () const
GameFormula & asGameFormula ()
GameFormula const & asGameFormula () const
GloballyFormula & asGloballyFormula ()
GloballyFormula const & asGloballyFormula () const
BinaryPathFormula & asBinaryPathFormula ()
BinaryPathFormula const & asBinaryPathFormula () const
UnaryPathFormula & asUnaryPathFormula ()
UnaryPathFormula const & asUnaryPathFormula () const
ConditionalFormula & asConditionalFormula ()
ConditionalFormula const & asConditionalFormula () const
NextFormula & asNextFormula ()
NextFormula const & asNextFormula () const
LongRunAverageOperatorFormula & asLongRunAverageOperatorFormula ()
LongRunAverageOperatorFormula const & asLongRunAverageOperatorFormula () const
TimeOperatorFormula & asTimeOperatorFormula ()
TimeOperatorFormula const & asTimeOperatorFormula () const
CumulativeRewardFormula & asCumulativeRewardFormula ()
CumulativeRewardFormula const & asCumulativeRewardFormula () const
TotalRewardFormula & asTotalRewardFormula ()
TotalRewardFormula const & asTotalRewardFormula () const
DiscountedCumulativeRewardFormula & asDiscountedCumulativeRewardFormula ()
DiscountedCumulativeRewardFormula const & asDiscountedCumulativeRewardFormula () const
DiscountedTotalRewardFormula & asDiscountedTotalRewardFormula ()
DiscountedTotalRewardFormula const & asDiscountedTotalRewardFormula () const
InstantaneousRewardFormula & asInstantaneousRewardFormula ()
InstantaneousRewardFormula const & asInstantaneousRewardFormula () const
LongRunAverageRewardFormula & asLongRunAverageRewardFormula ()
LongRunAverageRewardFormula const & asLongRunAverageRewardFormula () const
ProbabilityOperatorFormula & asProbabilityOperatorFormula ()
ProbabilityOperatorFormula const & asProbabilityOperatorFormula () const
RewardOperatorFormula & asRewardOperatorFormula ()
RewardOperatorFormula const & asRewardOperatorFormula () const
OperatorFormula & asOperatorFormula ()
OperatorFormula const & asOperatorFormula () const
std::vector< std::shared_ptr< AtomicExpressionFormula const > > getAtomicExpressionFormulas () const
std::vector< std::shared_ptr< AtomicLabelFormula const > > getAtomicLabelFormulas () const
std::set< storm::expressions::Variable > getUsedVariables () const
std::set< std::string > getReferencedRewardModels () const
std::shared_ptr< Formula const > asSharedPointer ()
std::shared_ptr< Formula const > asSharedPointer () const
std::shared_ptr< Formula > clone () const
std::shared_ptr< Formula > substitute (std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution) const
std::shared_ptr< Formula > substitute (std::function< storm::expressions::Expression(storm::expressions::Expression const &)> const &expressionSubstitution) const
std::shared_ptr< Formula > substitute (std::map< std::string, storm::expressions::Expression > const &labelSubstitution) const
std::shared_ptr< Formula > substitute (std::map< std::string, std::string > const &labelSubstitution) const
std::shared_ptr< Formula > substituteRewardModelNames (std::map< std::string, std::string > const &rewardModelNameSubstitution) const
std::shared_ptr< Formula > substituteTranscendentalNumbers () const
storm::expressions::Expression toExpression (storm::expressions::ExpressionManager const &manager, std::map< std::string, storm::expressions::Expression > const &labelToExpressionMapping={}) const
 Takes the formula and converts it to an equivalent expression.
std::string toString () const
std::string toPrefixString () const

Additional Inherited Members

Static Public Member Functions inherited from storm::logic::Formula
static std::shared_ptr< Formula const > getTrueFormula ()

Detailed Description

Definition at line 9 of file MultiObjectiveFormula.h.

Member Enumeration Documentation

◆ Type

Enumerator
Tradeoff 
Lexicographic 

Definition at line 11 of file MultiObjectiveFormula.h.

Constructor & Destructor Documentation

◆ MultiObjectiveFormula()

storm::logic::MultiObjectiveFormula::MultiObjectiveFormula ( std::vector< std::shared_ptr< Formula const > > const & subformulas,
Type type )

Definition at line 13 of file MultiObjectiveFormula.cpp.

◆ ~MultiObjectiveFormula()

storm::logic::MultiObjectiveFormula::~MultiObjectiveFormula ( )
virtual

Definition at line 17 of file MultiObjectiveFormula.cpp.

Member Function Documentation

◆ accept()

boost::any storm::logic::MultiObjectiveFormula::accept ( FormulaVisitor const & visitor,
boost::any const & data ) const
overridevirtual

Implements storm::logic::Formula.

Definition at line 69 of file MultiObjectiveFormula.cpp.

◆ gatherAtomicExpressionFormulas()

void storm::logic::MultiObjectiveFormula::gatherAtomicExpressionFormulas ( std::vector< std::shared_ptr< AtomicExpressionFormula const > > & atomicExpressionFormulas) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 73 of file MultiObjectiveFormula.cpp.

◆ gatherAtomicLabelFormulas()

void storm::logic::MultiObjectiveFormula::gatherAtomicLabelFormulas ( std::vector< std::shared_ptr< AtomicLabelFormula const > > & atomicLabelFormulas) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 79 of file MultiObjectiveFormula.cpp.

◆ gatherReferencedRewardModels()

void storm::logic::MultiObjectiveFormula::gatherReferencedRewardModels ( std::set< std::string > & referencedRewardModels) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 85 of file MultiObjectiveFormula.cpp.

◆ gatherUsedVariables()

void storm::logic::MultiObjectiveFormula::gatherUsedVariables ( std::set< storm::expressions::Variable > & usedVariables) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 91 of file MultiObjectiveFormula.cpp.

◆ getNumberOfSubformulas()

uint_fast64_t storm::logic::MultiObjectiveFormula::getNumberOfSubformulas ( ) const

Definition at line 61 of file MultiObjectiveFormula.cpp.

◆ getSubformula()

Formula const & storm::logic::MultiObjectiveFormula::getSubformula ( uint_fast64_t index) const

Definition at line 55 of file MultiObjectiveFormula.cpp.

◆ getSubformulas()

std::vector< std::shared_ptr< Formula const > > const & storm::logic::MultiObjectiveFormula::getSubformulas ( ) const

Definition at line 65 of file MultiObjectiveFormula.cpp.

◆ getType()

MultiObjectiveFormula::Type storm::logic::MultiObjectiveFormula::getType ( ) const

Definition at line 33 of file MultiObjectiveFormula.cpp.

◆ hasMultiDimensionalResult()

bool storm::logic::MultiObjectiveFormula::hasMultiDimensionalResult ( ) const
virtual

Definition at line 50 of file MultiObjectiveFormula.cpp.

◆ hasNumericalResult()

bool storm::logic::MultiObjectiveFormula::hasNumericalResult ( ) const
virtual

Definition at line 45 of file MultiObjectiveFormula.cpp.

◆ hasQualitativeResult()

bool storm::logic::MultiObjectiveFormula::hasQualitativeResult ( ) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 37 of file MultiObjectiveFormula.cpp.

◆ hasQuantitativeResult()

bool storm::logic::MultiObjectiveFormula::hasQuantitativeResult ( ) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 41 of file MultiObjectiveFormula.cpp.

◆ isLexicographic()

bool storm::logic::MultiObjectiveFormula::isLexicographic ( ) const

Definition at line 29 of file MultiObjectiveFormula.cpp.

◆ isMultiObjectiveFormula()

bool storm::logic::MultiObjectiveFormula::isMultiObjectiveFormula ( ) const
overridevirtual

Reimplemented from storm::logic::Formula.

Definition at line 21 of file MultiObjectiveFormula.cpp.

◆ isTradeoff()

bool storm::logic::MultiObjectiveFormula::isTradeoff ( ) const

Definition at line 25 of file MultiObjectiveFormula.cpp.

◆ writeToStream()

std::ostream & storm::logic::MultiObjectiveFormula::writeToStream ( std::ostream & out,
bool allowParentheses = false ) const
overridevirtual

Writes the forumla to the given output stream.

Parameters
allowParenthesisif true, the output is potentially surrounded by parentheses depending on whether parentheses are needed to avoid ambiguity when this formula appears as a subformula of some larger formula.
Returns

Implements storm::logic::Formula.

Definition at line 97 of file MultiObjectiveFormula.cpp.


The documentation for this class was generated from the following files: