module NoStabTraking: type orcStrlPtr ; input NoMove, Move, InitOK_VideoCamera, NoStabTraking_Start:orcStrlPtr, START_NoStabTraking, FinTransite_VideoCamera, Abort_Local_NoStabTraking; output TreatNoMove :orcStrlPtr , TreatMove :orcStrlPtr , STARTED_NoStabTraking, GoodEnd_NoStabTraking, ActivateNoStabTraking_VideoCamera:orcStrlPtr, T2_NoStabTraking, NoStabTrakingTransite : orcStrlPtr, Abort_NoStabTraking:orcStrlPtr, BF_NoStabTraking, T3_NoStabTraking, StartTransite_VideoCamera, Prev_rt_VideoCamera:orcStrlPtr, ReadyToStart_VideoCamera; relation NoMove# Move# InitOK_VideoCamera# START_NoStabTraking# Abort_Local_NoStabTraking# FinTransite_VideoCamera; trap T3 in loop await immediate START_NoStabTraking; emit STARTED_NoStabTraking; trap Abort in do [ await InitOK_VideoCamera ] watching Abort_Local_NoStabTraking timeout emit Abort_NoStabTraking(?NoStabTraking_Start); exit Abort; end; do [ emit ReadyToStart_VideoCamera; await immediate FinTransite_VideoCamera; emit ActivateNoStabTraking_VideoCamera(?NoStabTraking_Start); emit Prev_rt_VideoCamera(?NoStabTraking_Start); ] watching Abort_Local_NoStabTraking timeout emit StartTransite_VideoCamera; emit NoStabTrakingTransite(?NoStabTraking_Start); exit Abort end; trap T2 in trap BF in [ await Abort_Local_NoStabTraking; emit StartTransite_VideoCamera; emit NoStabTrakingTransite(?NoStabTraking_Start); exit Abort; ] || loop await Move; emit TreatMove(?NoStabTraking_Start) end loop || loop await NoMove; emit TreatNoMove(?NoStabTraking_Start) end loop || [[ [ halt; ] ]; exit BF; ] handle BF do emit NoStabTrakingTransite(?NoStabTraking_Start); emit BF_NoStabTraking; emit GoodEnd_NoStabTraking; emit StartTransite_VideoCamera; end trap handle T2 do emit T2_NoStabTraking; emit StartTransite_VideoCamera; emit NoStabTrakingTransite(?NoStabTraking_Start); end trap end trap end loop handle T3 do emit T3_NoStabTraking end trap end module