Example Data: tmp_elevator_plant_door.gen

Dot-processed graph as SVG-image

Token IO

% Elevator example: simple finite-automaton modell of door

<Generator>
"door" % name

<Alphabet>
"d_open"	+C+	
"d_close"	+C+		
"d_stp"  	+C+	
"d_arop"		
"d_arcl"		
"d_lvop"		
"d_lvcl"		
</Alphabet>

<States>
"IdleOp"
"IdleMd"
"IdleCl"
"CloseOp"
"CloseMd"
"CloseCl"
"OpenOp"
"OpenMd"
"OpenCl"
%"Err"
</States>

<TransRel>
% In open position
"IdleOp" "d_close" "CloseOp"
"IdleOp" "d_open" "OpenOp"
"IdleOp" "d_stp"  "IdleOp"

% Closing, starting
"CloseOp" "d_lvop" "CloseMd"
"CloseOp" "d_stp"  "IdleOp"
"CloseOp" "d_open" "OpenOp"
"CloseOp" "d_close" "CloseOp"

% Closing, keep going
"CloseMd" "d_arcl" "CloseCl"
"CloseMd" "d_stp"  "IdleMd"
"CloseMd" "d_open" "OpenMd"
"CloseMd" "d_close" "CloseMd"

% Closing, arriving
"CloseCl" "d_stp"  "IdleCl"
"CloseCl" "d_close" "CloseCl"
"CloseCl" "d_open" "OpenCl"
%"CloseCl" "d_lvcl" "Err" % need forcible events to model

% In closed position
"IdleCl" "d_close" "CloseCl"
"IdleCl" "d_open" "OpenCl"
"IdleCl" "d_stp"  "IdleCl"

% Opening, starting
"OpenCl" "d_lvcl" "OpenMd"
"OpenCl" "d_stp"  "IdleCl"
"OpenCl" "d_open" "OpenCl"
"OpenCl" "d_close" "CloseCl"

% Opening, keep going
"OpenMd" "d_arop" "OpenOp"
"OpenMd" "d_stp"  "IdleMd"
"OpenMd" "d_open" "OpenMd"
"OpenMd" "d_close" "CloseMd"

% Opening, arriving
"OpenOp" "d_stp"  "IdleOp"
"OpenOp" "d_open" "OpenOp"
"OpenOp" "d_close" "CloseOp"
%"OpenOp" "d_lvlw" "Err" % need forcible events to model

% Idle inbetween
"IdleMd" "d_stp"  "IdleMd"
"IdleMd" "d_close" "CloseMd"
"IdleMd" "d_open" "OpenMd"

% Error behaviour
%"Err" "d_stp" "Err"
%"Err" "d_close" "Err"
%"Err" "d_open" "Err"

</TransRel>

<InitStates>
"IdleOp"
</InitStates>

<MarkedStates>	
"IdleOp"
"IdleMd"
"IdleCl"
</MarkedStates>

</Generator>

 

 

libFAUDES 2.32b --- 2024.03.08 --- with "synthesis-observer-diagnosis-iosystem-hiosys-multitasking-coordinationcontrol-timed-iodevice-simulator-luabindings"