-- This file is generated from CourseSectionNested.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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.33.0.6934.a386b0a58 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 )