Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::jani::Edge Class Reference

#include <Edge.h>

Public Member Functions

 Edge ()=default
 
 Edge (uint64_t sourceLocationIndex, uint64_t actionIndex, boost::optional< storm::expressions::Expression > const &rate, std::shared_ptr< TemplateEdge > const &templateEdge, std::vector< std::pair< uint64_t, storm::expressions::Expression > > const &destinationTargetLocationsAndProbabilities)
 
 Edge (uint64_t sourceLocationIndex, uint64_t actionIndex, boost::optional< storm::expressions::Expression > const &rate, std::shared_ptr< TemplateEdge > const &templateEdge, std::vector< uint64_t > const &destinationLocations, std::vector< storm::expressions::Expression > const &destinationProbabilities)
 
uint64_t getSourceLocationIndex () const
 Retrieves the index of the source location.
 
uint64_t getActionIndex () const
 Retrieves the id of the action with which this edge is labeled.
 
bool hasSilentAction () const
 Returns whether it contains the silent action.
 
bool hasRate () const
 Retrieves whether this edge has an associated rate.
 
storm::expressions::Expression const & getRate () const
 Retrieves the rate of this edge.
 
boost::optional< storm::expressions::Expression > const & getOptionalRate () const
 Retrieves an optional that stores the rate if there is any and none otherwise.
 
void setRate (storm::expressions::Expression const &rate)
 Sets a new rate for this edge.
 
storm::expressions::Expression const & getGuard () const
 Retrieves the guard of this edge.
 
void setGuard (storm::expressions::Expression const &guard)
 Sets a new guard for this edge.
 
EdgeDestination const & getDestination (uint64_t index) const
 Retrieves the destination with the given index.
 
std::vector< EdgeDestination > const & getDestinations () const
 Retrieves the destinations of this edge.
 
std::vector< EdgeDestination > & getDestinations ()
 Retrieves the destinations of this edge.
 
std::size_t getNumberOfDestinations () const
 Retrieves the number of destinations of this edge.
 
void substitute (std::map< storm::expressions::Variable, storm::expressions::Expression > const &substitution, bool const substituteTranscendentalNumbers)
 Substitutes all variables in all expressions according to the given substitution.
 
storm::storage::FlatSet< storm::expressions::Variable > const & getWrittenGlobalVariables () const
 Retrieves a set of (global) variables that are written by at least one of the edge's destinations.
 
OrderedAssignments const & getAssignments () const
 Retrieves the assignments of this edge.
 
bool usesVariablesInNonTransientAssignments (std::set< storm::expressions::Variable > const &variables) const
 Checks whether the provided variables appear on the right-hand side of non-transient assignments.
 
bool hasTransientEdgeDestinationAssignments () const
 Retrieves whether there is any transient edge destination assignment in the edge.
 
bool usesAssignmentLevels (bool onlyTransient=false) const
 Retrieves whether the edge uses an assignment level other than zero.
 
uint64_t getColor () const
 Retrieves the color of the edge.
 
void setColor (uint64_t newColor)
 Sets the color of the edge.
 
void simplifyIndexedAssignments (VariableSet const &localVars)
 
std::shared_ptr< TemplateEdge > const & getTemplateEdge ()
 
void setTemplateEdge (std::shared_ptr< TemplateEdge > const &newTe)
 
int64_t const & getLowestAssignmentLevel () const
 Retrieves the lowest assignment level occurring in a destination assignment.
 
int64_t const & getHighestAssignmentLevel () const
 Retrieves the highest assignment level occurring in a destination assignment If no assignment exists, this value is always zero.
 
std::string toString () const
 
void assertValid () const
 

Detailed Description

Definition at line 17 of file Edge.h.

Constructor & Destructor Documentation

◆ Edge() [1/3]

storm::jani::Edge::Edge ( )
default

◆ Edge() [2/3]

storm::jani::Edge::Edge ( uint64_t  sourceLocationIndex,
uint64_t  actionIndex,
boost::optional< storm::expressions::Expression > const &  rate,
std::shared_ptr< TemplateEdge > const &  templateEdge,
std::vector< std::pair< uint64_t, storm::expressions::Expression > > const &  destinationTargetLocationsAndProbabilities 
)

Definition at line 14 of file Edge.cpp.

◆ Edge() [3/3]

storm::jani::Edge::Edge ( uint64_t  sourceLocationIndex,
uint64_t  actionIndex,
boost::optional< storm::expressions::Expression > const &  rate,
std::shared_ptr< TemplateEdge > const &  templateEdge,
std::vector< uint64_t > const &  destinationLocations,
std::vector< storm::expressions::Expression > const &  destinationProbabilities 
)

Definition at line 28 of file Edge.cpp.

Member Function Documentation

◆ assertValid()

void storm::jani::Edge::assertValid ( ) const

◆ getActionIndex()

uint64_t storm::jani::Edge::getActionIndex ( ) const

Retrieves the id of the action with which this edge is labeled.

Definition at line 45 of file Edge.cpp.

◆ getAssignments()

OrderedAssignments const & storm::jani::Edge::getAssignments ( ) const

Retrieves the assignments of this edge.

Definition at line 89 of file Edge.cpp.

◆ getColor()

uint64_t storm::jani::Edge::getColor ( ) const

Retrieves the color of the edge.

