-- This file is generated from CourseSectionNested.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CourseSectionStatus --
MODULE CourseSectionStatus ( _statusOpen )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Planned , Status_Open , Status_Cancelled , Status_Closed };
event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration );
t1 := event = ev_cancel & state = Status_Planned;
t2 := event = ev_openRegistration & state = Status_Planned;
t3 := event = ev_cancel & state = Status_Open;
t4 := event = ev_cancel & state = Status_Closed;
t5 := event = ev_requestToRegister & _statusOpen.state = StatusOpen_NotEnoughStudents;
t6 := event = ev_closeRegistration & _statusOpen.state = StatusOpen_NotEnoughStudents;
t7 := event = ev_classSizeExceedsMinimum & _statusOpen.state = StatusOpen_NotEnoughStudents;
t8 := event = ev_requestToRegister & _statusOpen.state = StatusOpen_EnoughStudents;
t9 := event = ev_closeRegistration & _statusOpen.state = StatusOpen_EnoughStudents;
t10 := event = ev_classSizeExceedsMaximum & _statusOpen.state = StatusOpen_EnoughStudents;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Planned;
next( state ) := case
t5 | t2 | t8 | t7 : Status_Open;
t1 | t6 | t3 | t4 : Status_Cancelled;
t9 | t10 : Status_Closed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CourseSectionStatusOpen --
MODULE CourseSectionStatusOpen ( _status )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StatusOpen_NotEnoughStudents , StatusOpen_EnoughStudents , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_status.t1 | _status.t4 | _status.t6 | _status.t9 | _status.t3 | _status.t5 | _status.t8 | _status.t10 : null;
_status.t2 : StatusOpen_NotEnoughStudents;
_status.t7 : StatusOpen_EnoughStudents;
_status.state = Status_Open & state = null : StatusOpen_NotEnoughStudents;
TRUE : state;
esac;
-- This defines a NuSMV module for CourseSectionStatus_Machine --
MODULE CourseSectionStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus : CourseSectionStatus( courseSectionStatusOpen );
courseSectionStatusOpen : CourseSectionStatusOpen( courseSectionStatus );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus_Machine : CourseSectionStatus_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Planned )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Open )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Cancelled )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Closed )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatusOpen.state = StatusOpen_NotEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatusOpen.state = StatusOpen_EnoughStudents )
-- This file is generated from AndCrossExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state112;
t5 := event = ev_e5 & _stateState1State12State12.state != null;
t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
t9 := event = ev_e4 & _stateState1State12State12State122.state = StateState1State12State12State122_state1221;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t2 | t9 | t4 | t3 | t8 | t6 | t7 : State_state1;
t1 | t5 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state111;
_state.t2 : StateState1State11State11_state112;
_state.state = State_state1 & state = null : StateState1State11State11_state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t5 : null;
_state.t8 | _state.t9 : StateState1State12State12_state121;
_state.t4 | _state.t6 | _state.t7 : StateState1State12State12_state122;
_state.state = State_state1 & state = null : StateState1State12State12_state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State122 --
MODULE AStateState1State12State12State122 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State122_state1221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
_state.t4 | _state.t7 : StateState1State12State12State122_state1221;
_stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122_state1221;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
aStateState1State12State12State122 : AStateState1State12State12State122( aState , aStateState1State12State12 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 )
-- This file is generated from SingleLaneBridge.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for SystemSm --
MODULE SystemSm ( _smSingleLaneBridgeBridgeCar , _smSingleLaneBridgeBridgeCarRedCarRedA , _smSingleLaneBridgeBridgeCarRedCarRedARedA , _smSingleLaneBridgeBridgeCarRedCarRedB , _smSingleLaneBridgeBridgeCarRedCarRedBRedB , _smSingleLaneBridgeBridgeCarRedCar , _smSingleLaneBridgeBridgeCarBlueCarBlueA , _smSingleLaneBridgeBridgeCarBlueCarBlueABlueA , _smSingleLaneBridgeBridgeCarBlueCarBlueB , _smSingleLaneBridgeBridgeCarBlueCarBlueBBlueB , _smSingleLaneBridgeBridgeCarBlueCar , _smSingleLaneBridgeBridgeBridgeStatus , _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus , _smSingleLaneBridgeBridge , _smSingleLaneBridgeCoordCoordRed , _smSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt , _smSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit , _smSingleLaneBridgeCoordCoordBlue , _smSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt , _smSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit , _smSingleLaneBridgeCoord )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_SingleLaneBridge , null };
event : { ev_inBlue , ev_entRedA , ev_exitBlueB , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_outRed , ev_enterRedB , ev_enterBlueA , ev_outBlue , ev_inRed , ev_exitRedA , ev_entBlueB , ev_exitRedB , ev_entBlueA , ev_null };
numRed : integer;
numBlue : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_inBlue | event = ev_exitBlueB | event = ev_enterBlueB | event = ev_enterRedA | event = ev_enterRedB | event = ev_outBlue | event = ev_exitRedA | event = ev_exitRedB | event = ev_entRedA | event = ev_exitBlueA | event = ev_entRedB | event = ev_outRed | event = ev_enterBlueA | event = ev_inRed | event = ev_entBlueB | event = ev_entBlueA );
t1 := event = ev_enterRedA & _smSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA & g1;
t2 := event = ev_exitRedA & _smSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA;
t3 := event = ev_enterRedB & _smSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB & g1;
t4 := event = ev_exitRedB & _smSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB;
t5 := event = ev_enterBlueA & _smSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA & g2;
t6 := event = ev_exitBlueA & _smSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA;
t7 := event = ev_enterBlueB & _smSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB & g2;
t8 := event = ev_exitBlueB & _smSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB;
t9 := event = ev_inRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
t10 := event = ev_inBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
t11 := event = ev_outRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed;
t12 := event = ev_inRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed;
t13 := event = ev_outBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue;
t14 := event = ev_inBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue;
t15 := event = ev_outRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed;
t16 := event = ev_outBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue;
t17 := event = ev_entRedA & _smSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA;
t18 := event = ev_entRedB & _smSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB;
t19 := event = ev_exitRedA & _smSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA;
t20 := event = ev_exitRedB & _smSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB;
t21 := event = ev_entBlueA & _smSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA;
t22 := event = ev_entBlueB & _smSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB;
t23 := event = ev_exitBlueA & _smSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA;
t24 := event = ev_exitBlueB & _smSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB;
g1 := numRed < 2 & numBlue = 0;
g2 := numBlue < 2 & numRed = 0;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_SingleLaneBridge;
next( state ) := case
t2 | t4 | t6 | t8 | t11 | t9 | t10 | t12 | t18 | t20 | t22 | t24 | t1 | t3 | t5 | t7 | t13 | t15 | t16 | t14 | t17 | t19 | t21 | t23 : Sm_SingleLaneBridge;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_inBlue , ev_entRedA , ev_exitBlueB , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_outRed , ev_enterRedB , ev_enterBlueA , ev_outBlue , ev_inRed , ev_exitRedA , ev_entBlueB , ev_exitRedB , ev_entBlueA };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "numRed" of this NuSMV module --
ASSIGN
init( numRed ) := 0;
-- This part defines logic for the assignment of values to state variable "numBlue" of this NuSMV module --
ASSIGN
init( numBlue ) := 0;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCar --
MODULE SystemSmSingleLaneBridgeBridgeCar ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCar_Car , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 : SmSingleLaneBridgeBridgeCar_Car;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridgeCar_Car;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedA --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedA ( _sm , _smSingleLaneBridgeBridgeCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarRedCarRedA_RedA , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t1 : SmSingleLaneBridgeBridgeCarRedCarRedA_RedA;
_smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarRedCarRedA_RedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedARedA --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedARedA ( _sm , _smSingleLaneBridgeBridgeCarRedCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA , SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 : SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA;
_sm.t1 : SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA;
_smSingleLaneBridgeBridgeCarRedCar.state = SmSingleLaneBridgeBridgeCarRedCar_RedCar & state = null : SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedB --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedB ( _sm , _smSingleLaneBridgeBridgeCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarRedCarRedB_RedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t3 : SmSingleLaneBridgeBridgeCarRedCarRedB_RedB;
_smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarRedCarRedB_RedB;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedBRedB --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedBRedB ( _sm , _smSingleLaneBridgeBridgeCarRedCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB , SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 : SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB;
_sm.t3 : SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB;
_smSingleLaneBridgeBridgeCarRedCar.state = SmSingleLaneBridgeBridgeCarRedCar_RedCar & state = null : SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCar --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCar ( _sm , _smSingleLaneBridgeBridge )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarRedCar_RedCar , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t4 | _sm.t1 | _sm.t3 : SmSingleLaneBridgeBridgeCarRedCar_RedCar;
_smSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge & state = null : SmSingleLaneBridgeBridgeCarRedCar_RedCar;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueA --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueA ( _sm , _smSingleLaneBridgeBridgeCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t5 : SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA;
_smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA ( _sm , _smSingleLaneBridgeBridgeCarBlueCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA , SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 : SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA;
_sm.t5 : SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA;
_smSingleLaneBridgeBridgeCarBlueCar.state = SmSingleLaneBridgeBridgeCarBlueCar_BlueCar & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueB --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueB ( _sm , _smSingleLaneBridgeBridgeCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t8 | _sm.t7 : SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB;
_smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB ( _sm , _smSingleLaneBridgeBridgeCarBlueCar )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB , SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t8 : SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB;
_sm.t7 : SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB;
_smSingleLaneBridgeBridgeCarBlueCar.state = SmSingleLaneBridgeBridgeCarBlueCar_BlueCar & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCar --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCar ( _sm , _smSingleLaneBridgeBridge )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeCarBlueCar_BlueCar , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t8 | _sm.t5 | _sm.t7 : SmSingleLaneBridgeBridgeCarBlueCar_BlueCar;
_smSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge & state = null : SmSingleLaneBridgeBridgeCarBlueCar_BlueCar;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeBridgeStatus --
MODULE SystemSmSingleLaneBridgeBridgeBridgeStatus ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t11 | _sm.t9 | _sm.t10 | _sm.t12 | _sm.t13 | _sm.t15 | _sm.t16 | _sm.t14 : SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus --
MODULE SystemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus ( _sm , _smSingleLaneBridgeBridge )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t11 | _sm.t13 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
_sm.t9 | _sm.t15 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed;
_sm.t10 | _sm.t16 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue;
_sm.t12 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed;
_sm.t14 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue;
_smSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge & state = null : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridge --
MODULE SystemSmSingleLaneBridgeBridge ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridge_Bridge , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t11 | _sm.t9 | _sm.t10 | _sm.t12 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 | _sm.t13 | _sm.t15 | _sm.t16 | _sm.t14 : SmSingleLaneBridgeBridge_Bridge;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridge_Bridge;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordRed --
MODULE SystemSmSingleLaneBridgeCoordCoordRed ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoordCoordRed_CoordRed , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t18 | _sm.t20 | _sm.t17 | _sm.t19 : SmSingleLaneBridgeCoordCoordRed_CoordRed;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeCoordCoordRed_CoordRed;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt --
MODULE SystemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt ( _sm , _smSingleLaneBridgeCoordCoordRed )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA , SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t18 : SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA;
_sm.t17 : SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB;
_smSingleLaneBridgeCoordCoordRed.state = SmSingleLaneBridgeCoordCoordRed_CoordRed & state = null : SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit --
MODULE SystemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit ( _sm , _smSingleLaneBridgeCoordCoordRed )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA , SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t20 : SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA;
_sm.t19 : SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB;
_smSingleLaneBridgeCoordCoordRed.state = SmSingleLaneBridgeCoordCoordRed_CoordRed & state = null : SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordBlue --
MODULE SystemSmSingleLaneBridgeCoordCoordBlue ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoordCoordBlue_CoordBlue , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t22 | _sm.t24 | _sm.t21 | _sm.t23 : SmSingleLaneBridgeCoordCoordBlue_CoordBlue;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeCoordCoordBlue_CoordBlue;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt --
MODULE SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt ( _sm , _smSingleLaneBridgeCoordCoordBlue )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA , SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t22 : SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA;
_sm.t21 : SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB;
_smSingleLaneBridgeCoordCoordBlue.state = SmSingleLaneBridgeCoordCoordBlue_CoordBlue & state = null : SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit --
MODULE SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit ( _sm , _smSingleLaneBridgeCoordCoordBlue )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA , SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t24 : SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA;
_sm.t23 : SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB;
_smSingleLaneBridgeCoordCoordBlue.state = SmSingleLaneBridgeCoordCoordBlue_CoordBlue & state = null : SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoord --
MODULE SystemSmSingleLaneBridgeCoord ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeCoord_Coord , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t18 | _sm.t20 | _sm.t22 | _sm.t24 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t23 : SmSingleLaneBridgeCoord_Coord;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeCoord_Coord;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSm_Machine --
MODULE SystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
systemSm : SystemSm( systemSmSingleLaneBridgeBridgeCar , systemSmSingleLaneBridgeBridgeCarRedCarRedA , systemSmSingleLaneBridgeBridgeCarRedCarRedARedA , systemSmSingleLaneBridgeBridgeCarRedCarRedB , systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB , systemSmSingleLaneBridgeBridgeCarRedCar , systemSmSingleLaneBridgeBridgeCarBlueCarBlueA , systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA , systemSmSingleLaneBridgeBridgeCarBlueCarBlueB , systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB , systemSmSingleLaneBridgeBridgeCarBlueCar , systemSmSingleLaneBridgeBridgeBridgeStatus , systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus , systemSmSingleLaneBridgeBridge , systemSmSingleLaneBridgeCoordCoordRed , systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt , systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit , systemSmSingleLaneBridgeCoordCoordBlue , systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt , systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit , systemSmSingleLaneBridgeCoord );
systemSmSingleLaneBridgeBridgeCar : SystemSmSingleLaneBridgeBridgeCar( systemSm );
systemSmSingleLaneBridgeBridgeCarRedCarRedA : SystemSmSingleLaneBridgeBridgeCarRedCarRedA( systemSm , systemSmSingleLaneBridgeBridgeCar );
systemSmSingleLaneBridgeBridgeCarRedCarRedARedA : SystemSmSingleLaneBridgeBridgeCarRedCarRedARedA( systemSm , systemSmSingleLaneBridgeBridgeCarRedCar );
systemSmSingleLaneBridgeBridgeCarRedCarRedB : SystemSmSingleLaneBridgeBridgeCarRedCarRedB( systemSm , systemSmSingleLaneBridgeBridgeCar );
systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB : SystemSmSingleLaneBridgeBridgeCarRedCarRedBRedB( systemSm , systemSmSingleLaneBridgeBridgeCarRedCar );
systemSmSingleLaneBridgeBridgeCarRedCar : SystemSmSingleLaneBridgeBridgeCarRedCar( systemSm , systemSmSingleLaneBridgeBridge );
systemSmSingleLaneBridgeBridgeCarBlueCarBlueA : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueA( systemSm , systemSmSingleLaneBridgeBridgeCar );
systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA( systemSm , systemSmSingleLaneBridgeBridgeCarBlueCar );
systemSmSingleLaneBridgeBridgeCarBlueCarBlueB : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueB( systemSm , systemSmSingleLaneBridgeBridgeCar );
systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB( systemSm , systemSmSingleLaneBridgeBridgeCarBlueCar );
systemSmSingleLaneBridgeBridgeCarBlueCar : SystemSmSingleLaneBridgeBridgeCarBlueCar( systemSm , systemSmSingleLaneBridgeBridge );
systemSmSingleLaneBridgeBridgeBridgeStatus : SystemSmSingleLaneBridgeBridgeBridgeStatus( systemSm );
systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus : SystemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus( systemSm , systemSmSingleLaneBridgeBridge );
systemSmSingleLaneBridgeBridge : SystemSmSingleLaneBridgeBridge( systemSm );
systemSmSingleLaneBridgeCoordCoordRed : SystemSmSingleLaneBridgeCoordCoordRed( systemSm );
systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt : SystemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt( systemSm , systemSmSingleLaneBridgeCoordCoordRed );
systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit : SystemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit( systemSm , systemSmSingleLaneBridgeCoordCoordRed );
systemSmSingleLaneBridgeCoordCoordBlue : SystemSmSingleLaneBridgeCoordCoordBlue( systemSm );
systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt : SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt( systemSm , systemSmSingleLaneBridgeCoordCoordBlue );
systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit : SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit( systemSm , systemSmSingleLaneBridgeCoordCoordBlue );
systemSmSingleLaneBridgeCoord : SystemSmSingleLaneBridgeCoord( systemSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
systemSm_Machine : SystemSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( systemSm_Machine.systemSm.state = Sm_SingleLaneBridge )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedA.state = SmSingleLaneBridgeBridgeCarRedCarRedA_RedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedB_RedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCar.state = SmSingleLaneBridgeBridgeCarRedCar_RedCar )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCar.state = SmSingleLaneBridgeBridgeCarBlueCar_BlueCar )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRed.state = SmSingleLaneBridgeCoordCoordRed_CoordRed )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlue.state = SmSingleLaneBridgeCoordCoordBlue_CoordBlue )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeCoord.state = SmSingleLaneBridgeCoord_Coord )
-- This file is generated from SingleEventMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for XSm --
MODULE XSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 , Sm_s3 };
event : { ev_e , ev_null };
a : integer;
b : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e );
t1 := event = ev_e & state = Sm_s1 & g1;
t2 := event = ev_e & state = Sm_s1 & g2;
t3 := event = ev_e & state = Sm_s2 & g2;
g1 := a <= b;
g2 := a = b;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t3 : Sm_s1;
t1 : Sm_s2;
t2 : Sm_s3;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 4;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 5;
-- This defines a NuSMV module for XSm_Machine --
MODULE XSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
xSm : XSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
xSm_Machine : XSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s1 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s2 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s3 )
-- This file is generated from AbstractConcurrentSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
t4 := event = ev_e5 & _stateState1State12State12.state != null;
t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
t6 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t3 | t6 | t2 | t5 : State_state1;
t1 | t4 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state111;
_state.t2 : StateState1State11State11_state112;
_state.state = State_state1 & state = null : StateState1State11State11_state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t6 : StateState1State12State12_state121;
_state.t5 : StateState1State12State12_state122;
_state.state = State_state1 & state = null : StateState1State12State12_state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
-- This file is generated from AbstractMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for MeS2 --
MODULE MeS2
-- This part declares state variables for the given NuSMV module --
VAR
state : { S2_s2a , S2_s2b , S2_s1 };
event : { ev_e1 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
s2_stable := !( event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = S2_s2a;
t2 := event = ev_e3 & state = S2_s2a;
t3 := event = ev_e3 & state = S2_s2b;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := S2_s2a;
next( state ) := case
t3 : S2_s2a;
t2 : S2_s2b;
t1 : S2_s1;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
s2_stable : { ev_e1 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for MeS2_Machine --
MODULE MeS2_Machine
-- This part declares state variables for the given NuSMV module --
VAR
meS2 : MeS2;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
meS2_Machine : MeS2_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( meS2_Machine.meS2.state = S2_s2a )
CTLSPEC EF( meS2_Machine.meS2.state = S2_s2b )
CTLSPEC EF( meS2_Machine.meS2.state = S2_s1 )
-- This file is generated from DigitalWatchFlat.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for DigitalWatchSm --
MODULE DigitalWatchSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_time , Sm_date , Sm_paused , Sm_running , Sm_lapRunning , Sm_lapPaused , Sm_bothOff , Sm_chimeOn , Sm_bothOn , Sm_alarmOn , Sm_alarmTime , Sm_alarmHour , Sm_alarmMinute , Sm_second , Sm_minute , Sm_hour , Sm_month , Sm_day , Sm_year };
event : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 , ev_null };
day : integer;
month : integer;
year : integer;
hour : integer;
minute : integer;
second : integer;
alarmHour : integer;
alarmMinute : integer;
alarmSecond : integer;
timer : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_s3 | event = ev_notS2 | event = ev_s1 | event = ev_s3during2Secs | event = ev_notS1 | event = ev_s2 );
t1 := event = ev_s1 & state = Sm_time;
t2 := event = ev_s2 & state = Sm_time;
t3 := event = ev_s3 & state = Sm_time;
t4 := event = ev_s3during2Secs & state = Sm_time;
t5 := event = ev_notS1 & state = Sm_date;
t6 := event = ev_s1 & state = Sm_paused;
t7 := event = ev_s2 & state = Sm_paused;
t8 := event = ev_s3 & state = Sm_paused;
t9 := event = ev_s1 & state = Sm_running;
t10 := event = ev_s2 & state = Sm_running;
t11 := event = ev_s3 & state = Sm_running;
t12 := event = ev_s1 & state = Sm_lapRunning;
t13 := event = ev_s2 & state = Sm_lapRunning;
t14 := event = ev_s3 & state = Sm_lapRunning;
t15 := event = ev_s1 & state = Sm_lapPaused;
t16 := event = ev_s2 & state = Sm_lapPaused;
t17 := event = ev_s3 & state = Sm_lapPaused;
t18 := event = ev_notS2 & state = Sm_bothOff;
t19 := event = ev_s1 & state = Sm_bothOff;
t20 := event = ev_notS2 & state = Sm_chimeOn;
t21 := event = ev_s1 & state = Sm_chimeOn;
t22 := event = ev_notS2 & state = Sm_bothOn;
t23 := event = ev_s1 & state = Sm_bothOn;
t24 := event = ev_s1 & state = Sm_alarmOn;
t25 := event = ev_notS2 & state = Sm_alarmOn;
t26 := event = ev_s1 & state = Sm_alarmTime;
t27 := event = ev_s2 & state = Sm_alarmTime;
t28 := event = ev_s3 & state = Sm_alarmTime;
t29 := event = ev_s1 & state = Sm_alarmHour;
t30 := event = ev_s2 & state = Sm_alarmHour;
t31 := event = ev_s3 & state = Sm_alarmHour;
t32 := event = ev_s1 & state = Sm_alarmMinute;
t33 := event = ev_s2 & state = Sm_alarmMinute;
t34 := event = ev_s3 & state = Sm_alarmMinute;
t35 := event = ev_s1 & state = Sm_second;
t36 := event = ev_s2 & state = Sm_second;
t37 := event = ev_s3 & state = Sm_second;
t38 := event = ev_s1 & state = Sm_minute;
t39 := event = ev_s2 & state = Sm_minute;
t40 := event = ev_s3 & state = Sm_minute;
t41 := event = ev_s1 & state = Sm_hour;
t42 := event = ev_s2 & state = Sm_hour;
t43 := event = ev_s3 & state = Sm_hour;
t44 := event = ev_s1 & state = Sm_month;
t45 := event = ev_s2 & state = Sm_month;
t46 := event = ev_s3 & state = Sm_month;
t47 := event = ev_s1 & state = Sm_day;
t48 := event = ev_s2 & state = Sm_day;
t49 := event = ev_s3 & state = Sm_day;
t50 := event = ev_s1 & state = Sm_year;
t51 := event = ev_s2 & state = Sm_year;
t52 := event = ev_s3 & state = Sm_year;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_time;
next( state ) := case
t8 | t14 | t18 | t22 | t37 | t43 | t49 | t5 | t11 | t17 | t20 | t25 | t40 | t46 | t52 : Sm_time;
t1 : Sm_date;
t3 | t9 | t7 | t16 : Sm_paused;
t6 | t13 : Sm_running;
t10 | t15 : Sm_lapRunning;
t12 : Sm_lapPaused;
t2 | t24 : Sm_bothOff;
t19 : Sm_chimeOn;
t21 : Sm_bothOn;
t23 : Sm_alarmOn;
t4 : Sm_alarmTime;
t30 | t27 | t32 : Sm_alarmHour;
t29 | t26 | t33 : Sm_alarmMinute;
t31 | t36 | t28 | t34 | t50 : Sm_second;
t35 | t39 : Sm_minute;
t38 | t42 : Sm_hour;
t41 | t45 : Sm_month;
t44 | t48 : Sm_day;
t47 | t51 : Sm_year;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "day" of this NuSMV module --
ASSIGN
init( day ) := 0;
-- This part defines logic for the assignment of values to state variable "month" of this NuSMV module --
ASSIGN
init( month ) := 0;
-- This part defines logic for the assignment of values to state variable "year" of this NuSMV module --
ASSIGN
init( year ) := 2014;
-- This part defines logic for the assignment of values to state variable "hour" of this NuSMV module --
ASSIGN
init( hour ) := 0;
-- This part defines logic for the assignment of values to state variable "minute" of this NuSMV module --
ASSIGN
init( minute ) := 0;
-- This part defines logic for the assignment of values to state variable "second" of this NuSMV module --
ASSIGN
init( second ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmHour" of this NuSMV module --
ASSIGN
init( alarmHour ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmMinute" of this NuSMV module --
ASSIGN
init( alarmMinute ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmSecond" of this NuSMV module --
ASSIGN
init( alarmSecond ) := 0;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 0;
-- This defines a NuSMV module for DigitalWatchSm_Machine --
MODULE DigitalWatchSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm : DigitalWatchSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm_Machine : DigitalWatchSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_time )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_date )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_paused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_running )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_lapRunning )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_lapPaused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_bothOff )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chimeOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_bothOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmTime )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmHour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmMinute )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_second )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_minute )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_month )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_day )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_year )
-- This file is generated from nestedConcurrentMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
t4 := event = ev_e5 & _stateState1State12State12.state != null;
t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
t6 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
t7 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
t8 := event = ev_e4 & _stateState1State12State12State122.state = StateState1State12State12State122_state1221;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t3 | t7 | t5 | t2 | t8 | t6 : State_state1;
t1 | t4 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state111;
_state.t2 : StateState1State11State11_state112;
_state.state = State_state1 & state = null : StateState1State11State11_state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t7 | _state.t8 : StateState1State12State12_state121;
_state.t5 | _state.t6 : StateState1State12State12_state122;
_state.state = State_state1 & state = null : StateState1State12State12_state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State122 --
MODULE AStateState1State12State12State122 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State122_state1221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t8 | _state.t7 | _state.t4 : null;
_state.t6 : StateState1State12State12State122_state1221;
_stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122_state1221;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
aStateState1State12State12State122 : AStateState1State12State12State122( aState , aStateState1State12State12 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 )
-- This file is generated from MultiLevelStateMachineExampleCase2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2 , _smS2S21 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e2 & state = Sm_s2;
t4 := event = ev_e3 & _smS2.state = SmS2_s21;
t5 := event = ev_e1 & _smS2S21.state = SmS2S21_s211;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t3 | t1 | t5 : Sm_s1;
t2 | t4 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2 --
MODULE ASmS2 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2_s21 , SmS2_s22 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t3 | _sm.t2 | _sm.t5 : null;
_sm.t4 : SmS2_s22;
_sm.state = Sm_s2 & state = null : SmS2_s21;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmS2S21 --
MODULE ASmS2S21 ( _sm , _smS2 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S21_s211 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t5 | _sm.t4 | _sm.t3 : null;
_smS2.state = SmS2_s21 & state = null : SmS2S21_s211;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2 , aSmS2S21 );
aSmS2 : ASmS2( aSm );
aSmS2S21 : ASmS2S21( aSm , aSmS2 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s21 )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s22 )
CTLSPEC EF( aSm_Machine.aSmS2S21.state = SmS2S21_s211 )
-- This file is generated from GrantApplication.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for GrantApplicationStatus --
MODULE GrantApplicationStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Planned , Status_InProgress , Status_EvaluationByInstitution , Status_VerifiedByInstitution , Status_SubmittedByInstitution , Status_UnderAdministrativeReview , Status_UnderExpertReview , Status_AwaitingFinalDecision , Status_Accepted , Status_Rejected , Status_Withdrawn };
event : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw , ev_null };
adminCheckOk : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_returnToInstitition | event = ev_submit | event = ev_tryAgain | event = ev_returnToResearcher | event = ev_bypassExpertReviewDueToMinorChanges | event = ev_createApplication | event = ev_reject | event = ev_editByInstitution | event = ev_finalAccept | event = ev_reOpen | event = ev_expertReviewsReturned | event = ev_verified | event = ev_acceptForReview | event = ev_acceptForExpertReview | event = ev_editByResearcher | event = ev_minorRevisionsNeeded | event = ev_researcherDeclaresComplete | event = ev_submissionCheck | event = ev_withdraw );
t1 := event = ev_createApplication & state = Status_Planned;
t2 := event = ev_researcherDeclaresComplete & state = Status_InProgress;
t3 := event = ev_editByResearcher & state = Status_InProgress;
t4 := event = ev_returnToResearcher & state = Status_EvaluationByInstitution;
t5 := event = ev_verified & state = Status_EvaluationByInstitution;
t6 := event = ev_editByInstitution & state = Status_EvaluationByInstitution;
t7 := event = ev_reOpen & state = Status_VerifiedByInstitution;
t8 := event = ev_submit & state = Status_VerifiedByInstitution;
t9 := event = ev_withdraw & state = Status_SubmittedByInstitution;
t10 := event = ev_acceptForReview & state = Status_SubmittedByInstitution;
t11 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g1;
t12 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g2;
t13 := event = ev_acceptForExpertReview & state = Status_UnderAdministrativeReview;
t14 := event = ev_bypassExpertReviewDueToMinorChanges & state = Status_UnderAdministrativeReview;
t15 := event = ev_returnToInstitition & state = Status_UnderAdministrativeReview;
t16 := event = ev_withdraw & state = Status_UnderAdministrativeReview;
t17 := event = ev_expertReviewsReturned & state = Status_UnderExpertReview;
t18 := event = ev_withdraw & state = Status_UnderExpertReview;
t19 := event = ev_finalAccept & state = Status_AwaitingFinalDecision;
t20 := event = ev_minorRevisionsNeeded & state = Status_AwaitingFinalDecision;
t21 := event = ev_reject & state = Status_AwaitingFinalDecision;
t22 := event = ev_tryAgain & state = Status_Rejected;
t23 := event = ev_tryAgain & state = Status_Withdrawn;
g1 := (adminCheckOk & (!adminCheckOk));
g2 := !adminCheckOk;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Planned;
next( state ) := case
t3 | t22 | t1 | t4 | t23 : Status_InProgress;
t2 | t7 | t15 | t6 | t12 | t20 : Status_EvaluationByInstitution;
t5 : Status_VerifiedByInstitution;
t8 | t11 : Status_SubmittedByInstitution;
t10 : Status_UnderAdministrativeReview;
t13 : Status_UnderExpertReview;
t14 | t17 : Status_AwaitingFinalDecision;
t19 : Status_Accepted;
t21 : Status_Rejected;
t16 | t9 | t18 : Status_Withdrawn;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "adminCheckOk" of this NuSMV module --
ASSIGN
init( adminCheckOk ) := FALSE;
-- This defines a NuSMV module for GrantApplicationStatus_Machine --
MODULE GrantApplicationStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
grantApplicationStatus : GrantApplicationStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
grantApplicationStatus_Machine : GrantApplicationStatus_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( grantApplicationStatus_Machine.grantApplicationStatus.t11 & grantApplicationStatus_Machine.grantApplicationStatus.t12 -> next( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_SubmittedByInstitution & grantApplicationStatus_Machine.grantApplicationStatus.state = Status_EvaluationByInstitution ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Planned )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_InProgress )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_EvaluationByInstitution )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_VerifiedByInstitution )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_SubmittedByInstitution )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_UnderAdministrativeReview )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_UnderExpertReview )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_AwaitingFinalDecision )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Accepted )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Rejected )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Withdrawn )
-- This file is generated from ExampleFile.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for GarageDoorStatus --
MODULE GarageDoorStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Open , Status_Closing , Status_Closed , Status_Opening , Status_HalfOpen };
event : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_reachTop | event = ev_reachBottom | event = ev_buttonOrObstacle );
t1 := event = ev_buttonOrObstacle & state = Status_Open;
t2 := event = ev_buttonOrObstacle & state = Status_Closing;
t3 := event = ev_reachBottom & state = Status_Closing;
t4 := event = ev_buttonOrObstacle & state = Status_Closed;
t5 := event = ev_buttonOrObstacle & state = Status_Opening;
t6 := event = ev_reachTop & state = Status_Opening;
t7 := event = ev_buttonOrObstacle & state = Status_HalfOpen;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Open;
next( state ) := case
t6 : Status_Open;
t1 : Status_Closing;
t3 : Status_Closed;
t4 | t2 | t7 : Status_Opening;
t5 : Status_HalfOpen;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for GarageDoorStatus_Machine --
MODULE GarageDoorStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
garageDoorStatus : GarageDoorStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
garageDoorStatus_Machine : GarageDoorStatus_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Open )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Closing )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Closed )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Opening )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_HalfOpen )
-- This file is generated from NestedMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 , Sm_s3 , Sm_s4 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e3 & state = Sm_s1;
t4 := event = ev_e1 & state = Sm_s2;
t5 := event = ev_e3 & _smS2.state = SmS2_s2a;
t6 := event = ev_e3 & _smS2.state = SmS2_s2b;
t7 := event = ev_e4 & _smS2.state = SmS2_s2b;
t8 := event = ev_e2 & _smS2.state = SmS2_s2b;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t4 : Sm_s1;
t6 | t5 | t1 | t2 | t8 : Sm_s2;
t7 : Sm_s3;
t3 : Sm_s4;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2 --
MODULE ASmS2 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2_s2a , SmS2_s2b , SmS2_s2c , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t4 | _sm.t3 | _sm.t7 : null;
_sm.t6 : SmS2_s2a;
_sm.t2 | _sm.t5 : SmS2_s2b;
_sm.t8 : SmS2_s2c;
_sm.state = Sm_s2 & state = null : SmS2_s2a;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2 );
aSmS2 : ASmS2( aSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s3 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s4 )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s2a )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s2b )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s2c )
-- This file is generated from SimpleCaseOfNondeterminism.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for XSm --
MODULE XSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 , Sm_s3 };
event : { ev_e , ev_null };
a : integer;
b : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e );
t1 := event = ev_e & state = Sm_s1 & g1;
t2 := event = ev_e & state = Sm_s1 & g2;
g1 := a > 1;
g2 := b < 1;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 : Sm_s2;
t2 : Sm_s3;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 4;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 5;
-- This defines a NuSMV module for XSm_Machine --
MODULE XSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
xSm : XSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
xSm_Machine : XSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s1 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s2 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s3 )
-- This file is generated from myTemporaryTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for HeatingSystemHeatSystem --
MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysHouseRoom , _heatSystemHeatSysHouseRoomRoom , _heatSystemHeatSysHouseRoomRoomNoHeatReq , _heatSystemHeatSysHouseRoomRoomHeatReq , _heatSystemHeatSysHouseController , _heatSystemHeatSysHouseControllerController , _heatSystemHeatSysHouseControllerControllerControllerOn , _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , _heatSystemHeatSysHouse , _heatSystemHeatSysFurnaceFurnace , _heatSystemHeatSysFurnaceFurnaceFurnaceNormal )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystem_heatSys , null };
event : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 , ev_null };
tooCold : boolean;
tooHot : boolean;
requestHeat : boolean;
furnaceTimer : integer;
furnaceStartupTime : integer;
valvePos : integer;
waitedForWarm : integer;
warmUpTimer : integer;
coolDownTimer : integer;
waitedForCool : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
heatSystem_stable := !( event = ev_t5 | event = ev_furnaceReset | event = ev_furnaceRunning | event = ev_t21 | event = ev_heatSwitchOff | event = ev_t22 | event = ev_activate | event = ev_userReset | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_t23 | event = ev_t24 | event = ev_t15 | event = ev_t18 | event = ev_t19 );
t1 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat & g1;
t2 := event = ev_t17 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g2;
t3 := event = ev_t18 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g3;
t4 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g4;
t5 := event = ev_t20 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g5;
t6 := event = ev_t21 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat & g6;
t7 := event = ev_t19 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g7;
t8 := event = ev_t22 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g8;
t9 := event = ev_t24 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g9;
t10 := event = ev_t23 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g10;
t11 := event = ev_heatSwitchOn & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off;
t12 := event = ev_furnaceFault & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
t13 := event = ev_heatSwitchOff & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
t14 := event = ev_furnaceReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
t15 := event = ev_userReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
t16 := event = ev_activate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle & g11;
t17 := event = ev_deactivate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & g12;
t18 := event = ev_furnaceRunning & _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
t19 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
t20 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr;
t21 := event = ev_activate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
t22 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
t23 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
t24 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g13;
t25 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g14;
g1 := tooCold;
g2 := waitedForWarm < warmUpTimer;
g3 := valvePos != 2 & warmUpTimer = waitedForWarm;
g4 := !tooCold;
g5 := waitedForwarm = warmUpTimer & valvePos = 2 & tooCold;
g6 := tooHot;
g7 := waitedForCool = coolDownTimer & valvePos = 0 & tooHot;
g8 := !tooHot;
g9 := valvePos != 0 & coolDownTimer = waitedForCool;
g10 := waitedForCool < coolDownTimer;
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceStartupTime < furnaceTimer;
g14 := furnaceTimer = furnaceStartupTime;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := HeatSystem_heatSys;
next( state ) := case
t4 | t2 | t5 | t6 | t10 | t14 | t11 | t16 | t12 | t22 | t25 | t24 | t7 | t1 | t3 | t8 | t9 | t13 | t15 | t17 | t18 | t20 | t23 | t21 | t19 : HeatSystem_heatSys;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
heatSystem_stable : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "tooCold" of this NuSMV module --
ASSIGN
init( tooCold ) := FALSE;
-- This part defines logic for the assignment of values to state variable "tooHot" of this NuSMV module --
ASSIGN
init( tooHot ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceStartupTime" of this NuSMV module --
ASSIGN
init( furnaceStartupTime ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoom ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoom_room , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoom_room;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseRoom_room;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoom ( _heatSystem , _heatSystemHeatSysHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoomRoom_noHeatReq , HeatSystemHeatSysHouseRoomRoom_heatReq , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t4 | _heatSystem.t2 | _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
_heatSystem.t8 | _heatSystem.t9 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoom_heatReq;
_heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat , HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t5 | _heatSystem.t7 | _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t8 | _heatSystem.t10 : null;
_heatSystem.t4 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
_heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat;
_heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq & state = null : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat , HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t1 | _heatSystem.t3 | _heatSystem.t5 | _heatSystem.t2 | _heatSystem.t4 | _heatSystem.t7 : null;
_heatSystem.t8 : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
_heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool;
_heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq & state = null : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseController --
MODULE HeatingSystemHeatSystemHeatSysHouseController ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseController_Controller , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouseController_Controller;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseController_Controller;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerController --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerController ( _heatSystem , _heatSystemHeatSysHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseControllerController_off , HeatSystemHeatSysHouseControllerController_ControllerOn , HeatSystemHeatSysHouseControllerController_error , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t14 | _heatSystem.t13 | _heatSystem.t15 : HeatSystemHeatSysHouseControllerController_off;
_heatSystem.t11 | _heatSystem.t16 | _heatSystem.t17 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerController_ControllerOn;
_heatSystem.t12 : HeatSystemHeatSysHouseControllerController_error;
_heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseControllerController_off;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn ( _heatSystem , _heatSystemHeatSysHouseControllerController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseControllerControllerControllerOn_idle , HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t12 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t13 | _heatSystem.t15 : null;
_heatSystem.t17 : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
_heatSystem.t16 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive;
_heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn & state = null : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive ( _heatSystem , _heatSystemHeatSysHouseControllerControllerControllerOn )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater , HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t16 | _heatSystem.t12 | _heatSystem.t17 | _heatSystem.t13 : null;
_heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun;
_heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & state = null : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouse --
MODULE HeatingSystemHeatSystemHeatSysHouse ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouse_house , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouse_house;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouse_house;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnace --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnace ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysFurnaceFurnace_furnaceNormal , HeatSystemHeatSysFurnaceFurnace_furnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t20 | _heatSystem.t23 | _heatSystem.t21 | _heatSystem.t22 | _heatSystem.t25 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
_heatSystem.t19 : HeatSystemHeatSysFurnaceFurnace_furnaceErr;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal ( _heatSystem , _heatSystemHeatSysFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t19 | _heatSystem.t20 : null;
_heatSystem.t22 | _heatSystem.t23 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
_heatSystem.t25 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
_heatSystem.t21 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
_heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal & state = null : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystem_Machine --
MODULE HeatingSystemHeatSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem : HeatingSystemHeatSystem( heatingSystemHeatSystemHeatSysHouseRoom , heatingSystemHeatSystemHeatSysHouseRoomRoom , heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq , heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq , heatingSystemHeatSystemHeatSysHouseController , heatingSystemHeatSystemHeatSysHouseControllerController , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , heatingSystemHeatSystemHeatSysHouse , heatingSystemHeatSystemHeatSysFurnaceFurnace , heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal );
heatingSystemHeatSystemHeatSysHouseRoom : HeatingSystemHeatSystemHeatSysHouseRoom( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysHouseRoomRoom : HeatingSystemHeatSystemHeatSysHouseRoomRoom( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
heatingSystemHeatSystemHeatSysHouseController : HeatingSystemHeatSystemHeatSysHouseController( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysHouseControllerController : HeatingSystemHeatSystemHeatSysHouseControllerController( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerController );
heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn );
heatingSystemHeatSystemHeatSysHouse : HeatingSystemHeatSystemHeatSysHouse( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal : HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysFurnaceFurnace );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem_Machine : HeatingSystemHeatSystem_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystem.state = HeatSystem_heatSys )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoom.state = HeatSystemHeatSysHouseRoom_room )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseController.state = HeatSystemHeatSysHouseController_Controller )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct )
-- This file is generated from NestedWatch.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for DigitalWatchSm --
MODULE DigitalWatchSm ( _smRegular , _smRegularUpdate , _smChronometer , _smChronometerChronoNormal , _smAlarmStatus , _smAlarmUpdate , _smAlarmUpdateHourMinuteUpdate )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_regular , Sm_chronometer , Sm_alarmStatus , Sm_alarmUpdate };
event : { ev_s3 , ev_notS2 , ev_s3during2Secs , ev_notS1 , ev_s1 , ev_s2 , ev_null };
day : integer;
month : integer;
year : integer;
hour : integer;
minute : integer;
second : integer;
alarmHour : integer;
alarmMinute : integer;
alarmSecond : integer;
timer : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_s3 | event = ev_s3during2Secs | event = ev_s1 | event = ev_notS2 | event = ev_notS1 | event = ev_s2 );
t1 := event = ev_s3 & state = Sm_chronometer;
t2 := event = ev_notS2 & state = Sm_alarmStatus;
t3 := event = ev_s3 & state = Sm_alarmUpdate;
t4 := event = ev_s1 & _smRegular.state = SmRegular_time;
t5 := event = ev_s2 & _smRegular.state = SmRegular_time;
t6 := event = ev_s3 & _smRegular.state = SmRegular_time;
t7 := event = ev_s3during2Secs & _smRegular.state = SmRegular_time;
t8 := event = ev_notS1 & _smRegular.state = SmRegular_date;
t9 := event = ev_s3 & _smRegular.state = SmRegular_update;
t10 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_second;
t11 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_second;
t12 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_minute;
t13 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_minute;
t14 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_hour;
t15 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_hour;
t16 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_month;
t17 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_month;
t18 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_day;
t19 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_day;
t20 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_year;
t21 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_year;
t22 := event = ev_s1 & _smChronometer.state = SmChronometer_lapRunning;
t23 := event = ev_s2 & _smChronometer.state = SmChronometer_lapRunning;
t24 := event = ev_s1 & _smChronometer.state = SmChronometer_lapPaused;
t25 := event = ev_s2 & _smChronometer.state = SmChronometer_lapPaused;
t26 := event = ev_s1 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_paused;
t27 := event = ev_s2 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_paused;
t28 := event = ev_s1 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_running;
t29 := event = ev_s2 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_running;
t30 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_bothOff;
t31 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_chimeOn;
t32 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_bothOn;
t33 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_alarmOn;
t34 := event = ev_s1 & _smAlarmUpdate.state = SmAlarmUpdate_alarmTime;
t35 := event = ev_s2 & _smAlarmUpdate.state = SmAlarmUpdate_alarmTime;
t36 := event = ev_s1 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmHour;
t37 := event = ev_s2 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmHour;
t38 := event = ev_s1 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmMinute;
t39 := event = ev_s2 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmMinute;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_regular;
next( state ) := case
t8 | t1 | t4 | t20 | t10 | t12 | t14 | t16 | t18 | t9 | t2 | t11 | t3 | t13 | t15 | t17 | t19 | t21 : Sm_regular;
t27 | t25 | t23 | t24 | t6 | t28 | t26 | t29 | t22 : Sm_chronometer;
t33 | t31 | t5 | t30 | t32 : Sm_alarmStatus;
t35 | t38 | t36 | t7 | t37 | t34 | t39 : Sm_alarmUpdate;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_s3 , ev_notS2 , ev_s3during2Secs , ev_notS1 , ev_s1 , ev_s2 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "day" of this NuSMV module --
ASSIGN
init( day ) := 0;
-- This part defines logic for the assignment of values to state variable "month" of this NuSMV module --
ASSIGN
init( month ) := 0;
-- This part defines logic for the assignment of values to state variable "year" of this NuSMV module --
ASSIGN
init( year ) := 2014;
-- This part defines logic for the assignment of values to state variable "hour" of this NuSMV module --
ASSIGN
init( hour ) := 0;
-- This part defines logic for the assignment of values to state variable "minute" of this NuSMV module --
ASSIGN
init( minute ) := 0;
-- This part defines logic for the assignment of values to state variable "second" of this NuSMV module --
ASSIGN
init( second ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmHour" of this NuSMV module --
ASSIGN
init( alarmHour ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmMinute" of this NuSMV module --
ASSIGN
init( alarmMinute ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmSecond" of this NuSMV module --
ASSIGN
init( alarmSecond ) := 0;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 0;
-- This defines a NuSMV module for DigitalWatchSmRegular --
MODULE DigitalWatchSmRegular ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmRegular_time , SmRegular_date , SmRegular_update , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t22 | _sm.t24 | _sm.t26 | _sm.t28 | _sm.t30 | _sm.t32 | _sm.t34 | _sm.t36 | _sm.t38 | _sm.t5 | _sm.t7 | _sm.t23 | _sm.t25 | _sm.t27 | _sm.t29 | _sm.t31 | _sm.t33 | _sm.t35 | _sm.t37 | _sm.t39 : null;
_sm.t8 | _sm.t1 | _sm.t9 | _sm.t2 : SmRegular_time;
_sm.t4 : SmRegular_date;
_sm.t20 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t11 | _sm.t3 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 : SmRegular_update;
_sm.state = Sm_regular & state = null : SmRegular_time;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSmRegularUpdate --
MODULE DigitalWatchSmRegularUpdate ( _sm , _smRegular )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmRegularUpdate_second , SmRegularUpdate_minute , SmRegularUpdate_hour , SmRegularUpdate_month , SmRegularUpdate_day , SmRegularUpdate_year , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t6 | _sm.t8 | _sm.t5 | _sm.t7 | _sm.t9 : null;
_sm.t20 | _sm.t11 | _sm.t3 : SmRegularUpdate_second;
_sm.t10 | _sm.t13 : SmRegularUpdate_minute;
_sm.t12 | _sm.t15 : SmRegularUpdate_hour;
_sm.t14 | _sm.t17 : SmRegularUpdate_month;
_sm.t16 | _sm.t19 : SmRegularUpdate_day;
_sm.t18 | _sm.t21 : SmRegularUpdate_year;
_smRegular.state = SmRegular_update & state = null : SmRegularUpdate_second;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSmChronometer --
MODULE DigitalWatchSmChronometer ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmChronometer_chronoNormal , SmChronometer_lapRunning , SmChronometer_lapPaused , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t20 | _sm.t30 | _sm.t32 | _sm.t34 | _sm.t36 | _sm.t38 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t31 | _sm.t33 | _sm.t35 | _sm.t37 | _sm.t39 : null;
_sm.t28 | _sm.t26 | _sm.t27 | _sm.t25 | _sm.t23 : SmChronometer_chronoNormal;
_sm.t29 | _sm.t24 : SmChronometer_lapRunning;
_sm.t22 : SmChronometer_lapPaused;
_sm.state = Sm_chronometer & state = null : SmChronometer_chronoNormal;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSmChronometerChronoNormal --
MODULE DigitalWatchSmChronometerChronoNormal ( _sm , _smChronometer )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmChronometerChronoNormal_paused , SmChronometerChronoNormal_running , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t22 | _sm.t29 | _sm.t24 | _sm.t1 : null;
_sm.t28 | _sm.t27 | _sm.t25 : SmChronometerChronoNormal_paused;
_sm.t26 | _sm.t23 : SmChronometerChronoNormal_running;
_smChronometer.state = SmChronometer_chronoNormal & state = null : SmChronometerChronoNormal_paused;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSmAlarmStatus --
MODULE DigitalWatchSmAlarmStatus ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmAlarmStatus_bothOff , SmAlarmStatus_chimeOn , SmAlarmStatus_bothOn , SmAlarmStatus_alarmOn , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t20 | _sm.t22 | _sm.t24 | _sm.t26 | _sm.t28 | _sm.t34 | _sm.t36 | _sm.t38 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t23 | _sm.t25 | _sm.t27 | _sm.t29 | _sm.t35 | _sm.t37 | _sm.t39 : null;
_sm.t33 : SmAlarmStatus_bothOff;
_sm.t30 : SmAlarmStatus_chimeOn;
_sm.t31 : SmAlarmStatus_bothOn;
_sm.t32 : SmAlarmStatus_alarmOn;
_sm.state = Sm_alarmStatus & state = null : SmAlarmStatus_bothOff;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSmAlarmUpdate --
MODULE DigitalWatchSmAlarmUpdate ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmAlarmUpdate_alarmTime , SmAlarmUpdate_hourMinuteUpdate , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t3 | _sm.t5 | _sm.t8 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t20 | _sm.t22 | _sm.t24 | _sm.t26 | _sm.t28 | _sm.t30 | _sm.t32 | _sm.t2 | _sm.t4 | _sm.t6 | _sm.t9 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t23 | _sm.t25 | _sm.t27 | _sm.t29 | _sm.t31 | _sm.t33 : null;
_sm.t7 : SmAlarmUpdate_alarmTime;
_sm.t35 | _sm.t38 | _sm.t36 | _sm.t37 | _sm.t34 | _sm.t39 : SmAlarmUpdate_hourMinuteUpdate;
_sm.state = Sm_alarmUpdate & state = null : SmAlarmUpdate_alarmTime;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSmAlarmUpdateHourMinuteUpdate --
MODULE DigitalWatchSmAlarmUpdateHourMinuteUpdate ( _sm , _smAlarmUpdate )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmAlarmUpdateHourMinuteUpdate_alarmHour , SmAlarmUpdateHourMinuteUpdate_alarmMinute , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t3 : null;
_sm.t37 | _sm.t35 | _sm.t38 : SmAlarmUpdateHourMinuteUpdate_alarmHour;
_sm.t36 | _sm.t34 | _sm.t39 : SmAlarmUpdateHourMinuteUpdate_alarmMinute;
_smAlarmUpdate.state = SmAlarmUpdate_hourMinuteUpdate & state = null : SmAlarmUpdateHourMinuteUpdate_alarmHour;
TRUE : state;
esac;
-- This defines a NuSMV module for DigitalWatchSm_Machine --
MODULE DigitalWatchSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm : DigitalWatchSm( digitalWatchSmRegular , digitalWatchSmRegularUpdate , digitalWatchSmChronometer , digitalWatchSmChronometerChronoNormal , digitalWatchSmAlarmStatus , digitalWatchSmAlarmUpdate , digitalWatchSmAlarmUpdateHourMinuteUpdate );
digitalWatchSmRegular : DigitalWatchSmRegular( digitalWatchSm );
digitalWatchSmRegularUpdate : DigitalWatchSmRegularUpdate( digitalWatchSm , digitalWatchSmRegular );
digitalWatchSmChronometer : DigitalWatchSmChronometer( digitalWatchSm );
digitalWatchSmChronometerChronoNormal : DigitalWatchSmChronometerChronoNormal( digitalWatchSm , digitalWatchSmChronometer );
digitalWatchSmAlarmStatus : DigitalWatchSmAlarmStatus( digitalWatchSm );
digitalWatchSmAlarmUpdate : DigitalWatchSmAlarmUpdate( digitalWatchSm );
digitalWatchSmAlarmUpdateHourMinuteUpdate : DigitalWatchSmAlarmUpdateHourMinuteUpdate( digitalWatchSm , digitalWatchSmAlarmUpdate );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm_Machine : DigitalWatchSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_regular )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronometer )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatus )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmUpdate )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegular.state = SmRegular_time )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegular.state = SmRegular_date )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegular.state = SmRegular_update )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_second )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_minute )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_hour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_month )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_day )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_year )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmChronometer.state = SmChronometer_chronoNormal )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmChronometer.state = SmChronometer_lapRunning )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmChronometer.state = SmChronometer_lapPaused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmChronometerChronoNormal.state = SmChronometerChronoNormal_paused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmChronometerChronoNormal.state = SmChronometerChronoNormal_running )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_bothOff )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_chimeOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_bothOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_alarmOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdate.state = SmAlarmUpdate_alarmTime )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdate.state = SmAlarmUpdate_hourMinuteUpdate )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmHour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmMinute )
-- This file is generated from BigStateMachineTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BigStateMachineTestSm --
MODULE BigStateMachineTestSm ( _smZxab , _smZxabZx , _smGe )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_Zxab , Sm_Da , Sm_Ge };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & state = Sm_Da;
t2 := event = ev_e2 & state = Sm_Da;
t3 := event = ev_e5 & _smZxab.state = SmZxab_Aa;
t4 := event = ev_e3 & _smZxab.state = SmZxab_Aa;
t5 := event = ev_e1 & _smZxab.state = SmZxab_Aa;
t6 := event = ev_e4 & _smZxab.state = SmZxab_Aa;
t7 := event = ev_e3 & _smZxab.state = SmZxab_Ba;
t8 := event = ev_e1 & _smZxab.state = SmZxab_Ba;
t9 := event = ev_e4 & _smZxab.state = SmZxab_Ba;
t10 := event = ev_e3 & _smZxabZx.state = SmZxabZx_Za;
t11 := event = ev_e2 & _smZxabZx.state = SmZxabZx_Za;
t12 := event = ev_e5 & _smZxabZx.state = SmZxabZx_Za;
t13 := event = ev_e1 & _smZxabZx.state = SmZxabZx_Za;
t14 := event = ev_e4 & _smZxabZx.state = SmZxabZx_Za;
t15 := event = ev_e5 & _smZxabZx.state = SmZxabZx_Xa;
t16 := event = ev_e1 & _smZxabZx.state = SmZxabZx_Xa;
t17 := event = ev_e4 & _smZxabZx.state = SmZxabZx_Xa;
t18 := event = ev_e1 & _smGe.state = SmGe_Ga;
t19 := event = ev_e1 & _smGe.state = SmGe_Ea;
t20 := event = ev_e2 & _smGe.state = SmGe_Ea;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_Zxab;
next( state ) := case
t1 | t4 | t10 | t11 | t18 : Sm_Zxab;
t3 : Sm_Da;
t14 | t6 | t9 | t15 | t20 | t16 | t8 | t17 | t7 | t12 | t19 | t13 | t5 | t2 : Sm_Ge;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BigStateMachineTestSmZxab --
MODULE BigStateMachineTestSmZxab ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmZxab_Zx , SmZxab_Aa , SmZxab_Ba , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t3 | _sm.t6 | _sm.t8 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t19 | _sm.t2 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t20 : null;
_sm.t10 | _sm.t1 : SmZxab_Zx;
_sm.t11 : SmZxab_Aa;
_sm.t4 | _sm.t18 : SmZxab_Ba;
_sm.state = Sm_Zxab & state = null : SmZxab_Zx;
TRUE : state;
esac;
-- This defines a NuSMV module for BigStateMachineTestSmZxabZx --
MODULE BigStateMachineTestSmZxabZx ( _sm , _smZxab )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmZxabZx_Za , SmZxabZx_Xa , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t3 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 : null;
_sm.t10 | _sm.t1 : SmZxabZx_Xa;
_smZxab.state = SmZxab_Zx & state = null : SmZxabZx_Za;
TRUE : state;
esac;
-- This defines a NuSMV module for BigStateMachineTestSmGe --
MODULE BigStateMachineTestSmGe ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmGe_Ga , SmGe_Ea , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t3 | _sm.t6 | _sm.t9 | _sm.t11 | _sm.t17 | _sm.t1 | _sm.t4 | _sm.t7 | _sm.t10 | _sm.t14 | _sm.t18 : null;
_sm.t12 | _sm.t19 | _sm.t15 | _sm.t20 : SmGe_Ga;
_sm.t16 | _sm.t8 | _sm.t13 | _sm.t5 | _sm.t2 : SmGe_Ea;
_sm.state = Sm_Ge & state = null : SmGe_Ga;
TRUE : state;
esac;
-- This defines a NuSMV module for BigStateMachineTestSm_Machine --
MODULE BigStateMachineTestSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm : BigStateMachineTestSm( bigStateMachineTestSmZxab , bigStateMachineTestSmZxabZx , bigStateMachineTestSmGe );
bigStateMachineTestSmZxab : BigStateMachineTestSmZxab( bigStateMachineTestSm );
bigStateMachineTestSmZxabZx : BigStateMachineTestSmZxabZx( bigStateMachineTestSm , bigStateMachineTestSmZxab );
bigStateMachineTestSmGe : BigStateMachineTestSmGe( bigStateMachineTestSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm_Machine : BigStateMachineTestSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Zxab )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Da )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Ge )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Zx )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Aa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Ba )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_Za )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_Xa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_Ga )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_Ea )
-- This file is generated from Test.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BookingState --
MODULE BookingState
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed };
event : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_cance | event = ev_assignSeat | event = ev_cancel | event = ev_checkIn | event = ev_complete );
t1 := event = ev_assignSeat & state = State_newBooking;
t2 := event = ev_cancel & state = State_newBooking;
t3 := event = ev_cancel & state = State_seatAssigned;
t4 := event = ev_checkIn & state = State_seatAssigned;
t5 := event = ev_cance & state = State_seatAssigned;
t6 := event = ev_cancel & state = State_checkedIn;
t7 := event = ev_complete & state = State_checkedIn;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_newBooking;
next( state ) := case
t1 : State_seatAssigned;
t4 : State_checkedIn;
t2 | t5 | t3 | t6 : State_cancelled;
t7 : State_completed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BookingState_Machine --
MODULE BookingState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bookingState : BookingState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bookingState_Machine : BookingState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bookingState_Machine.bookingState.state = State_newBooking )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_seatAssigned )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_checkedIn )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_cancelled )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_completed )
-- This file is generated from ExampleFile1.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BookingState --
MODULE BookingState
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed };
event : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_cancel | event = ev_assignSeat | event = ev_checkIn | event = ev_complete );
t1 := event = ev_assignSeat & state = State_newBooking;
t2 := event = ev_cancel & state = State_newBooking;
t3 := event = ev_cancel & state = State_seatAssigned;
t4 := event = ev_checkIn & state = State_seatAssigned;
t5 := event = ev_cancel & state = State_checkedIn;
t6 := event = ev_complete & state = State_checkedIn;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_newBooking;
next( state ) := case
t1 : State_seatAssigned;
t4 : State_checkedIn;
t3 | t2 | t5 : State_cancelled;
t6 : State_completed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BookingState_Machine --
MODULE BookingState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bookingState : BookingState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bookingState_Machine : BookingState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bookingState_Machine.bookingState.state = State_newBooking )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_seatAssigned )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_checkedIn )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_cancelled )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_completed )
-- This file is generated from ExampleFile2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for LockLockState --
MODULE LockLockState
-- This part declares state variables for the given NuSMV module --
VAR
state : { LockState_BothDoorsClosedLockFull , LockState_OpeningUpperGate , LockState_UpperGateOpen , LockState_ClosingUpperGate , LockState_LoweringWater , LockState_BothDoorsClosedLockEmpty , LockState_OpeningLowerGate , LockState_LowerGateOpen , LockState_ClosingLowerGate , LockState_RaisingWater };
event : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes , ev_null };
boatGoingDown : boolean;
boatGoingUp : boolean;
boatBlockingGate : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
lockState_stable := !( event = ev_boatRequestsToEnterAndGoDown | event = ev_boatInLockRequestingToGoDown | event = ev_upperGateFullyOpen | event = ev_boatInLockRequestingToGoUp | event = ev_boatRequestsToEnterAndGoUp | event = ev_upperGateFullyClosed | event = ev_waterLevelMatchesUpStream | event = ev_lowerGateFullyClosed | event = ev_lowerGateFullyOpen | event = ev_waterLevelMatchesDownStream | event = ev_after3minutes );
t1 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockFull;
t2 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockFull;
t3 := event = ev_upperGateFullyOpen & state = LockState_OpeningUpperGate;
t4 := event = ev_boatInLockRequestingToGoDown & state = LockState_UpperGateOpen;
t5 := event = ev_after3minutes & state = LockState_UpperGateOpen & g1;
t6 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g2;
t7 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g3;
t8 := event = ev_waterLevelMatchesDownStream & state = LockState_LoweringWater;
t9 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockEmpty;
t10 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockEmpty;
t11 := event = ev_lowerGateFullyOpen & state = LockState_OpeningLowerGate;
t12 := event = ev_boatInLockRequestingToGoUp & state = LockState_LowerGateOpen;
t13 := event = ev_after3minutes & state = LockState_LowerGateOpen & g1;
t14 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g4;
t15 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g5;
t16 := event = ev_waterLevelMatchesUpStream & state = LockState_RaisingWater;
g1 := !boatBlockingGate;
g2 := boatGoingDown;
g3 := !boatGoingDown;
g4 := boatGoingUp;
g5 := !boatGoingUp;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := LockState_BothDoorsClosedLockFull;
next( state ) := case
t7 : LockState_BothDoorsClosedLockFull;
t1 | t16 : LockState_OpeningUpperGate;
t3 : LockState_UpperGateOpen;
t4 | t5 : LockState_ClosingUpperGate;
t2 | t6 : LockState_LoweringWater;
t15 : LockState_BothDoorsClosedLockEmpty;
t8 | t9 : LockState_OpeningLowerGate;
t11 : LockState_LowerGateOpen;
t12 | t13 : LockState_ClosingLowerGate;
t10 | t14 : LockState_RaisingWater;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
lockState_stable : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "boatGoingDown" of this NuSMV module --
ASSIGN
init( boatGoingDown ) := FALSE;
-- This part defines logic for the assignment of values to state variable "boatGoingUp" of this NuSMV module --
ASSIGN
init( boatGoingUp ) := FALSE;
-- This part defines logic for the assignment of values to state variable "boatBlockingGate" of this NuSMV module --
ASSIGN
init( boatBlockingGate ) := FALSE;
-- This defines a NuSMV module for LockLockState_Machine --
MODULE LockLockState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
lockLockState : LockLockState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
lockLockState_Machine : LockLockState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( lockLockState_Machine.lockLockState.t6 & lockLockState_Machine.lockLockState.t7 -> next( lockLockState_Machine.lockLockState.state = LockState_LoweringWater & lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockFull ) )
INVARSPEC ( lockLockState_Machine.lockLockState.t14 & lockLockState_Machine.lockLockState.t15 -> next( lockLockState_Machine.lockLockState.state = LockState_RaisingWater & lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockFull )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_OpeningUpperGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_UpperGateOpen )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_ClosingUpperGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_LoweringWater )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_OpeningLowerGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_LowerGateOpen )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_ClosingLowerGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_RaisingWater )
-- This file is generated from Elevator.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ElevatorElevator_state_machine --
MODULE ElevatorElevator_state_machine ( _elevator_state_machinePrepareUp , _elevator_state_machinePrepareDown , _elevator_state_machineInMotion , _elevator_state_machineOnFloor )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machine_Idle , Elevator_state_machine_PrepareUp , Elevator_state_machine_PrepareDown , Elevator_state_machine_InMotion , Elevator_state_machine_OnFloor };
event : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_doorCLosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest , ev_null };
timer : integer;
floorRequested : boolean;
obstruction : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
elevator_state_machine_stable := !( event = ev_stopped | event = ev_upRequest | event = ev_doorCLosed | event = ev_approachedFloor | event = ev_approachingFloor | event = ev_doorOpeningRequest | event = ev_doorClosingRequest | event = ev_obstruction | event = ev_doorClosed | event = ev_started | event = ev_downRequest | event = ev_doorOpened | event = ev_timeoutAtFloorToDoorClosing | event = ev_noRequest );
t1 := event = ev_upRequest & state = Elevator_state_machine_Idle;
t2 := event = ev_downRequest & state = Elevator_state_machine_Idle;
t3 := event = ev_started & state = Elevator_state_machine_PrepareUp;
t4 := event = ev_started & state = Elevator_state_machine_PrepareDown;
t5 := event = ev_doorClosed & _elevator_state_machinePrepareUp.state = Elevator_state_machinePrepareUp_DoorClosingMovingUp;
t6 := event = ev_doorClosed & _elevator_state_machinePrepareDown.state = Elevator_state_machinePrepareDown_DoorClosingMovingDown;
t7 := event = ev_approachingFloor & _elevator_state_machineInMotion.state = Elevator_state_machineInMotion_Moving & g1;
t8 := event = ev_approachedFloor & _elevator_state_machineInMotion.state = Elevator_state_machineInMotion_Moving & g2;
t9 := event = ev_stopped & _elevator_state_machineInMotion.state = Elevator_state_machineInMotion_Stopping;
t10 := event = ev_doorOpened & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorOpening;
t11 := event = ev_timeoutAtFloorToDoorClosing & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_AtFloor & g3;
t12 := event = ev_doorClosingRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_AtFloor;
t13 := event = ev_doorCLosed & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing;
t14 := event = ev_obstruction & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing;
t15 := event = ev_doorOpeningRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing;
t16 := event = ev_upRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination;
t17 := event = ev_downRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination;
t18 := event = ev_noRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination;
g1 := !floorRequested;
g2 := floorRequested;
g3 := !obstruction;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Elevator_state_machine_Idle;
next( state ) := case
t18 : Elevator_state_machine_Idle;
t1 | t16 : Elevator_state_machine_PrepareUp;
t2 | t17 : Elevator_state_machine_PrepareDown;
t5 | t3 | t7 | t6 | t4 | t8 : Elevator_state_machine_InMotion;
t14 | t10 | t12 | t9 | t15 | t11 | t13 : Elevator_state_machine_OnFloor;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
elevator_state_machine_stable : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_doorCLosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 100;
-- This part defines logic for the assignment of values to state variable "floorRequested" of this NuSMV module --
ASSIGN
init( floorRequested ) := FALSE;
-- This part defines logic for the assignment of values to state variable "obstruction" of this NuSMV module --
ASSIGN
init( obstruction ) := FALSE;
-- This defines a NuSMV module for ElevatorElevator_state_machinePrepareUp --
MODULE ElevatorElevator_state_machinePrepareUp ( _elevator_state_machine )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machinePrepareUp_DoorClosingMovingUp , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_elevator_state_machine.t1 | _elevator_state_machine.t3 | _elevator_state_machine.t5 | _elevator_state_machine.t7 | _elevator_state_machine.t9 | _elevator_state_machine.t11 | _elevator_state_machine.t13 | _elevator_state_machine.t15 | _elevator_state_machine.t17 | _elevator_state_machine.t2 | _elevator_state_machine.t4 | _elevator_state_machine.t6 | _elevator_state_machine.t8 | _elevator_state_machine.t10 | _elevator_state_machine.t12 | _elevator_state_machine.t14 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
_elevator_state_machine.state = Elevator_state_machine_PrepareUp & state = null : Elevator_state_machinePrepareUp_DoorClosingMovingUp;
TRUE : state;
esac;
-- This defines a NuSMV module for ElevatorElevator_state_machinePrepareDown --
MODULE ElevatorElevator_state_machinePrepareDown ( _elevator_state_machine )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machinePrepareDown_DoorClosingMovingDown , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_elevator_state_machine.t1 | _elevator_state_machine.t3 | _elevator_state_machine.t5 | _elevator_state_machine.t7 | _elevator_state_machine.t9 | _elevator_state_machine.t11 | _elevator_state_machine.t13 | _elevator_state_machine.t15 | _elevator_state_machine.t17 | _elevator_state_machine.t2 | _elevator_state_machine.t4 | _elevator_state_machine.t6 | _elevator_state_machine.t8 | _elevator_state_machine.t10 | _elevator_state_machine.t12 | _elevator_state_machine.t14 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
_elevator_state_machine.state = Elevator_state_machine_PrepareDown & state = null : Elevator_state_machinePrepareDown_DoorClosingMovingDown;
TRUE : state;
esac;
-- This defines a NuSMV module for ElevatorElevator_state_machineInMotion --
MODULE ElevatorElevator_state_machineInMotion ( _elevator_state_machine )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machineInMotion_Moving , Elevator_state_machineInMotion_Stopping , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_elevator_state_machine.t1 | _elevator_state_machine.t5 | _elevator_state_machine.t9 | _elevator_state_machine.t11 | _elevator_state_machine.t13 | _elevator_state_machine.t15 | _elevator_state_machine.t17 | _elevator_state_machine.t2 | _elevator_state_machine.t6 | _elevator_state_machine.t10 | _elevator_state_machine.t12 | _elevator_state_machine.t14 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
_elevator_state_machine.t4 | _elevator_state_machine.t3 | _elevator_state_machine.t7 : Elevator_state_machineInMotion_Moving;
_elevator_state_machine.t8 : Elevator_state_machineInMotion_Stopping;
_elevator_state_machine.state = Elevator_state_machine_InMotion & state = null : Elevator_state_machineInMotion_Moving;
TRUE : state;
esac;
-- This defines a NuSMV module for ElevatorElevator_state_machineOnFloor --
MODULE ElevatorElevator_state_machineOnFloor ( _elevator_state_machine )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machineOnFloor_DoorOpening , Elevator_state_machineOnFloor_AtFloor , Elevator_state_machineOnFloor_DoorClosing , Elevator_state_machineOnFloor_CheckingNextDestination , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_elevator_state_machine.t2 | _elevator_state_machine.t4 | _elevator_state_machine.t6 | _elevator_state_machine.t8 | _elevator_state_machine.t17 | _elevator_state_machine.t1 | _elevator_state_machine.t3 | _elevator_state_machine.t5 | _elevator_state_machine.t7 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
_elevator_state_machine.t14 | _elevator_state_machine.t9 | _elevator_state_machine.t15 : Elevator_state_machineOnFloor_DoorOpening;
_elevator_state_machine.t10 : Elevator_state_machineOnFloor_AtFloor;
_elevator_state_machine.t11 | _elevator_state_machine.t12 : Elevator_state_machineOnFloor_DoorClosing;
_elevator_state_machine.t13 : Elevator_state_machineOnFloor_CheckingNextDestination;
_elevator_state_machine.state = Elevator_state_machine_OnFloor & state = null : Elevator_state_machineOnFloor_DoorOpening;
TRUE : state;
esac;
-- This defines a NuSMV module for ElevatorElevator_state_machine_Machine --
MODULE ElevatorElevator_state_machine_Machine
-- This part declares state variables for the given NuSMV module --
VAR
elevatorElevator_state_machine : ElevatorElevator_state_machine( elevatorElevator_state_machinePrepareUp , elevatorElevator_state_machinePrepareDown , elevatorElevator_state_machineInMotion , elevatorElevator_state_machineOnFloor );
elevatorElevator_state_machinePrepareUp : ElevatorElevator_state_machinePrepareUp( elevatorElevator_state_machine );
elevatorElevator_state_machinePrepareDown : ElevatorElevator_state_machinePrepareDown( elevatorElevator_state_machine );
elevatorElevator_state_machineInMotion : ElevatorElevator_state_machineInMotion( elevatorElevator_state_machine );
elevatorElevator_state_machineOnFloor : ElevatorElevator_state_machineOnFloor( elevatorElevator_state_machine );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
elevatorElevator_state_machine_Machine : ElevatorElevator_state_machine_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Idle )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareUp )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareDown )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_InMotion )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloor )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machinePrepareUp.state = Elevator_state_machinePrepareUp_DoorClosingMovingUp )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machinePrepareDown.state = Elevator_state_machinePrepareDown_DoorClosingMovingDown )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineInMotion.state = Elevator_state_machineInMotion_Moving )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineInMotion.state = Elevator_state_machineInMotion_Stopping )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorOpening )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_AtFloor )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination )
-- This file is generated from ConstantTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemSm --
MODULE CruiseControlSystemSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_a , ev_null };
c : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_a );
t1 := event = ev_a & state = Sm_s1;
aa := 5;
bb := 5;
cc := 5.00;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_a };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 0;
-- This defines a NuSMV module for CruiseControlSystemSm_Machine --
MODULE CruiseControlSystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm : CruiseControlSystemSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 )
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 )
-- This file is generated from CourseSection.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CourseSectionStatus --
MODULE CourseSectionStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Planned , Status_OpenNotEnoughStudents , Status_OpenEnoughStudents , Status_Cancelled , Status_Closed };
event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration );
t1 := event = ev_cancel & state = Status_Planned;
t2 := event = ev_openRegistration & state = Status_Planned;
t3 := event = ev_requestToRegister & state = Status_OpenNotEnoughStudents;
t4 := event = ev_closeRegistration & state = Status_OpenNotEnoughStudents;
t5 := event = ev_cancel & state = Status_OpenNotEnoughStudents;
t6 := event = ev_classSizeExceedsMinimum & state = Status_OpenNotEnoughStudents;
t7 := event = ev_cancel & state = Status_OpenEnoughStudents;
t8 := event = ev_requestToRegister & state = Status_OpenEnoughStudents;
t9 := event = ev_closeRegistration & state = Status_OpenEnoughStudents;
t10 := event = ev_classSizeExceedsMaximum & state = Status_OpenEnoughStudents;
t11 := event = ev_cancel & state = Status_Closed;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Planned;
next( state ) := case
t2 | t3 : Status_OpenNotEnoughStudents;
t6 | t8 : Status_OpenEnoughStudents;
t4 | t7 | t1 | t5 | t11 : Status_Cancelled;
t9 | t10 : Status_Closed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CourseSectionStatus_Machine --
MODULE CourseSectionStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus : CourseSectionStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus_Machine : CourseSectionStatus_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Planned )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenNotEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Cancelled )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Closed )
-- This file is generated from AdaptiveCruiseControlWithTerminalState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem --
MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemControlCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControl , _cruiseControlSystemAdaptiveControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystem_adaptiveControlSystem , CruiseControlSystem_terminal };
event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_term , ev_clearSpeed , ev_on , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
cruiseControlSystem_stable := !( event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_clearSpeed | event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_term | event = ev_on );
t1 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state != null;
t2 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
t3 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
t4 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
t5 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t6 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t7 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t8 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t9 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t10 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t11 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t12 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t13 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
t14 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
t15 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
t16 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
t17 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
t18 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
t19 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
t20 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
t21 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
t22 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state != null;
t23 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t24 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t25 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t26 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t27 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t28 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t29 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t30 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
t31 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t32 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t33 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t34 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t35 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t36 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t37 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t38 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t39 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t40 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t41 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t42 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
t43 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
t44 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
t45 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := CruiseControlSystem_adaptiveControlSystem;
next( state ) := case
t32 | t34 | t36 | t38 | t45 | t5 | t2 | t4 | t15 | t19 | t6 | t8 | t17 | t11 | t20 | t24 | t29 | t28 | t27 | t42 | t33 | t35 | t37 | t41 | t3 | t10 | t13 | t14 | t18 | t21 | t7 | t9 | t16 | t12 | t23 | t25 | t26 | t30 | t40 | t44 : CruiseControlSystem_adaptiveControlSystem;
t22 | t39 | t1 | t31 | t43 : CruiseControlSystem_terminal;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_term , ev_clearSpeed , ev_on };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
_cruiseControlSystem.t3 | _cruiseControlSystem.t10 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t16 | _cruiseControlSystem.t12 | _cruiseControlSystem.t5 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t15 | _cruiseControlSystem.t19 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t17 | _cruiseControlSystem.t11 | _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t22 : null;
_cruiseControlSystem.t3 | _cruiseControlSystem.t10 | _cruiseControlSystem.t5 | _cruiseControlSystem.t2 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
_cruiseControlSystem.t4 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
_cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t15 | _cruiseControlSystem.t19 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t17 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
_cruiseControlSystem.t16 | _cruiseControlSystem.t12 | _cruiseControlSystem.t11 | _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
_cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t21 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 | _cruiseControlSystem.t1 : null;
_cruiseControlSystem.t2 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t3 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t21 | _cruiseControlSystem.t2 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 | _cruiseControlSystem.t1 : null;
_cruiseControlSystem.t4 | _cruiseControlSystem.t14 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t3 | _cruiseControlSystem.t15 | _cruiseControlSystem.t4 : null;
_cruiseControlSystem.t14 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t19 | _cruiseControlSystem.t21 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 | _cruiseControlSystem.t1 : null;
_cruiseControlSystem.t7 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
_cruiseControlSystem.t9 | _cruiseControlSystem.t17 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t18 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t16 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 : null;
_cruiseControlSystem.t17 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t1 : null;
_cruiseControlSystem.t11 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
_cruiseControlSystem.t12 | _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t21 | _cruiseControlSystem.t11 | _cruiseControlSystem.t19 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 : null;
_cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
_cruiseControlSystem.t23 | _cruiseControlSystem.t25 | _cruiseControlSystem.t26 | _cruiseControlSystem.t30 | _cruiseControlSystem.t24 | _cruiseControlSystem.t29 | _cruiseControlSystem.t28 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t22 : null;
_cruiseControlSystem.t23 | _cruiseControlSystem.t25 | _cruiseControlSystem.t24 | _cruiseControlSystem.t29 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
_cruiseControlSystem.t28 | _cruiseControlSystem.t26 | _cruiseControlSystem.t30 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
_cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
_cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControl_control , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
_cruiseControlSystem.t3 | _cruiseControlSystem.t10 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t16 | _cruiseControlSystem.t12 | _cruiseControlSystem.t23 | _cruiseControlSystem.t25 | _cruiseControlSystem.t26 | _cruiseControlSystem.t30 | _cruiseControlSystem.t5 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t15 | _cruiseControlSystem.t19 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t17 | _cruiseControlSystem.t11 | _cruiseControlSystem.t20 | _cruiseControlSystem.t24 | _cruiseControlSystem.t29 | _cruiseControlSystem.t28 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControl_control;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControl_control;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
_cruiseControlSystem.t40 | _cruiseControlSystem.t42 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
_cruiseControlSystem.t44 : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine --
MODULE CruiseControlSystemCruiseControlSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t40 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t12 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t35 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t6 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t36 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t11 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t37 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t7 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t8 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t41 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t41 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t41 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_terminal )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState )
-- This file is generated from AndCrossFromDeeplyNestedStateCase2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122State1221State1221 , _stateState1State12State12State122State1222State1222 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e6 , ev_e1 , ev_e2 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e6 | event = ev_e2 | event = ev_e5 | event = ev_e1 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state112;
t5 := event = ev_e5 & _stateState1State12State12.state != null;
t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
t8 := event = ev_e2 & _stateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211;
t9 := event = ev_e6 & _stateState1State12State12State122State1222State1222.state = StateState1State12State12State122State1222State1222_state12221;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t2 | t9 | t4 | t3 | t8 | t6 | t7 : State_state1;
t1 | t5 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e6 , ev_e1 , ev_e2 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state111;
_state.t8 | _state.t2 | _state.t9 : StateState1State11State11_state112;
_state.state = State_state1 & state = null : StateState1State11State11_state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t8 | _state.t5 | _state.t9 : null;
_state.t4 | _state.t6 | _state.t7 : StateState1State12State12_state122;
_state.state = State_state1 & state = null : StateState1State12State12_state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State122State1221State1221 --
MODULE AStateState1State12State12State122State1221State1221 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State122State1221State1221_state12211 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
_state.t4 | _state.t7 : StateState1State12State12State122State1221State1221_state12211;
_stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122State1221State1221_state12211;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State122State1222State1222 --
MODULE AStateState1State12State12State122State1222State1222 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State122State1222State1222_state12221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
_stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122State1222State1222_state12221;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122State1221State1221 , aStateState1State12State12State122State1222State1222 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
aStateState1State12State12State122State1221State1221 : AStateState1State12State12State122State1221State1221( aState , aStateState1State12State12 );
aStateState1State12State12State122State1222State1222 : AStateState1State12State12State122State1222State1222( aState , aStateState1State12State12 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 ) )
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t8 -> next( aState_Machine.aStateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State122State1222State1222.state = StateState1State12State12State122State1222State1222_state12221 )
-- This file is generated from AndCrossFromDeeplyNestedState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122 , _stateState1State12State12State122State1221 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state112;
t5 := event = ev_e5 & _stateState1State12State12.state != null;
t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
t9 := event = ev_e4 & _stateState1State12State12State122.state = StateState1State12State12State122_state1221;
t10 := event = ev_e2 & _stateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t3 | t10 | t9 | t7 | t2 | t8 | t6 | t4 : State_state1;
t1 | t5 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state111;
_state.t2 | _state.t10 : StateState1State11State11_state112;
_state.state = State_state1 & state = null : StateState1State11State11_state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t10 : null;
_state.t8 | _state.t9 : StateState1State12State12_state121;
_state.t7 | _state.t6 | _state.t4 : StateState1State12State12_state122;
_state.state = State_state1 & state = null : StateState1State12State12_state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State122 --
MODULE AStateState1State12State12State122 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State122_state1221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t8 | _state.t10 | _state.t6 | _state.t9 | _state.t5 : null;
_state.t7 | _state.t4 : StateState1State12State12State122_state1221;
_stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122_state1221;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State122State1221 --
MODULE AStateState1State12State12State122State1221 ( _state , _stateState1State12State12State122 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State122State1221_state12211 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t10 | _state.t9 | _state.t8 : null;
_state.t4 : StateState1State12State12State122State1221_state12211;
_stateState1State12State12State122.state = StateState1State12State12State122_state1221 & state = null : StateState1State12State12State122State1221_state12211;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122 , aStateState1State12State12State122State1221 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
aStateState1State12State12State122 : AStateState1State12State12State122( aState , aStateState1State12State12 );
aStateState1State12State12State122State1221 : AStateState1State12State12State122State1221( aState , aStateState1State12State12State122 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 ) )
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t10 -> next( aState_Machine.aStateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211 )
-- This file is generated from ArbitraryExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for TestSmSm --
MODULE TestSmSm ( _smS2AA , _smS2BB , _smS2CC )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
Sm_stable := !( event = ev_e1 | event = ev_e2 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e1 & _smS2AA.state = SmS2AA_a1;
t3 := event = ev_e2 & _smS2AA.state = SmS2AA_a1;
t4 := event = ev_e1 & _smS2AA.state = SmS2AA_a2;
t5 := event = ev_e2 & _smS2AA.state = SmS2AA_a2;
t6 := event = ev_e1 & _smS2AA.state = SmS2AA_a3;
t7 := event = ev_e2 & _smS2BB.state = SmS2BB_b1;
t8 := event = ev_e1 & _smS2BB.state = SmS2BB_b1;
t9 := event = ev_e1 & _smS2BB.state = SmS2BB_b2;
t10 := event = ev_e1 & _smS2BB.state = SmS2BB_b3;
t11 := event = ev_e1 & _smS2BB.state = SmS2BB_b4;
t12 := event = ev_e2 & _smS2BB.state = SmS2BB_b4;
t13 := event = ev_e1 & _smS2CC.state = SmS2CC_c1;
t14 := event = ev_e2 & _smS2CC.state = SmS2CC_c1;
t15 := event = ev_e1 & _smS2CC.state = SmS2CC_c3;
t16 := event = ev_e2 & _smS2CC.state = SmS2CC_c3;
t17 := event = ev_e1 & _smS2CC.state = SmS2CC_c4;
t18 := event = ev_e2 & _smS2CC.state = SmS2CC_c4;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t5 : Sm_s1;
t6 | t4 | t9 | t12 | t11 | t14 | t17 | t13 | t2 | t3 | t18 | t8 | t7 | t10 | t15 | t1 | t16 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
Sm_stable : { ev_e1 , ev_e2 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for TestSmSmS2AA --
MODULE TestSmSmS2AA ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2AA_a1 , SmS2AA_a2 , SmS2AA_a3 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t5 : null;
_sm.t2 | _sm.t6 : SmS2AA_a2;
_sm.t4 | _sm.t3 | _sm.t18 : SmS2AA_a3;
_sm.state = Sm_s2 & state = null : SmS2AA_a1;
TRUE : state;
esac;
-- This defines a NuSMV module for TestSmSmS2BB --
MODULE TestSmSmS2BB ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2BB_b1 , SmS2BB_b2 , SmS2BB_b3 , SmS2BB_b4 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t5 | _sm.t18 : null;
_sm.t9 : SmS2BB_b1;
_sm.t8 | _sm.t12 : SmS2BB_b2;
_sm.t7 | _sm.t11 : SmS2BB_b3;
_sm.t10 : SmS2BB_b4;
_sm.state = Sm_s2 & state = null : SmS2BB_b1;
TRUE : state;
esac;
-- This defines a NuSMV module for TestSmSmS2CC --
MODULE TestSmSmS2CC ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2CC_c1 , SmS2CC_c2 , SmS2CC_c3 , SmS2CC_c4 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t5 | _sm.t18 : null;
_sm.t15 | _sm.t14 | _sm.t17 : SmS2CC_c2;
_sm.t1 | _sm.t13 : SmS2CC_c3;
_sm.t16 : SmS2CC_c4;
_sm.state = Sm_s2 & state = null : SmS2CC_c1;
TRUE : state;
esac;
-- This defines a NuSMV module for TestSmSm_Machine --
MODULE TestSmSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
testSmSm : TestSmSm( testSmSmS2AA , testSmSmS2BB , testSmSmS2CC );
testSmSmS2AA : TestSmSmS2AA( testSmSm );
testSmSmS2BB : TestSmSmS2BB( testSmSm );
testSmSmS2CC : TestSmSmS2CC( testSmSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
testSmSm_Machine : TestSmSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b3 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b2 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t14 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c2 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t16 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c4 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t18 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b3 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b2 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( testSmSm_Machine.testSmSm.state = Sm_s1 )
CTLSPEC EF( testSmSm_Machine.testSmSm.state = Sm_s2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a1 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b1 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b3 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b4 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c1 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c3 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c4 )
-- This file is generated from AdaptiveCruiseControlSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem --
MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemControlCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControl , _cruiseControlSystemAdaptiveControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystem_adaptiveControlSystem , null };
event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
cruiseControlSystem_stable := !( event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_clearSpeed | event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_on );
t1 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
t2 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
t3 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
t4 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t5 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t6 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t7 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t8 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t9 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t10 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t11 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t12 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
t13 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
t14 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
t15 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
t16 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
t17 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
t18 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
t19 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
t20 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
t21 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t22 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t23 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t24 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t25 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t26 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t27 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t28 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
t29 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t30 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t31 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t32 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t33 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t34 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t35 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t36 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t37 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
t38 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
t39 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
t40 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := CruiseControlSystem_adaptiveControlSystem;
next( state ) := case
t29 | t31 | t33 | t35 | t40 | t4 | t1 | t3 | t14 | t18 | t5 | t7 | t16 | t10 | t19 | t22 | t27 | t26 | t25 | t37 | t30 | t32 | t34 | t38 | t2 | t9 | t12 | t13 | t17 | t20 | t6 | t8 | t15 | t11 | t21 | t23 | t24 | t28 | t36 | t39 : CruiseControlSystem_adaptiveControlSystem;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
_cruiseControlSystem.t3 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
_cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
_cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
_cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t3 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t14 | _cruiseControlSystem.t3 : null;
_cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t6 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
_cruiseControlSystem.t8 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t17 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t15 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 : null;
_cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t10 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
_cruiseControlSystem.t11 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t20 | _cruiseControlSystem.t10 | _cruiseControlSystem.t18 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 : null;
_cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
_cruiseControlSystem.t26 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
_cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
_cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControl_control , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControl_control;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControl_control;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t36 | _cruiseControlSystem.t37 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t39 : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine --
MODULE CruiseControlSystemCruiseControlSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t1 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t36 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t8 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t11 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t6 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t35 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t7 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState )
-- This file is generated from MultiLevelStateMachineExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2 , _smS2S21 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e2 & state = Sm_s2;
t4 := event = ev_e3 & _smS2.state = SmS2_s21;
t5 := event = ev_e1 & _smS2S21.state = SmS2S21_s211;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t3 | t1 | t5 : Sm_s1;
t2 | t4 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2 --
MODULE ASmS2 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2_s21 , SmS2_s22 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t3 | _sm.t2 | _sm.t5 : null;
_sm.t4 : SmS2_s22;
_sm.state = Sm_s2 & state = null : SmS2_s21;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmS2S21 --
MODULE ASmS2S21 ( _sm , _smS2 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S21_s211 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t5 | _sm.t4 | _sm.t3 : null;
_smS2.state = SmS2_s21 & state = null : SmS2S21_s211;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2 , aSmS2S21 );
aSmS2 : ASmS2( aSm );
aSmS2S21 : ASmS2S21( aSm , aSmS2 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s21 )
CTLSPEC EF( aSm_Machine.aSmS2.state = SmS2_s22 )
CTLSPEC EF( aSm_Machine.aSmS2S21.state = SmS2S21_s211 )
-- This file is generated from FurnaceControlSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for HeatingSystemHeatSystem --
MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysHouseRoom , _heatSystemHeatSysHouseRoomRoom , _heatSystemHeatSysHouseRoomRoomNoHeatReq , _heatSystemHeatSysHouseRoomRoomHeatReq , _heatSystemHeatSysHouseController , _heatSystemHeatSysHouseControllerController , _heatSystemHeatSysHouseControllerControllerControllerOn , _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , _heatSystemHeatSysHouse , _heatSystemHeatSysFurnaceFurnace , _heatSystemHeatSysFurnaceFurnaceFurnaceNormal )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystem_heatSys , null };
event : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 , ev_null };
tooCold : boolean;
tooHot : boolean;
requestHeat : boolean;
furnaceTimer : integer;
furnaceStartupTime : integer;
valvePos : integer;
waitedForWarm : integer;
warmUpTimer : integer;
coolDownTimer : integer;
waitedForCool : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
heatSystem_stable := !( event = ev_t5 | event = ev_furnaceReset | event = ev_furnaceRunning | event = ev_t21 | event = ev_heatSwitchOff | event = ev_t22 | event = ev_activate | event = ev_userReset | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_t23 | event = ev_t24 | event = ev_t15 | event = ev_t18 | event = ev_t19 );
t1 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat & g1;
t2 := event = ev_t17 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g2;
t3 := event = ev_t18 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g3;
t4 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g4;
t5 := event = ev_t20 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g5;
t6 := event = ev_t21 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat & g6;
t7 := event = ev_t19 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g7;
t8 := event = ev_t22 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g8;
t9 := event = ev_t24 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g9;
t10 := event = ev_t23 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g10;
t11 := event = ev_heatSwitchOn & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off;
t12 := event = ev_furnaceFault & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
t13 := event = ev_heatSwitchOff & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
t14 := event = ev_furnaceReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
t15 := event = ev_userReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
t16 := event = ev_activate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle & g11;
t17 := event = ev_deactivate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & g12;
t18 := event = ev_furnaceRunning & _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
t19 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
t20 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr;
t21 := event = ev_activate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
t22 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
t23 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
t24 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g13;
t25 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g14;
g1 := tooCold;
g2 := waitedForWarm < warmUpTimer;
g3 := valvePos != 2 & warmUpTimer = waitedForWarm;
g4 := !tooCold;
g5 := waitedForwarm = warmUpTimer & valvePos = 2 & tooCold;
g6 := tooHot;
g7 := waitedForCool = coolDownTimer & valvePos = 0 & tooHot;
g8 := !tooHot;
g9 := valvePos != 0 & coolDownTimer = waitedForCool;
g10 := waitedForCool < coolDownTimer;
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceStartupTime < furnaceTimer;
g14 := furnaceTimer = furnaceStartupTime;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := HeatSystem_heatSys;
next( state ) := case
t4 | t2 | t5 | t6 | t10 | t14 | t11 | t16 | t12 | t22 | t25 | t24 | t7 | t1 | t3 | t8 | t9 | t13 | t15 | t17 | t18 | t20 | t23 | t21 | t19 : HeatSystem_heatSys;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
heatSystem_stable : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "tooCold" of this NuSMV module --
ASSIGN
init( tooCold ) := FALSE;
-- This part defines logic for the assignment of values to state variable "tooHot" of this NuSMV module --
ASSIGN
init( tooHot ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceStartupTime" of this NuSMV module --
ASSIGN
init( furnaceStartupTime ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoom ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoom_room , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoom_room;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseRoom_room;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoom ( _heatSystem , _heatSystemHeatSysHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoomRoom_noHeatReq , HeatSystemHeatSysHouseRoomRoom_heatReq , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t4 | _heatSystem.t2 | _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
_heatSystem.t8 | _heatSystem.t9 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoom_heatReq;
_heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat , HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t5 | _heatSystem.t7 | _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t8 | _heatSystem.t10 : null;
_heatSystem.t4 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
_heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat;
_heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq & state = null : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat , HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t1 | _heatSystem.t3 | _heatSystem.t5 | _heatSystem.t2 | _heatSystem.t4 | _heatSystem.t7 : null;
_heatSystem.t8 : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
_heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool;
_heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq & state = null : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseController --
MODULE HeatingSystemHeatSystemHeatSysHouseController ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseController_Controller , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouseController_Controller;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseController_Controller;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerController --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerController ( _heatSystem , _heatSystemHeatSysHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseControllerController_off , HeatSystemHeatSysHouseControllerController_ControllerOn , HeatSystemHeatSysHouseControllerController_error , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t14 | _heatSystem.t13 | _heatSystem.t15 : HeatSystemHeatSysHouseControllerController_off;
_heatSystem.t11 | _heatSystem.t16 | _heatSystem.t17 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerController_ControllerOn;
_heatSystem.t12 : HeatSystemHeatSysHouseControllerController_error;
_heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseControllerController_off;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn ( _heatSystem , _heatSystemHeatSysHouseControllerController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseControllerControllerControllerOn_idle , HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t12 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t13 | _heatSystem.t15 : null;
_heatSystem.t17 : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
_heatSystem.t16 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive;
_heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn & state = null : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive ( _heatSystem , _heatSystemHeatSysHouseControllerControllerControllerOn )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater , HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t16 | _heatSystem.t12 | _heatSystem.t17 | _heatSystem.t13 : null;
_heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun;
_heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & state = null : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouse --
MODULE HeatingSystemHeatSystemHeatSysHouse ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysHouse_house , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouse_house;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouse_house;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnace --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnace ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysFurnaceFurnace_furnaceNormal , HeatSystemHeatSysFurnaceFurnace_furnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t20 | _heatSystem.t23 | _heatSystem.t21 | _heatSystem.t22 | _heatSystem.t25 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
_heatSystem.t19 : HeatSystemHeatSysFurnaceFurnace_furnaceErr;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal ( _heatSystem , _heatSystemHeatSysFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t19 | _heatSystem.t20 : null;
_heatSystem.t22 | _heatSystem.t23 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
_heatSystem.t25 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
_heatSystem.t21 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
_heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal & state = null : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystem_Machine --
MODULE HeatingSystemHeatSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem : HeatingSystemHeatSystem( heatingSystemHeatSystemHeatSysHouseRoom , heatingSystemHeatSystemHeatSysHouseRoomRoom , heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq , heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq , heatingSystemHeatSystemHeatSysHouseController , heatingSystemHeatSystemHeatSysHouseControllerController , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , heatingSystemHeatSystemHeatSysHouse , heatingSystemHeatSystemHeatSysFurnaceFurnace , heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal );
heatingSystemHeatSystemHeatSysHouseRoom : HeatingSystemHeatSystemHeatSysHouseRoom( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysHouseRoomRoom : HeatingSystemHeatSystemHeatSysHouseRoomRoom( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
heatingSystemHeatSystemHeatSysHouseController : HeatingSystemHeatSystemHeatSysHouseController( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysHouseControllerController : HeatingSystemHeatSystemHeatSysHouseControllerController( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerController );
heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn );
heatingSystemHeatSystemHeatSysHouse : HeatingSystemHeatSystemHeatSysHouse( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal : HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysFurnaceFurnace );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem_Machine : HeatingSystemHeatSystem_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystem.state = HeatSystem_heatSys )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoom.state = HeatSystemHeatSysHouseRoom_room )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseController.state = HeatSystemHeatSysHouseController_Controller )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct )
-- This file is generated from EnhancedBitCounter.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smCounterBit1Bit1 , _smCounterBit2Bit2 , _smCounterStatusStatus , _smCounterStatusStatusCountingBit3Bit3 , _smCounterStatusStatusCountingBit4Bit4 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_stable , Sm_Counter };
event : { ev_reset , ev_e0 , ev_e1 , ev_e2 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_reset | event = ev_e1 | event = ev_e0 | event = ev_e2 );
t1 := event = ev_e0 & state = Sm_stable;
t2 := event = ev_e1 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit11;
t3 := event = ev_e2 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit12;
t4 := event = ev_e1 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit21;
t5 := event = ev_e2 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit22;
t6 := event = ev_reset & _smCounterStatusStatus.state = SmCounterStatusStatus_Max;
t7 := event = ev_e1 & _smCounterStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusCountingBit3Bit3_Bit31;
t8 := event = ev_e2 & _smCounterStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusCountingBit4Bit4_Bit41;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_stable;
next( state ) := case
t1 | t2 | t6 | t7 | t3 | t4 | t8 | t5 : Sm_Counter;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_reset , ev_e0 , ev_e1 , ev_e2 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmCounterBit1Bit1 --
MODULE ASmCounterBit1Bit1 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterBit1Bit1_Bit11 , SmCounterBit1Bit1_Bit12 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t5 : null;
_sm.t3 : SmCounterBit1Bit1_Bit11;
_sm.t2 : SmCounterBit1Bit1_Bit12;
_sm.state = Sm_Counter & state = null : SmCounterBit1Bit1_Bit11;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterBit2Bit2 --
MODULE ASmCounterBit2Bit2 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterBit2Bit2_Bit21 , SmCounterBit2Bit2_Bit22 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t5 : null;
_sm.t4 : SmCounterBit2Bit2_Bit22;
_sm.state = Sm_Counter & state = null : SmCounterBit2Bit2_Bit21;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterStatusStatus --
MODULE ASmCounterStatusStatus ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterStatusStatus_Counting , SmCounterStatusStatus_Max , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 : null;
_sm.t8 | _sm.t6 | _sm.t7 : SmCounterStatusStatus_Counting;
_sm.t5 : SmCounterStatusStatus_Max;
_sm.state = Sm_Counter & state = null : SmCounterStatusStatus_Counting;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterStatusStatusCountingBit3Bit3 --
MODULE ASmCounterStatusStatusCountingBit3Bit3 ( _sm , _smCounterStatusStatus )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterStatusStatusCountingBit3Bit3_Bit31 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t7 : null;
_sm.t8 : SmCounterStatusStatusCountingBit3Bit3_Bit31;
_smCounterStatusStatus.state = SmCounterStatusStatus_Counting & state = null : SmCounterStatusStatusCountingBit3Bit3_Bit31;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterStatusStatusCountingBit4Bit4 --
MODULE ASmCounterStatusStatusCountingBit4Bit4 ( _sm , _smCounterStatusStatus )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterStatusStatusCountingBit4Bit4_Bit41 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t8 : null;
_sm.t7 : SmCounterStatusStatusCountingBit4Bit4_Bit41;
_smCounterStatusStatus.state = SmCounterStatusStatus_Counting & state = null : SmCounterStatusStatusCountingBit4Bit4_Bit41;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmCounterBit1Bit1 , aSmCounterBit2Bit2 , aSmCounterStatusStatus , aSmCounterStatusStatusCountingBit3Bit3 , aSmCounterStatusStatusCountingBit4Bit4 );
aSmCounterBit1Bit1 : ASmCounterBit1Bit1( aSm );
aSmCounterBit2Bit2 : ASmCounterBit2Bit2( aSm );
aSmCounterStatusStatus : ASmCounterStatusStatus( aSm );
aSmCounterStatusStatusCountingBit3Bit3 : ASmCounterStatusStatusCountingBit3Bit3( aSm , aSmCounterStatusStatus );
aSmCounterStatusStatusCountingBit4Bit4 : ASmCounterStatusStatusCountingBit4Bit4( aSm , aSmCounterStatusStatus );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t3 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Max & aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit11 ) )
INVARSPEC ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t8 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Max & aSm_Machine.aSmCounterStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusCountingBit3Bit3_Bit31 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_stable )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_Counter )
CTLSPEC EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit11 )
CTLSPEC EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit12 )
CTLSPEC EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit21 )
CTLSPEC EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit22 )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Counting )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Max )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusCountingBit3Bit3_Bit31 )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusCountingBit4Bit4_Bit41 )
-- This file is generated from RoomHeatingSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for HeatControlSystemSm --
MODULE HeatControlSystemSm ( _smHeatingSystemHouseRoom , _smHeatingSystemHouseRoomRoom , _smHeatingSystemHouseRoomRoomNoHeatReq , _smHeatingSystemHouseRoomRoomHeatReq , _smHeatingSystemHouseController , _smHeatingSystemHouseControllerController , _smHeatingSystemHouseControllerControllerControllerOn , _smHeatingSystemHouseControllerControllerControllerOnHeaterActive , _smHeatingSystemHouse , _smHeatingSystemFurnaceFurnace , _smHeatingSystemFurnaceFurnaceFurnaceNormal )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_heatingSystem , null };
event : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault , ev_null };
furnaceStartUpTime : integer;
furnaceTimer : integer;
setTemp : integer;
actualTemp : integer;
waitedForWarm : integer;
warmUpTimer : integer;
valvePos : integer;
waitedForCool : integer;
coolDownTimer : integer;
furnaceRunning : boolean;
activate : boolean;
deactivate : boolean;
requestHeat : boolean;
furnaceReset : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_heatSwitchOff | event = ev_userReset | event = ev_heatSwitchOn | event = ev___autotransition__ | event = ev_furnaceFault );
t1 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & g1;
t2 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g2;
t3 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g3;
t4 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g4;
t5 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g5;
t6 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat & g6;
t7 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g7;
t8 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g8;
t9 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g9;
t10 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g10;
t11 := event = ev_heatSwitchOn & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_off;
t12 := event = ev_heatSwitchOff & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn;
t13 := event = ev_furnaceFault & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn;
t14 := event = ev_userReset & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_error;
t15 := event = ev___autotransition__ & _smHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_idle & g11;
t16 := event = ev___autotransition__ & _smHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_heaterActive & g12;
t17 := event = ev___autotransition__ & _smHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater & g13;
t18 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormal;
t19 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceErr & g14;
t20 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & g15;
t21 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g16;
t22 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g17;
t23 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g18;
t24 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun & g16;
g1 := (setTemp - actualTemp) > 2;
g2 := waitedForWarm < warmUpTimer;
g3 := (valvePos != 2) & (waitedForWarm = warmUpTimer);
g4 := ((setTemp - actualTemp) <= 2);
g5 := (waitedForWarm = warmUpTimer) & (valvePos = 2) & ((setTemp - actualTemp) > 2);
g6 := (actualTemp - setTemp) > 2;
g7 := (valvePos != 0) & (coolDownTimer = waitedForCool);
g8 := (valvePos = 0) & (coolDownTimer = waitedForCool) & ((actualTemp - setTemp) > 2);
g9 := waitedForCool < coolDownTimer;
g10 := ((actualTemp - setTemp) <= 2);
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceRunning = TRUE;
g14 := furnaceReset = TRUE;
g15 := activate = TRUE;
g16 := deactivate = TRUE;
g17 := furnaceStartUpTime < furnaceTimer;
g18 := furnaceStartUpTime = furnaceTimer;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_heatingSystem;
next( state ) := case
t8 | t1 | t3 | t10 | t7 | t12 | t11 | t15 | t13 | t21 | t20 | t23 | t4 | t2 | t5 | t6 | t9 | t14 | t16 | t17 | t19 | t24 | t22 | t18 : Sm_heatingSystem;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "furnaceStartUpTime" of this NuSMV module --
ASSIGN
init( furnaceStartUpTime ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "setTemp" of this NuSMV module --
ASSIGN
init( setTemp ) := 0;
-- This part defines logic for the assignment of values to state variable "actualTemp" of this NuSMV module --
ASSIGN
init( actualTemp ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceRunning" of this NuSMV module --
ASSIGN
init( furnaceRunning ) := FALSE;
-- This part defines logic for the assignment of values to state variable "activate" of this NuSMV module --
ASSIGN
init( activate ) := FALSE;
-- This part defines logic for the assignment of values to state variable "deactivate" of this NuSMV module --
ASSIGN
init( deactivate ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceReset" of this NuSMV module --
ASSIGN
init( furnaceReset ) := FALSE;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoom --
MODULE HeatControlSystemSmHeatingSystemHouseRoom ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseRoom_room , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t8 | _sm.t1 | _sm.t3 | _sm.t10 | _sm.t7 | _sm.t4 | _sm.t2 | _sm.t5 | _sm.t6 | _sm.t9 : SmHeatingSystemHouseRoom_room;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemHouseRoom_room;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoomRoom --
MODULE HeatControlSystemSmHeatingSystemHouseRoomRoom ( _sm , _smHeatingSystemHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseRoomRoom_noHeatReq , SmHeatingSystemHouseRoomRoom_heatReq , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t2 | _sm.t8 | _sm.t1 | _sm.t3 : SmHeatingSystemHouseRoomRoom_noHeatReq;
_sm.t10 | _sm.t7 | _sm.t5 | _sm.t6 | _sm.t9 : SmHeatingSystemHouseRoomRoom_heatReq;
_smHeatingSystemHouse.state = SmHeatingSystemHouse_house & state = null : SmHeatingSystemHouseRoomRoom_noHeatReq;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq --
MODULE HeatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq ( _sm , _smHeatingSystemHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat , SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t5 | _sm.t7 | _sm.t9 | _sm.t6 | _sm.t8 | _sm.t10 : null;
_sm.t4 : SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
_sm.t2 | _sm.t1 | _sm.t3 : SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat;
_smHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq & state = null : SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoomRoomHeatReq --
MODULE HeatControlSystemSmHeatingSystemHouseRoomRoomHeatReq ( _sm , _smHeatingSystemHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseRoomRoomHeatReq_idleHeat , SmHeatingSystemHouseRoomRoomHeatReq_waitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t3 | _sm.t5 | _sm.t2 | _sm.t4 | _sm.t8 : null;
_sm.t10 : SmHeatingSystemHouseRoomRoomHeatReq_idleHeat;
_sm.t7 | _sm.t6 | _sm.t9 : SmHeatingSystemHouseRoomRoomHeatReq_waitForCool;
_smHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq & state = null : SmHeatingSystemHouseRoomRoomHeatReq_idleHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseController --
MODULE HeatControlSystemSmHeatingSystemHouseController ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseController_controller , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t14 | _sm.t16 | _sm.t17 | _sm.t12 | _sm.t11 | _sm.t15 | _sm.t13 : SmHeatingSystemHouseController_controller;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemHouseController_controller;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseControllerController --
MODULE HeatControlSystemSmHeatingSystemHouseControllerController ( _sm , _smHeatingSystemHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseControllerController_off , SmHeatingSystemHouseControllerController_controllerOn , SmHeatingSystemHouseControllerController_error , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t12 | _sm.t14 : SmHeatingSystemHouseControllerController_off;
_sm.t11 | _sm.t15 | _sm.t16 | _sm.t17 : SmHeatingSystemHouseControllerController_controllerOn;
_sm.t13 : SmHeatingSystemHouseControllerController_error;
_smHeatingSystemHouse.state = SmHeatingSystemHouse_house & state = null : SmHeatingSystemHouseControllerController_off;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOn --
MODULE HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOn ( _sm , _smHeatingSystemHouseControllerController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseControllerControllerControllerOn_idle , SmHeatingSystemHouseControllerControllerControllerOn_heaterActive , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t11 | _sm.t13 | _sm.t12 | _sm.t14 : null;
_sm.t16 : SmHeatingSystemHouseControllerControllerControllerOn_idle;
_sm.t15 | _sm.t17 : SmHeatingSystemHouseControllerControllerControllerOn_heaterActive;
_smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn & state = null : SmHeatingSystemHouseControllerControllerControllerOn_idle;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive --
MODULE HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive ( _sm , _smHeatingSystemHouseControllerControllerControllerOn )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater , SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t15 | _sm.t12 | _sm.t16 | _sm.t13 : null;
_sm.t17 : SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun;
_smHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_heaterActive & state = null : SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouse --
MODULE HeatControlSystemSmHeatingSystemHouse ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemHouse_house , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t2 | _sm.t5 | _sm.t6 | _sm.t9 | _sm.t14 | _sm.t16 | _sm.t17 | _sm.t8 | _sm.t1 | _sm.t3 | _sm.t10 | _sm.t7 | _sm.t12 | _sm.t11 | _sm.t15 | _sm.t13 : SmHeatingSystemHouse_house;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemHouse_house;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemFurnaceFurnace --
MODULE HeatControlSystemSmHeatingSystemFurnaceFurnace ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemFurnaceFurnace_furnaceNormal , SmHeatingSystemFurnaceFurnace_furnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t19 | _sm.t24 | _sm.t22 | _sm.t21 | _sm.t20 | _sm.t23 : SmHeatingSystemFurnaceFurnace_furnaceNormal;
_sm.t18 : SmHeatingSystemFurnaceFurnace_furnaceErr;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemFurnaceFurnace_furnaceNormal;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal --
MODULE HeatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal ( _sm , _smHeatingSystemFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff , SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct , SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t18 | _sm.t19 : null;
_sm.t21 | _sm.t24 : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
_sm.t20 | _sm.t22 : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct;
_sm.t23 : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun;
_smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormal & state = null : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm_Machine --
MODULE HeatControlSystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatControlSystemSm : HeatControlSystemSm( heatControlSystemSmHeatingSystemHouseRoom , heatControlSystemSmHeatingSystemHouseRoomRoom , heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq , heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq , heatControlSystemSmHeatingSystemHouseController , heatControlSystemSmHeatingSystemHouseControllerController , heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn , heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive , heatControlSystemSmHeatingSystemHouse , heatControlSystemSmHeatingSystemFurnaceFurnace , heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal );
heatControlSystemSmHeatingSystemHouseRoom : HeatControlSystemSmHeatingSystemHouseRoom( heatControlSystemSm );
heatControlSystemSmHeatingSystemHouseRoomRoom : HeatControlSystemSmHeatingSystemHouseRoomRoom( heatControlSystemSm , heatControlSystemSmHeatingSystemHouse );
heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq : HeatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseRoomRoom );
heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq : HeatControlSystemSmHeatingSystemHouseRoomRoomHeatReq( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseRoomRoom );
heatControlSystemSmHeatingSystemHouseController : HeatControlSystemSmHeatingSystemHouseController( heatControlSystemSm );
heatControlSystemSmHeatingSystemHouseControllerController : HeatControlSystemSmHeatingSystemHouseControllerController( heatControlSystemSm , heatControlSystemSmHeatingSystemHouse );
heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn : HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOn( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseControllerController );
heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive : HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn );
heatControlSystemSmHeatingSystemHouse : HeatControlSystemSmHeatingSystemHouse( heatControlSystemSm );
heatControlSystemSmHeatingSystemFurnaceFurnace : HeatControlSystemSmHeatingSystemFurnaceFurnace( heatControlSystemSm );
heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal : HeatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal( heatControlSystemSm , heatControlSystemSmHeatingSystemFurnaceFurnace );
-- This defines a NuSMV module for HeatControlSystemSm1 --
MODULE HeatControlSystemSm1 ( _sm1HeatingSystemHouseRoom , _sm1HeatingSystemHouseRoomRoom , _sm1HeatingSystemHouseRoomRoomNoHeatReq , _sm1HeatingSystemHouseRoomRoomHeatReq , _sm1HeatingSystemHouseController , _sm1HeatingSystemHouseControllerController , _sm1HeatingSystemHouseControllerControllerControllerOn , _sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive , _sm1HeatingSystemHouse , _sm1HeatingSystemFurnaceFurnace , _sm1HeatingSystemFurnaceFurnaceFurnaceNormal )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1_heatingSystem , null };
event : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault , ev_null };
furnaceStartUpTime : integer;
furnaceTimer : integer;
setTemp : integer;
actualTemp : integer;
waitedForWarm : integer;
warmUpTimer : integer;
valvePos : integer;
waitedForCool : integer;
coolDownTimer : integer;
furnaceRunning : boolean;
activate : boolean;
deactivate : boolean;
requestHeat : boolean;
furnaceReset : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm1_stable := !( event = ev_heatSwitchOff | event = ev_userReset | event = ev_heatSwitchOn | event = ev___autotransition__ | event = ev_furnaceFault );
t1 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & g1;
t2 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g2;
t3 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g3;
t4 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g4;
t5 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g5;
t6 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat & g6;
t7 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g7;
t8 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g8;
t9 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g9;
t10 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g10;
t11 := event = ev_heatSwitchOn & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_off;
t12 := event = ev_heatSwitchOff & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn;
t13 := event = ev_furnaceFault & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn;
t14 := event = ev_userReset & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_error;
t15 := event = ev___autotransition__ & _sm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_idle & g11;
t16 := event = ev___autotransition__ & _sm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive & g12;
t17 := event = ev___autotransition__ & _sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater & g13;
t18 := event = ev_furnaceFault & _sm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceNormal;
t19 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceErr & g14;
t20 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & g15;
t21 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g16;
t22 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g17;
t23 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g18;
t24 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun & g16;
g1 := (setTemp - actualTemp) > 2;
g2 := waitedForWarm < warmUpTimer;
g3 := (valvePos != 2) & (waitedForWarm = warmUpTimer);
g4 := ((setTemp - actualTemp) <= 2);
g5 := (waitedForWarm = warmUpTimer) & (valvePos = 2) & ((setTemp - actualTemp) > 2);
g6 := (actualTemp - setTemp) > 2;
g7 := (valvePos != 0) & (coolDownTimer = waitedForCool);
g8 := (valvePos = 0) & (coolDownTimer = waitedForCool) & ((actualTemp - setTemp) > 2);
g9 := waitedForCool < coolDownTimer;
g10 := ((actualTemp - setTemp) <= 2);
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceRunning = TRUE;
g14 := furnaceReset = TRUE;
g15 := activate = TRUE;
g16 := deactivate = TRUE;
g17 := furnaceStartUpTime < furnaceTimer;
g18 := furnaceStartUpTime = furnaceTimer;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm1_heatingSystem;
next( state ) := case
t8 | t1 | t3 | t10 | t7 | t12 | t11 | t15 | t13 | t21 | t20 | t23 | t4 | t2 | t5 | t6 | t9 | t14 | t16 | t17 | t19 | t24 | t22 | t18 : Sm1_heatingSystem;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm1_stable : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "furnaceStartUpTime" of this NuSMV module --
ASSIGN
init( furnaceStartUpTime ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "setTemp" of this NuSMV module --
ASSIGN
init( setTemp ) := 0;
-- This part defines logic for the assignment of values to state variable "actualTemp" of this NuSMV module --
ASSIGN
init( actualTemp ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceRunning" of this NuSMV module --
ASSIGN
init( furnaceRunning ) := FALSE;
-- This part defines logic for the assignment of values to state variable "activate" of this NuSMV module --
ASSIGN
init( activate ) := FALSE;
-- This part defines logic for the assignment of values to state variable "deactivate" of this NuSMV module --
ASSIGN
init( deactivate ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceReset" of this NuSMV module --
ASSIGN
init( furnaceReset ) := FALSE;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoom --
MODULE HeatControlSystemSm1HeatingSystemHouseRoom ( _sm1 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseRoom_room , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t8 | _sm1.t1 | _sm1.t3 | _sm1.t10 | _sm1.t7 | _sm1.t4 | _sm1.t2 | _sm1.t5 | _sm1.t6 | _sm1.t9 : Sm1HeatingSystemHouseRoom_room;
_sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemHouseRoom_room;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoomRoom --
MODULE HeatControlSystemSm1HeatingSystemHouseRoomRoom ( _sm1 , _sm1HeatingSystemHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseRoomRoom_noHeatReq , Sm1HeatingSystemHouseRoomRoom_heatReq , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t4 | _sm1.t2 | _sm1.t8 | _sm1.t1 | _sm1.t3 : Sm1HeatingSystemHouseRoomRoom_noHeatReq;
_sm1.t10 | _sm1.t7 | _sm1.t5 | _sm1.t6 | _sm1.t9 : Sm1HeatingSystemHouseRoomRoom_heatReq;
_sm1HeatingSystemHouse.state = Sm1HeatingSystemHouse_house & state = null : Sm1HeatingSystemHouseRoomRoom_noHeatReq;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq --
MODULE HeatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq ( _sm1 , _sm1HeatingSystemHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat , Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t5 | _sm1.t7 | _sm1.t9 | _sm1.t6 | _sm1.t8 | _sm1.t10 : null;
_sm1.t4 : Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
_sm1.t2 | _sm1.t1 | _sm1.t3 : Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat;
_sm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq & state = null : Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq --
MODULE HeatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq ( _sm1 , _sm1HeatingSystemHouseRoomRoom )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat , Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t1 | _sm1.t3 | _sm1.t5 | _sm1.t2 | _sm1.t4 | _sm1.t8 : null;
_sm1.t10 : Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat;
_sm1.t7 | _sm1.t6 | _sm1.t9 : Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool;
_sm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq & state = null : Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseController --
MODULE HeatControlSystemSm1HeatingSystemHouseController ( _sm1 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseController_controller , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t14 | _sm1.t16 | _sm1.t17 | _sm1.t12 | _sm1.t11 | _sm1.t15 | _sm1.t13 : Sm1HeatingSystemHouseController_controller;
_sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemHouseController_controller;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseControllerController --
MODULE HeatControlSystemSm1HeatingSystemHouseControllerController ( _sm1 , _sm1HeatingSystemHouse )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseControllerController_off , Sm1HeatingSystemHouseControllerController_controllerOn , Sm1HeatingSystemHouseControllerController_error , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t12 | _sm1.t14 : Sm1HeatingSystemHouseControllerController_off;
_sm1.t11 | _sm1.t15 | _sm1.t16 | _sm1.t17 : Sm1HeatingSystemHouseControllerController_controllerOn;
_sm1.t13 : Sm1HeatingSystemHouseControllerController_error;
_sm1HeatingSystemHouse.state = Sm1HeatingSystemHouse_house & state = null : Sm1HeatingSystemHouseControllerController_off;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn --
MODULE HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn ( _sm1 , _sm1HeatingSystemHouseControllerController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseControllerControllerControllerOn_idle , Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t11 | _sm1.t13 | _sm1.t12 | _sm1.t14 : null;
_sm1.t16 : Sm1HeatingSystemHouseControllerControllerControllerOn_idle;
_sm1.t15 | _sm1.t17 : Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive;
_sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn & state = null : Sm1HeatingSystemHouseControllerControllerControllerOn_idle;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive --
MODULE HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive ( _sm1 , _sm1HeatingSystemHouseControllerControllerControllerOn )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater , Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t15 | _sm1.t12 | _sm1.t16 | _sm1.t13 : null;
_sm1.t17 : Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun;
_sm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive & state = null : Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouse --
MODULE HeatControlSystemSm1HeatingSystemHouse ( _sm1 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemHouse_house , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t4 | _sm1.t2 | _sm1.t5 | _sm1.t6 | _sm1.t9 | _sm1.t14 | _sm1.t16 | _sm1.t17 | _sm1.t8 | _sm1.t1 | _sm1.t3 | _sm1.t10 | _sm1.t7 | _sm1.t12 | _sm1.t11 | _sm1.t15 | _sm1.t13 : Sm1HeatingSystemHouse_house;
_sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemHouse_house;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemFurnaceFurnace --
MODULE HeatControlSystemSm1HeatingSystemFurnaceFurnace ( _sm1 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemFurnaceFurnace_furnaceNormal , Sm1HeatingSystemFurnaceFurnace_furnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t19 | _sm1.t24 | _sm1.t22 | _sm1.t21 | _sm1.t20 | _sm1.t23 : Sm1HeatingSystemFurnaceFurnace_furnaceNormal;
_sm1.t18 : Sm1HeatingSystemFurnaceFurnace_furnaceErr;
_sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemFurnaceFurnace_furnaceNormal;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal --
MODULE HeatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal ( _sm1 , _sm1HeatingSystemFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff , Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct , Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm1.t18 | _sm1.t19 : null;
_sm1.t21 | _sm1.t24 : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
_sm1.t20 | _sm1.t22 : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct;
_sm1.t23 : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun;
_sm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceNormal & state = null : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm1_Machine --
MODULE HeatControlSystemSm1_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatControlSystemSm1 : HeatControlSystemSm1( heatControlSystemSm1HeatingSystemHouseRoom , heatControlSystemSm1HeatingSystemHouseRoomRoom , heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq , heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq , heatControlSystemSm1HeatingSystemHouseController , heatControlSystemSm1HeatingSystemHouseControllerController , heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn , heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive , heatControlSystemSm1HeatingSystemHouse , heatControlSystemSm1HeatingSystemFurnaceFurnace , heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal );
heatControlSystemSm1HeatingSystemHouseRoom : HeatControlSystemSm1HeatingSystemHouseRoom( heatControlSystemSm1 );
heatControlSystemSm1HeatingSystemHouseRoomRoom : HeatControlSystemSm1HeatingSystemHouseRoomRoom( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouse );
heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq : HeatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseRoomRoom );
heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq : HeatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseRoomRoom );
heatControlSystemSm1HeatingSystemHouseController : HeatControlSystemSm1HeatingSystemHouseController( heatControlSystemSm1 );
heatControlSystemSm1HeatingSystemHouseControllerController : HeatControlSystemSm1HeatingSystemHouseControllerController( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouse );
heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn : HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseControllerController );
heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive : HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn );
heatControlSystemSm1HeatingSystemHouse : HeatControlSystemSm1HeatingSystemHouse( heatControlSystemSm1 );
heatControlSystemSm1HeatingSystemFurnaceFurnace : HeatControlSystemSm1HeatingSystemFurnaceFurnace( heatControlSystemSm1 );
heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal : HeatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemFurnaceFurnace );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
heatControlSystemSm_Machine : HeatControlSystemSm_Machine;
heatControlSystemSm1_Machine : HeatControlSystemSm1_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t4 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t8 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t9 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t9 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t16 & heatControlSystemSm_Machine.heatControlSystemSm.t17 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_idle & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t21 & heatControlSystemSm_Machine.heatControlSystemSm.t22 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t21 & heatControlSystemSm_Machine.heatControlSystemSm.t23 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t22 & heatControlSystemSm_Machine.heatControlSystemSm.t23 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t2 & heatControlSystemSm1_Machine.heatControlSystemSm1.t4 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t2 & heatControlSystemSm1_Machine.heatControlSystemSm1.t5 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t3 & heatControlSystemSm1_Machine.heatControlSystemSm1.t4 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t3 & heatControlSystemSm1_Machine.heatControlSystemSm1.t5 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t4 & heatControlSystemSm1_Machine.heatControlSystemSm1.t5 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t7 & heatControlSystemSm1_Machine.heatControlSystemSm1.t8 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t7 & heatControlSystemSm1_Machine.heatControlSystemSm1.t10 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t8 & heatControlSystemSm1_Machine.heatControlSystemSm1.t9 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t8 & heatControlSystemSm1_Machine.heatControlSystemSm1.t10 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t9 & heatControlSystemSm1_Machine.heatControlSystemSm1.t10 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t16 & heatControlSystemSm1_Machine.heatControlSystemSm1.t17 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_idle & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t21 & heatControlSystemSm1_Machine.heatControlSystemSm1.t22 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t21 & heatControlSystemSm1_Machine.heatControlSystemSm1.t23 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
INVARSPEC ( heatControlSystemSm1_Machine.heatControlSystemSm1.t22 & heatControlSystemSm1_Machine.heatControlSystemSm1.t23 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSm.state = Sm_heatingSystem )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoom.state = SmHeatingSystemHouseRoom_room )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseController.state = SmHeatingSystemHouseController_controller )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_off )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_error )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_idle )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_heaterActive )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouse.state = SmHeatingSystemHouse_house )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormal )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceErr )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1.state = Sm1_heatingSystem )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoom.state = Sm1HeatingSystemHouseRoom_room )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseController.state = Sm1HeatingSystemHouseController_controller )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_off )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_error )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_idle )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouse.state = Sm1HeatingSystemHouse_house )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceNormal )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceErr )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct )
CTLSPEC EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun )
-- This file is generated from CarTransmission.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CarTransmissionState --
MODULE CarTransmissionState ( _stateDrive )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_neutral , State_reverse , State_drive };
event : { ev_selectDrive , ev_selectFirst , ev_selectNeutral , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , ev_dropBelowSecondSpeed , ev_selectReverse , ev_dropBelowThirdSpeed , ev_null };
driveSelected : boolean;
notdriveSelected : boolean;
a : integer;
b : integer;
c : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_selectFirst | event = ev_reachSecondSpeed | event = ev_reachThirdSpeed | event = ev_selectReverse | event = ev_selectDrive | event = ev_selectNeutral | event = ev_selectSecond | event = ev_dropBelowSecondSpeed | event = ev_dropBelowThirdSpeed );
t1 := event = ev_selectReverse & state = State_neutral;
t2 := event = ev_selectDrive & state = State_neutral;
t3 := event = ev_selectFirst & state = State_neutral;
t4 := event = ev_selectSecond & state = State_neutral;
t5 := event = ev_selectNeutral & state = State_reverse;
t6 := event = ev_selectNeutral & state = State_drive;
t7 := event = ev_selectFirst & state = State_drive;
t8 := event = ev_selectSecond & state = State_drive;
t9 := event = ev_reachSecondSpeed & _stateDrive.state = StateDrive_first & g1;
t10 := event = ev_reachThirdSpeed & _stateDrive.state = StateDrive_second & g2;
t11 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g3;
t12 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g4;
t13 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g5;
t14 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g6;
t15 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g7;
t16 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g8;
t17 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g9;
t18 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g10;
t19 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g11;
t20 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g12;
t21 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g13;
t22 := event = ev_dropBelowThirdSpeed & _stateDrive.state = StateDrive_third & g13;
t23 := event = ev_dropBelowThirdSpeed & _stateDrive.state = StateDrive_third;
g1 := driveSelected;
g2 := !driveSelected;
g3 := ((a > b) | (driveSelected & ((b < a) | (c >= b))));
g4 := ((a + c) > b);
g5 := (a - c) > b;
g6 := (a - c) > (b + 2);
g7 := (a - c) > (b * 2);
g8 := ((a - c) > (b * 2)) & driveSelected;
g9 := ((a - c) > (b * 2)) | ((a - c) > (b * 2));
g10 := ((a - c) > (b * 2)) | ((a - c) > (b^2));
g11 := ((a - c) > (b * 2)) | driveSelected;
g12 := ((a - c) > (b * 2)) != ((a - c) > (b^2));
g13 := ((a - c) > (b * 2)) = ((a - c) > (b^2));
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_neutral;
next( state ) := case
t5 | t6 : State_neutral;
t1 : State_reverse;
t2 | t7 | t12 | t14 | t16 | t18 | t20 | t4 | t9 | t23 | t3 | t11 | t13 | t15 | t17 | t19 | t21 | t8 | t22 | t10 : State_drive;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_selectDrive , ev_selectFirst , ev_selectNeutral , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , ev_dropBelowSecondSpeed , ev_selectReverse , ev_dropBelowThirdSpeed };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "driveSelected" of this NuSMV module --
ASSIGN
init( driveSelected ) := FALSE;
-- This part defines logic for the assignment of values to state variable "notdriveSelected" of this NuSMV module --
ASSIGN
init( notdriveSelected ) := FALSE;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 5;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 3;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 2;
-- This defines a NuSMV module for CarTransmissionStateDrive --
MODULE CarTransmissionStateDrive ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateDrive_first , StateDrive_second , StateDrive_third , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t5 | _state.t2 | _state.t6 : null;
_state.t7 | _state.t12 | _state.t14 | _state.t16 | _state.t18 | _state.t20 | _state.t3 | _state.t11 | _state.t13 | _state.t15 | _state.t17 | _state.t19 | _state.t21 : StateDrive_first;
_state.t8 | _state.t22 | _state.t4 | _state.t9 | _state.t23 : StateDrive_second;
_state.t10 : StateDrive_third;
_state.state = State_drive & state = null : StateDrive_first;
TRUE : state;
esac;
-- This defines a NuSMV module for CarTransmissionState_Machine --
MODULE CarTransmissionState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
carTransmissionState : CarTransmissionState( carTransmissionStateDrive );
carTransmissionStateDrive : CarTransmissionStateDrive( carTransmissionState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
carTransmissionState_Machine : CarTransmissionState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_neutral )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_reverse )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_drive )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateDrive.state = StateDrive_first )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateDrive.state = StateDrive_second )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateDrive.state = StateDrive_third )
-- This file is generated from OutgoingTransitionOfConcurrentState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2S21S21 , _smS2S22S22 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e4 & state = Sm_s2;
t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_a;
t4 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_b;
t5 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_b;
t6 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_c;
t7 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_c;
t8 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_d;
t9 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_d;
t10 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_d;
t11 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_e;
t12 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_f;
t13 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_f;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t7 | t2 | t13 : Sm_s1;
t1 | t3 | t4 | t12 | t10 | t5 | t6 | t9 | t8 | t11 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2S21S21 --
MODULE ASmS2S21S21 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S21S21_a , SmS2S21S21_b , SmS2S21S21_c , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t7 | _sm.t2 | _sm.t13 : null;
_sm.t5 : SmS2S21S21_a;
_sm.t3 | _sm.t6 : SmS2S21S21_b;
_sm.t4 : SmS2S21S21_c;
_sm.state = Sm_s2 & state = null : SmS2S21S21_a;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmS2S22S22 --
MODULE ASmS2S22S22 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S22S22_d , SmS2S22S22_e , SmS2S22S22_f , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t7 | _sm.t2 | _sm.t13 : null;
_sm.t9 | _sm.t12 : SmS2S22S22_e;
_sm.t10 | _sm.t8 | _sm.t11 : SmS2S22S22_f;
_sm.state = Sm_s2 & state = null : SmS2S22S22_d;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2S21S21 , aSmS2S22S22 );
aSmS2S21S21 : ASmS2S21S21( aSm );
aSmS2S22S22 : ASmS2S22S22( aSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aSm_Machine.aSm.t7 & aSm_Machine.aSm.t9 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e ) )
INVARSPEC ( aSm_Machine.aSm.t13 & aSm_Machine.aSm.t5 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_b )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_c )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_d )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_f )
-- This file is generated from JavaDataTypes.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ExampleSm --
MODULE ExampleSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
a : integer;
b : integer;
c : real;
d : real;
e : real;
h : boolean;
f : integer;
g : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = Sm_s1 & g1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e3 & state = Sm_s1;
g1 := h = TRUE;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t2 | t1 | t3 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 10;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 20;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 0.566;
-- This part defines logic for the assignment of values to state variable "d" of this NuSMV module --
ASSIGN
init( d ) := 0.566;
-- This part defines logic for the assignment of values to state variable "e" of this NuSMV module --
ASSIGN
init( e ) := 0.566;
-- This part defines logic for the assignment of values to state variable "h" of this NuSMV module --
ASSIGN
init( h ) := FALSE;
-- This part defines logic for the assignment of values to state variable "f" of this NuSMV module --
ASSIGN
init( f ) := 0;
-- This part defines logic for the assignment of values to state variable "g" of this NuSMV module --
ASSIGN
init( g ) := 0;
-- This defines a NuSMV module for ExampleSm_Machine --
MODULE ExampleSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
exampleSm : ExampleSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
exampleSm_Machine : ExampleSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( exampleSm_Machine.exampleSm.state = Sm_s1 )
CTLSPEC EF( exampleSm_Machine.exampleSm.state = Sm_s2 )
-- This file is generated from OutgoingTransitionOfConcurrentStateWithAndCross1.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2S21S21 , _smS2S22S22 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e4 & state = Sm_s2;
t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_a;
t4 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_b;
t5 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_b;
t6 := event = ev_e3 & _smS2S21S21.state = SmS2S21S21_b;
t7 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_c;
t8 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_c;
t9 := event = ev_e5 & _smS2S22S22.state != null;
t10 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_d;
t11 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_d;
t12 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_d;
t13 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_e;
t14 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_f;
t15 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_f;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t2 | t15 | t8 | t9 : Sm_s1;
t5 | t7 | t6 | t14 | t12 | t1 | t3 | t4 | t11 | t10 | t13 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2S21S21 --
MODULE ASmS2S21S21 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S21S21_a , SmS2S21S21_b , SmS2S21S21_c , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t8 | _sm.t15 | _sm.t2 | _sm.t9 | _sm.t6 : null;
_sm.t5 : SmS2S21S21_a;
_sm.t3 | _sm.t7 : SmS2S21S21_b;
_sm.t4 : SmS2S21S21_c;
_sm.state = Sm_s2 & state = null : SmS2S21S21_a;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmS2S22S22 --
MODULE ASmS2S22S22 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S22S22_d , SmS2S22S22_e , SmS2S22S22_f , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t9 | _sm.t1 | _sm.t8 | _sm.t15 : null;
_sm.t11 | _sm.t6 | _sm.t14 : SmS2S22S22_e;
_sm.t12 | _sm.t10 | _sm.t13 : SmS2S22S22_f;
_sm.state = Sm_s2 & state = null : SmS2S22S22_d;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2S21S21 , aSmS2S22S22 );
aSmS2S21S21 : ASmS2S21S21( aSm );
aSmS2S22S22 : ASmS2S22S22( aSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aSm_Machine.aSm.t8 & aSm_Machine.aSm.t11 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e ) )
INVARSPEC ( aSm_Machine.aSm.t15 & aSm_Machine.aSm.t5 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a ) )
INVARSPEC ( aSm_Machine.aSm.t6 & aSm_Machine.aSm.t12 -> next( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_f ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_b )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_c )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_d )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_f )
-- This file is generated from BigStateMachineWithNakedTransition.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BigStateMachineTestSm --
MODULE BigStateMachineTestSm ( _smZxab , _smZxabZx , _smGe )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_Zxab , Sm_D , Sm_Ge };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_Zxab;
t2 := event = ev_e4 & state = Sm_Zxab;
t3 := event = ev_e5 & state = Sm_D;
t4 := event = ev_e2 & state = Sm_D;
t5 := event = ev_e5 & _smZxab.state = SmZxab_Zx;
t6 := event = ev_e5 & _smZxab.state = SmZxab_A;
t7 := event = ev_e3 & _smZxab.state = SmZxab_A;
t8 := event = ev_e3 & _smZxab.state = SmZxab_B;
t9 := event = ev_e3 & _smZxabZx.state = SmZxabZx_Z;
t10 := event = ev_e2 & _smZxabZx.state = SmZxabZx_Z;
t11 := event = ev_e1 & _smGe.state = SmGe_G;
t12 := event = ev_e1 & _smGe.state = SmGe_E;
t13 := event = ev_e2 & _smGe.state = SmGe_E;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_Zxab;
next( state ) := case
t3 | t7 | t9 | t10 | t11 : Sm_Zxab;
t6 : Sm_D;
t2 | t12 | t1 | t8 | t5 | t13 | t4 : Sm_Ge;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BigStateMachineTestSmZxab --
MODULE BigStateMachineTestSmZxab ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmZxab_Zx , SmZxab_A , SmZxab_B , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t4 | _sm.t6 | _sm.t12 | _sm.t2 | _sm.t5 | _sm.t8 | _sm.t13 : null;
_sm.t9 | _sm.t3 : SmZxab_Zx;
_sm.t10 : SmZxab_A;
_sm.t7 | _sm.t11 : SmZxab_B;
_sm.state = Sm_Zxab & state = null : SmZxab_Zx;
TRUE : state;
esac;
-- This defines a NuSMV module for BigStateMachineTestSmZxabZx --
MODULE BigStateMachineTestSmZxabZx ( _sm , _smZxab )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmZxabZx_Z , SmZxabZx_X , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t8 | _sm.t1 | _sm.t5 | _sm.t7 | _sm.t10 | _sm.t2 : null;
_sm.t9 | _sm.t3 : SmZxabZx_X;
_smZxab.state = SmZxab_Zx & state = null : SmZxabZx_Z;
TRUE : state;
esac;
-- This defines a NuSMV module for BigStateMachineTestSmGe --
MODULE BigStateMachineTestSmGe ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmGe_G , SmGe_E , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t6 | _sm.t8 | _sm.t10 | _sm.t3 | _sm.t7 | _sm.t9 | _sm.t11 : null;
_sm.t12 | _sm.t5 | _sm.t13 : SmGe_G;
_sm.t1 | _sm.t4 : SmGe_E;
_sm.state = Sm_Ge & state = null : SmGe_G;
TRUE : state;
esac;
-- This defines a NuSMV module for BigStateMachineTestSm_Machine --
MODULE BigStateMachineTestSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm : BigStateMachineTestSm( bigStateMachineTestSmZxab , bigStateMachineTestSmZxabZx , bigStateMachineTestSmGe );
bigStateMachineTestSmZxab : BigStateMachineTestSmZxab( bigStateMachineTestSm );
bigStateMachineTestSmZxabZx : BigStateMachineTestSmZxabZx( bigStateMachineTestSm , bigStateMachineTestSmZxab );
bigStateMachineTestSmGe : BigStateMachineTestSmGe( bigStateMachineTestSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm_Machine : BigStateMachineTestSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Zxab )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_D )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Ge )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Zx )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_A )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_B )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_Z )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_X )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_G )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_E )
-- This file is generated from concurrentMachineExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ExampleState --
MODULE ExampleState ( _stateS1AA , _stateS1BB , _stateS1BBS24 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_s1 , State_s2 };
event : { ev_e5 , ev_e7 , ev_e11 , ev_e9 , ev_e10 , ev_e1 , ev_e2 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e5 | event = ev_e11 | event = ev_e10 | event = ev_e2 | event = ev_e7 | event = ev_e9 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e2 & _stateS1AA.state = StateS1AA_s11;
t2 := event = ev_e1 & _stateS1AA.state = StateS1AA_s12;
t3 := event = ev_e5 & _stateS1BB.state = StateS1BB_s21;
t4 := event = ev_e7 & _stateS1BB.state = StateS1BB_s22;
t5 := event = ev_e11 & _stateS1BB.state = StateS1BB_s22;
t6 := event = ev_e1 & _stateS1BB.state = StateS1BB_s24;
t7 := event = ev_e3 & _stateS1BB.state = StateS1BB_s24;
t8 := event = ev_e9 & _stateS1BBS24.state = StateS1BBS24_s31;
t9 := event = ev_e10 & _stateS1BBS24.state = StateS1BBS24_s31;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_s1;
next( state ) := case
t4 | t3 | t8 | t1 | t7 | t5 | t9 : State_s1;
t2 | t6 : State_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e7 , ev_e11 , ev_e9 , ev_e10 , ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ExampleStateS1AA --
MODULE ExampleStateS1AA ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateS1AA_s11 , StateS1AA_s12 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t2 | _state.t6 : null;
_state.t1 : StateS1AA_s12;
_state.state = State_s1 & state = null : StateS1AA_s11;
TRUE : state;
esac;
-- This defines a NuSMV module for ExampleStateS1BB --
MODULE ExampleStateS1BB ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateS1BB_s21 , StateS1BB_s22 , StateS1BB_s24 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t2 | _state.t6 : null;
_state.t4 | _state.t7 : StateS1BB_s21;
_state.t3 : StateS1BB_s22;
_state.t8 | _state.t5 | _state.t9 : StateS1BB_s24;
_state.state = State_s1 & state = null : StateS1BB_s21;
TRUE : state;
esac;
-- This defines a NuSMV module for ExampleStateS1BBS24 --
MODULE ExampleStateS1BBS24 ( _state , _stateS1BB )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateS1BBS24_s31 , StateS1BBS24_s32 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t3 | _state.t6 | _state.t4 | _state.t7 : null;
_state.t5 | _state.t8 : StateS1BBS24_s31;
_state.t9 : StateS1BBS24_s32;
_stateS1BB.state = StateS1BB_s24 & state = null : StateS1BBS24_s31;
TRUE : state;
esac;
-- This defines a NuSMV module for ExampleState_Machine --
MODULE ExampleState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
exampleState : ExampleState( exampleStateS1AA , exampleStateS1BB , exampleStateS1BBS24 );
exampleStateS1AA : ExampleStateS1AA( exampleState );
exampleStateS1BB : ExampleStateS1BB( exampleState );
exampleStateS1BBS24 : ExampleStateS1BBS24( exampleState , exampleStateS1BB );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
exampleState_Machine : ExampleState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( exampleState_Machine.exampleState.state = State_s1 )
CTLSPEC EF( exampleState_Machine.exampleState.state = State_s2 )
CTLSPEC EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_s11 )
CTLSPEC EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_s12 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s21 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s22 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s24 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BBS24.state = StateS1BBS24_s31 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BBS24.state = StateS1BBS24_s32 )
-- This file is generated from InputVarTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemSm --
MODULE CruiseControlSystemSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_a , ev_null };
c : integer;
-- This part declares input variables for the given NuSMV module --
IVAR
ayo : integer;
bayo : real;
baro : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_a );
t1 := event = ev_a & state = Sm_s1;
aa := 5;
bb := 5;
cc := 5.00;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_a };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 0;
-- This defines a NuSMV module for CruiseControlSystemSm_Machine --
MODULE CruiseControlSystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm : CruiseControlSystemSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 )
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 )