Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::gspn::GspnBuilder Class Reference

#include <GspnBuilder.h>

Public Types

typedef double RateType
 
typedef double WeightType
 

Public Member Functions

void setGspnName (std::string const &name)
 Set GSPN name.
 
uint_fast64_t addPlace (boost::optional< uint64_t > const &capacity=1, uint_fast64_t const &initialTokens=0, std::string const &name="")
 Add a place to the gspn.
 
void setPlaceLayoutInfo (uint64_t placeId, LayoutInfo const &layoutInfo)
 
uint_fast64_t addImmediateTransition (uint_fast64_t const &priority=0, WeightType const &weight=0, std::string const &name="")
 Adds an immediate transition to the gspn.
 
uint_fast64_t addTimedTransition (uint_fast64_t const &priority, RateType const &rate, std::string const &name="")
 Adds an timed transition to the gspn.
 
uint_fast64_t addTimedTransition (uint_fast64_t const &priority, RateType const &rate, boost::optional< uint64_t > const &numServers, std::string const &name="")
 Adds an timed transition to the gspn.
 
void setTransitionLayoutInfo (uint64_t transitionId, LayoutInfo const &layoutInfo)
 
void addInputArc (uint_fast64_t const &from, uint_fast64_t const &to, uint_fast64_t const &multiplicity=1)
 Adds an new input arc from a place to an transition.
 
void addInputArc (std::string const &from, std::string const &to, uint64_t multiplicity=1)
 
void addInhibitionArc (uint_fast64_t const &from, uint_fast64_t const &to, uint_fast64_t const &multiplicity=1)
 Adds an new input arc from a place to an transition.
 
void addInhibitionArc (std::string const &from, std::string const &to, uint64_t multiplicity=1)
 
void addOutputArc (uint_fast64_t const &from, uint_fast64_t const &to, uint_fast64_t const &multiplicity=1)
 Adds an new input arc from a place to an transition.
 
void addOutputArc (std::string const &from, std::string const &to, uint64_t multiplicity=1)
 
void addNormalArc (std::string const &from, std::string const &to, uint64_t multiplicity=1)
 Adds an arc from a named element to a named element.
 
storm::gspn::GSPNbuildGspn (std::shared_ptr< storm::expressions::ExpressionManager > const &exprManager=nullptr, std::map< storm::expressions::Variable, storm::expressions::Expression > const &constantsSubstitution=std::map< storm::expressions::Variable, storm::expressions::Expression >()) const
 

Detailed Description

Definition at line 11 of file GspnBuilder.h.

Member Typedef Documentation

◆ RateType

Definition at line 13 of file GspnBuilder.h.

◆ WeightType

Definition at line 14 of file GspnBuilder.h.

Member Function Documentation

◆ addImmediateTransition()

uint_fast64_t storm::gspn::GspnBuilder::addImmediateTransition ( uint_fast64_t const &  priority = 0,
WeightType const &  weight = 0,
std::string const &  name = "" 
)

Adds an immediate transition to the gspn.

Parameters
priorityThe priority for the transtion.
weightThe weight for the transition.

Definition at line 34 of file GspnBuilder.cpp.

◆ addInhibitionArc() [1/2]

void storm::gspn::GspnBuilder::addInhibitionArc ( std::string const &  from,
std::string const &  to,
uint64_t  multiplicity = 1 
)

Definition at line 106 of file GspnBuilder.cpp.

◆ addInhibitionArc() [2/2]

void storm::gspn::GspnBuilder::addInhibitionArc ( uint_fast64_t const &  from,
uint_fast64_t const &  to,
uint_fast64_t const &  multiplicity = 1 
)

Adds an new input arc from a place to an transition.

Parameters
fromThe place from which the arc is originating.
toThe transtion to which the arc goes to.
multiplicityThe multiplicity of the arc.

Definition at line 99 of file GspnBuilder.cpp.

◆ addInputArc() [1/2]

void storm::gspn::GspnBuilder::addInputArc ( std::string const &  from,
std::string const &  to,
uint64_t  multiplicity = 1 
)

Definition at line 93 of file GspnBuilder.cpp.

◆ addInputArc() [2/2]

void storm::gspn::GspnBuilder::addInputArc ( uint_fast64_t const &  from,
uint_fast64_t const &  to,
uint_fast64_t const &  multiplicity = 1 
)