Definition at line 106 of file Edge.cpp.

◆ getDestination()

EdgeDestination const & storm::jani::Edge::getDestination ( uint64_t  index) const

Retrieves the destination with the given index.

Definition at line 73 of file Edge.cpp.

◆ getDestinations() [1/2]

std::vector< EdgeDestination > & storm::jani::Edge::getDestinations ( )

Retrieves the destinations of this edge.

Definition at line 81 of file Edge.cpp.

◆ getDestinations() [2/2]

std::vector< EdgeDestination > const & storm::jani::Edge::getDestinations ( ) const

Retrieves the destinations of this edge.

Definition at line 77 of file Edge.cpp.

◆ getGuard()

storm::expressions::Expression const & storm::jani::Edge::getGuard ( ) const

Retrieves the guard of this edge.

Definition at line 65 of file Edge.cpp.

◆ getHighestAssignmentLevel()

int64_t const & storm::jani::Edge::getHighestAssignmentLevel ( ) const

Retrieves the highest assignment level occurring in a destination assignment If no assignment exists, this value is always zero.

Definition at line 147 of file Edge.cpp.

◆ getLowestAssignmentLevel()

int64_t const & storm::jani::Edge::getLowestAssignmentLevel ( ) const

Retrieves the lowest assignment level occurring in a destination assignment.

If no assignment exists, this value is the highest possible integer

Definition at line 143 of file Edge.cpp.

◆ getNumberOfDestinations()

std::size_t storm::jani::Edge::getNumberOfDestinations ( ) const

Retrieves the number of destinations of this edge.

Definition at line 85 of file Edge.cpp.

◆ getOptionalRate()

boost::optional< storm::expressions::Expression > const & storm::jani::Edge::getOptionalRate ( ) const

Retrieves an optional that stores the rate if there is any and none otherwise.

Definition at line 57 of file Edge.cpp.

◆ getRate()

storm::expressions::Expression const & storm::jani::Edge::getRate ( ) const

Retrieves the rate of this edge.

Note that calling this is only valid if the edge has an associated rate.

Definition at line 53 of file Edge.cpp.

◆ getSourceLocationIndex()

uint64_t storm::jani::Edge::getSourceLocationIndex ( ) const

Retrieves the index of the source location.

Definition at line 41 of file Edge.cpp.

◆ getTemplateEdge()

std::shared_ptr< TemplateEdge > const & storm::jani::Edge::getTemplateEdge ( )

Definition at line 171 of file Edge.cpp.

◆ getWrittenGlobalVariables()

storm::storage::FlatSet< storm::expressions::Variable > const & storm::jani::Edge::getWrittenGlobalVariables ( ) const

Retrieves a set of (global) variables that are written by at least one of the edge's destinations.

Definition at line 114 of file Edge.cpp.

◆ hasRate()

bool storm::jani::Edge::hasRate ( ) const

Retrieves whether this edge has an associated rate.

Definition at line 49 of file Edge.cpp.

◆ hasSilentAction()

bool storm::jani::Edge::hasSilentAction ( ) const

Returns whether it contains the silent action.

Definition at line 102 of file Edge.cpp.

◆ hasTransientEdgeDestinationAssignments()

bool storm::jani::Edge::hasTransientEdgeDestinationAssignments ( ) const

Retrieves whether there is any transient edge destination assignment in the edge.

Definition at line 122 of file Edge.cpp.

◆ setColor()

void storm::jani::Edge::setColor ( uint64_t  newColor)

Sets the color of the edge.

Definition at line 110 of file Edge.cpp.

◆ setGuard()

void storm::jani::Edge::setGuard ( storm::expressions::Expression const &  guard)

Sets a new guard for this edge.

Definition at line 69 of file Edge.cpp.

◆ setRate()

void storm::jani::Edge::setRate ( storm::expressions::Expression const &  rate)

Sets a new rate for this edge.

Definition at line 61 of file Edge.cpp.

◆ setTemplateEdge()

void storm::jani::Edge::setTemplateEdge ( std::shared_ptr< TemplateEdge > const &  newTe)

Definition at line 151 of file Edge.cpp.

◆ simplifyIndexedAssignments()

void storm::jani::Edge::simplifyIndexedAssignments ( VariableSet const &  localVars)
Parameters
localVars

Definition at line 130 of file Edge.cpp.

◆ substitute()

void storm::jani::Edge::substitute ( std::map< storm::expressions::Variable, storm::expressions::Expression > const &  substitution,
bool const  substituteTranscendentalNumbers 
)

Substitutes all variables in all expressions according to the given substitution.

Definition at line 93 of file Edge.cpp.

◆ toString()

std::string storm::jani::Edge::toString ( ) const

Definition at line 165 of file Edge.cpp.

◆ usesAssignmentLevels()

bool storm::jani::Edge::usesAssignmentLevels ( bool  onlyTransient = false) const

Retrieves whether the edge uses an assignment level other than zero.

Definition at line 126 of file Edge.cpp.

◆ usesVariablesInNonTransientAssignments()

bool storm::jani::Edge::usesVariablesInNonTransientAssignments ( std::set< storm::expressions::Variable > const &  variables) const

Checks whether the provided variables appear on the right-hand side of non-transient assignments.

Definition at line 118 of file Edge.cpp.


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