LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ldes::engine::SpnMode Struct Reference

One mode of a transition, resolved to what the event loop needs. More...

#include <line/solvers/ldes/ldes_spn.h>

Collaboration diagram for line::ldes::engine::SpnMode:

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

Detailed Description

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.

Member Data Documentation

◆ dep

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().

◆ enabling

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().

◆ firing

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().

◆ immediate

bool line::ldes::engine::SpnMode::immediate = false

Definition at line 58 of file ldes_spn.h.

◆ inhibiting

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().

◆ priority

double line::ldes::engine::SpnMode::priority = 0.0

Definition at line 56 of file ldes_spn.h.

◆ rate

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().

◆ servers

double line::ldes::engine::SpnMode::servers = 1.0

Definition at line 55 of file ldes_spn.h.

◆ weight

double line::ldes::engine::SpnMode::weight = 1.0

Definition at line 57 of file ldes_spn.h.


The documentation for this struct was generated from the following file: