private activeTokens : inmap TokenDevice to TransportPlan := {|->}; invforall x,y insetdom activeTokens &
x = y => activeTokens(x) = activeTokens(y); --Ensure only one TokenDevice reside in the map. --Tests if 2 elements from domain is equal then (implication) they point --to the same entity.
public isFinished : () ==> ()
isFinished () == skip;
public inactiveRoute : nat ==> ()
inactiveRoute(id_route) ==
( duration(50)
( forall t insetrng activeTokens do
(
if t.containsRoute(id_route) then
(let p = inverse activeTokens in
q_CR_out.addToSystemQueue(
mk_MessageTypes`CALCPLAN(
t.getPlanAsNaviInput(),p(t)));
)
);
);
);
public addTransportPlan : TransportPlan * TokenDevice ==> ()
addTransportPlan(plan,tokenDevice) ==(
private handleQ_Tok_out : () ==> ()
handleQ_Tok_out() == ( let ptt_map = inverse activeTokens, plan = hd q_Tok_out in ( let tokenDevice = ptt_map(plan) in (
tokenDevice.notifyPassenger(plan);
);
q_Tok_out := tl q_Tok_out;
)
) prelen q_Tok_out > 0 and exists plan insetrng activeTokens & plan = hd q_Tok_out;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.