You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
22 lines
841 B
22 lines
841 B
process Pre(&Stored, &Delayed : FailureType, S : BType, &env : Flows) is |
|
states s0 |
|
from s0 select |
|
on (Stored != env.I and S = Empty); wait [0,0]; Stored := env.I; $\ldots$ |
|
[] on (S = Full); wait [a,b]; Delayed := Stored; S := Empty; $\ldots$ |
|
end |
|
|
|
process delay[go : in FailureType](&O : FailureType) is |
|
states sEmpty, sFull |
|
var delayed : FailureType := Ok |
|
from sEmpty go?delayed; to sFull |
|
from sFull wait [a,b]; O := delayed; to sEmpty |
|
|
|
process front[p,q : out FailureType](&I : FailureType) is |
|
states s |
|
var stored : FailureType := Ok |
|
from s on (I != stored); stored := I; select p!I [] q!I end; loop |
|
|
|
component Pre_2(&I, &O: FailureType) is |
|
port go1, go2 : FailureType in [0,0] |
|
priority go1 > go2 |
|
par * in front[go1,go2](&I) || delay[go1](&O) || delay[go2](&O) end |