![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
One mode of a transition, resolved to what the event loop needs. More...
#include <line/solvers/ldes/ldes_spn.h>
Public Attributes | |
| std::vector< double > | enabling |
| per (place, class), tokens required | |
| std::vector< double > | inhibiting |
| per (place, class), tokens that block (inf = never) | |
| std::vector< double > | firing |
| per (place, class), tokens moved on a firing | |
| double | servers = 1.0 |
| double | priority = 0.0 |
| double | weight = 1.0 |
| bool | immediate = false |
| double | rate = 1.0 |
| nominal firing rate of a timed mode | |
| std::function< double(const std::vector< double > &)> | dep |
| marking multiplier | |
One mode of a transition, resolved to what the event loop needs.
THE ARC VECTORS ARE INDEXED BY (place slot, class), flattened p * K + r, and the marking handed to spn_enabled and spn_fire uses the same layout. A Petri net whose arcs carry a class is a COLOURED net and its behaviour is not that of the class-summed one: a mode needing two Class1 tokens must not be enabled by two Class2 tokens sitting at the same place.
Definition at line 51 of file ldes_spn.h.
| std::function<double(const std::vector<double>&)> line::ldes::engine::SpnMode::dep |
marking multiplier
Definition at line 60 of file ldes_spn.h.
Referenced by line::ldes::engine::spn_rate().
| std::vector<double> line::ldes::engine::SpnMode::enabling |
per (place, class), tokens required
Definition at line 52 of file ldes_spn.h.
Referenced by line::ldes::engine::spn_enabled(), and line::ldes::engine::spn_fire().
| std::vector<double> line::ldes::engine::SpnMode::firing |
per (place, class), tokens moved on a firing
Definition at line 54 of file ldes_spn.h.
Referenced by line::ldes::engine::spn_fire().
| bool line::ldes::engine::SpnMode::immediate = false |
Definition at line 58 of file ldes_spn.h.
| std::vector<double> line::ldes::engine::SpnMode::inhibiting |
per (place, class), tokens that block (inf = never)
Definition at line 53 of file ldes_spn.h.
Referenced by line::ldes::engine::spn_enabled().
| double line::ldes::engine::SpnMode::priority = 0.0 |
Definition at line 56 of file ldes_spn.h.
| double line::ldes::engine::SpnMode::rate = 1.0 |
nominal firing rate of a timed mode
Definition at line 59 of file ldes_spn.h.
Referenced by line::ldes::engine::spn_rate().
| double line::ldes::engine::SpnMode::servers = 1.0 |
Definition at line 55 of file ldes_spn.h.
| double line::ldes::engine::SpnMode::weight = 1.0 |
Definition at line 57 of file ldes_spn.h.