Module: YPetri::Transition::Type_T

Defined in:
lib/y_petri/transition/T.rb

Overview

Mixin for timed Petri net transitions.

Instance Method Summary collapse

Instance Method Details

#action(Δt) ⇒ Object

Transition's action (before validation). Requires Δt as an argument.


14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/y_petri/transition/T.rb', line 14

def action 

#enabled?(Δt) ⇒ Boolean

YPetri transitions are enabled if and only if the intended action would lead to a legal codomain marking. For timed transitions, #enabled? method takes Δt as an argument.

Returns:

  • (Boolean)

78
79
80
81
82
83
# File 'lib/y_petri/transition/T.rb', line 78

def enabled? 

#f(simulation = world.simulation) ⇒ Object

Transition's flux under current simulation.


95
96
97
# File 'lib/y_petri/transition/T.rb', line 95

def f simulation=world.simulation
  simulation.net.State.Feature.Flux( self ) % simulation
end

#fir(simulation = world.simulation, **nn) ⇒ Object

Transition's firing under current simulation.


87
88
89
90
91
# File 'lib/y_petri/transition/T.rb', line 87

def fir simulation=world.simulation, **nn
  nn.must_have :delta_time, syn!: :

#fire(Δt) ⇒ Object

Fires the transition, honoring cocking. Returns true if the transition fired, false if it wasn't cocked.


56
57
58
# File 'lib/y_petri/transition/T.rb', line 56

def fire 

#fire!(Δt) ⇒ Object

Fires the transition regardless of cocking. For timed transitions, takes Δt as an argument.


63
64
65
66
67
68
69
70
71
72
# File 'lib/y_petri/transition/T.rb', line 63

def fire! 

#functionObject

For timed transitions, “function” refers to their rate closure.


8
9
10
# File 'lib/y_petri/transition/T.rb', line 8

def function
  rate_closure
end

#pa(simulation = world.simulation, **nn) ⇒ Object

Prints the transition's action under current simulation.


101
102
103
104
105
106
# File 'lib/y_petri/transition/T.rb', line 101

def pa simulation=world.simulation, **nn
  nn.must_have :delta_time, syn!: :