Adds an new input arc from a place to an transition.

Parameters
fromThe place from which the arc is originating.
toThe transtion to which the arc goes to.
multiplicityThe multiplicity of the arc.

Definition at line 87 of file GspnBuilder.cpp.

◆ addNormalArc()

void storm::gspn::GspnBuilder::addNormalArc ( std::string const &  from,
std::string const &  to,
uint64_t  multiplicity = 1 
)

Adds an arc from a named element to a named element.

Can be both input or output arc, but not an inhibition arc. Convenience function for textual format parsers.

Parameters
fromSource element in the GSPN from where this arc starts
toTarget element in the GSPN where this arc ends
multiplicity(Optional) multiplicity for the arc, default = 1

Definition at line 134 of file GspnBuilder.cpp.

◆ addOutputArc() [1/2]

void storm::gspn::GspnBuilder::addOutputArc ( std::string const &  from,
std::string const &  to,
uint64_t  multiplicity = 1 
)

Definition at line 118 of file GspnBuilder.cpp.

◆ addOutputArc() [2/2]

void storm::gspn::GspnBuilder::addOutputArc ( uint_fast64_t const &  from,
uint_fast64_t const &  to,
uint_fast64_t const &  multiplicity = 1 
)

Adds an new input arc from a place to an transition.

Parameters
fromThe place from which the arc is originating.
toThe transtion to which the arc goes to.
multiplicityThe multiplicity of the arc.

Definition at line 112 of file GspnBuilder.cpp.

◆ addPlace()

uint_fast64_t storm::gspn::GspnBuilder::addPlace ( boost::optional< uint64_t > const &  capacity = 1,
uint_fast64_t const &  initialTokens = 0,
std::string const &  name = "" 
)

Add a place to the gspn.

Parameters
nameThe name must be unique for the gspn.
capacityThe capacity is the limit of tokens in the place. A capacity of -1 indicates an unbounded place.
initialTokensThe number of inital tokens in the place.

Definition at line 15 of file GspnBuilder.cpp.

◆ addTimedTransition() [1/2]

uint_fast64_t storm::gspn::GspnBuilder::addTimedTransition ( uint_fast64_t const &  priority,
RateType const &  rate,
boost::optional< uint64_t > const &  numServers,
std::string const &  name = "" 
)

Adds an timed transition to the gspn.

Parameters
priorityThe priority for the transtion.
rateThe rate for the transition.
numServersThe number of servers this transition has (in case of K-Server semantics) or boost::none (in case of Infinite-Server-Semantics).

Definition at line 68 of file GspnBuilder.cpp.

◆ addTimedTransition() [2/2]

uint_fast64_t storm::gspn::GspnBuilder::addTimedTransition ( uint_fast64_t const &  priority,
RateType const &  rate,
std::string const &  name = "" 
)

Adds an timed transition to the gspn.

The transition is assumed to have Single-Server-Semantics

Parameters
priorityThe priority for the transtion.
rateThe rate for the transition.

Definition at line 64 of file GspnBuilder.cpp.

◆ buildGspn()

storm::gspn::GSPN * storm::gspn::GspnBuilder::buildGspn ( std::shared_ptr< storm::expressions::ExpressionManager > const &  exprManager = nullptr,
std::map< storm::expressions::Variable, storm::expressions::Expression > const &  constantsSubstitution = std::map<storm::expressions::Variablestorm::expressions::Expression>() 
) const
Parameters
exprManagerThe expression manager that will be associated with the new gspn. If this is nullptr, a new expressionmanager will be created.
Returns
The gspn which is constructed by the builder.

Definition at line 168 of file GspnBuilder.cpp.

◆ setGspnName()

void storm::gspn::GspnBuilder::setGspnName ( std::string const &  name)

Set GSPN name.

Definition at line 11 of file GspnBuilder.cpp.

◆ setPlaceLayoutInfo()

void storm::gspn::GspnBuilder::setPlaceLayoutInfo ( uint64_t  placeId,
LayoutInfo const &  layoutInfo 
)

Definition at line 26 of file GspnBuilder.cpp.

◆ setTransitionLayoutInfo()

void storm::gspn::GspnBuilder::setTransitionLayoutInfo ( uint64_t  transitionId,
LayoutInfo const &  layoutInfo 
)

Definition at line 30 of file GspnBuilder.cpp.


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