10 6 status : cruise.umple.compiler.State@743b4921[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,4] stateMachine = 2b009051 : 0 cruise.umple.compiler.State@35645453[name:OpenNotEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,26] stateMachine = 2b009051 : 0 cruise.umple.compiler.State@454056b[name:OpenEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[22,35] stateMachine = 2b009051 : 0 cruise.umple.compiler.State@2a882681[name:Cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,16] stateMachine = 2b009051 : 0 cruise.umple.compiler.State@525b999[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,29] stateMachine = 2b009051 : 0 -- This file is generated from CourseSectionNested.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CourseSectionStatus -- MODULE CourseSectionStatus -- 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_cancel & state = Status_OpenNotEnoughStudents; t4 := event = ev_requestToRegister & state = Status_OpenNotEnoughStudents; t5 := event = ev_closeRegistration & 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 t4 | t2 | t8 : Status_OpenNotEnoughStudents; t6 : Status_OpenEnoughStudents; t3 | t11 | t1 | t7 | t5 : 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 ) 9 9 state : cruise.umple.compiler.State@34018757[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 6f21c18f : 2 cruise.umple.compiler.State@34723cfe[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 6f21c18f : 0 state11 : cruise.umple.compiler.State@54c3b0dd[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 6c40ae2d : 0 cruise.umple.compiler.State@d0c3793[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,16] stateMachine = 6c40ae2d : 0 state12 : cruise.umple.compiler.State@283c6f00[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,8] stateMachine = 61b06782 : 0 cruise.umple.compiler.State@8e89c5f[name:state122state1221,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,16] stateMachine = 61b06782 : 0 -- This file is generated from AndCrossExample.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for AState -- MODULE AState ( _stateState1State11State11 , _stateState1State12State12 ) -- 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_state11state111; t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112; t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state11state112; t5 := event = ev_e5 & _stateState1State12State12.state != null; t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121; t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121; t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122state1221; t9 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state122state1221; -- 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 | t6 | t3 | t8 | t4 | 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_state11state111 , StateState1State11State11_state11state112 , null }; -- 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_state11state111; _state.t2 : StateState1State11State11_state11state112; _state.state = State_state1 & state = null : StateState1State11State11_state11state111; 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_state12state121 , StateState1State12State12_state122state1221 , null }; -- 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_state12state121; _state.t6 | _state.t4 | _state.t7 : StateState1State12State12_state122state1221; _state.state = State_state1 & state = null : StateState1State12State12_state12state121; 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_state11state111 ) CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122state1221 ) 24 31 sm : cruise.umple.compiler.State@6d921d6b[name:SingleLaneBridge,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,3] stateMachine = 59464f08 : 9 RedA : cruise.umple.compiler.State@4d8af13c[name:RedAwaitRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,13] stateMachine = 7a0ebc03 : 0 cruise.umple.compiler.State@70a9f6c[name:RedAonRedA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[19,56] stateMachine = 7a0ebc03 : 0 RedB : cruise.umple.compiler.State@6c5fbe8a[name:RedBwaitRedB,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,13] stateMachine = 76c6b12c : 0 cruise.umple.compiler.State@79a7f553[name:RedBonRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[28,56] stateMachine = 76c6b12c : 0 BlueA : cruise.umple.compiler.State@2a85e4f4[name:BlueAwaitBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[38,13] stateMachine = 3b3fa4c0 : 0 cruise.umple.compiler.State@78333d5a[name:BlueAonBlueA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[39,57] stateMachine = 3b3fa4c0 : 0 BlueB : cruise.umple.compiler.State@3ef85262[name:BlueBwaitBlueB,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[47,13] stateMachine = 3b5fa30d : 0 cruise.umple.compiler.State@7d800902[name:BlueBonBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[48,57] stateMachine = 3b5fa30d : 0 BridgeStatus : cruise.umple.compiler.State@1cb83205[name:BridgeStatusempty,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[58,8] stateMachine = 60af08b2 : 0 cruise.umple.compiler.State@26ae9861[name:BridgeStatusoneRed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[59,46] stateMachine = 60af08b2 : 0 cruise.umple.compiler.State@5b1b5daf[name:BridgeStatusoneBlue,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[60,49] stateMachine = 60af08b2 : 0 cruise.umple.compiler.State@66e74d3[name:BridgeStatustwoRed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[64,40] stateMachine = 60af08b2 : 0 cruise.umple.compiler.State@1e1c1634[name:BridgeStatustwoBlue,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[68,43] stateMachine = 60af08b2 : 0 redCoordEnt : cruise.umple.compiler.State@4ca3e806[name:redCoordEntcoordEntRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[82,6] stateMachine = 4d542218 : 0 cruise.umple.compiler.State@38691f8d[name:redCoordEntcoordEntRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[83,18] stateMachine = 4d542218 : 0 redCoordExit : cruise.umple.compiler.State@463a0302[name:redCoordExitcoordExitRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[91,6] stateMachine = 150a201b : 0 cruise.umple.compiler.State@79228440[name:redCoordExitcoordExitRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[92,19] stateMachine = 150a201b : 0 blueCoordEnt : cruise.umple.compiler.State@9c7699e[name:blueCoordEntcoordEntBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[102,6] stateMachine = 1ff359b7 : 0 cruise.umple.compiler.State@5bbda8aa[name:blueCoordEntcoordEntBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[103,19] stateMachine = 1ff359b7 : 0 blueCoordExit : cruise.umple.compiler.State@36d02719[name:blueCoordExitcoordExitBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[111,6] stateMachine = 46933c4 : 0 cruise.umple.compiler.State@1d2ec1f[name:blueCoordExitcoordExitBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[112,20] stateMachine = 46933c4 : 0 -- This file is generated from SingleLaneBridge.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for SystemSm -- MODULE SystemSm ( _smSingleLaneBridgeRedARedA , _smSingleLaneBridgeRedBRedB , _smSingleLaneBridgeBlueABlueA , _smSingleLaneBridgeBlueBBlueB , _smSingleLaneBridgeBridgeStatusBridgeStatus , _smSingleLaneBridgeRedCoordEntRedCoordEnt , _smSingleLaneBridgeRedCoordExitRedCoordExit , _smSingleLaneBridgeBlueCoordEntBlueCoordEnt , _smSingleLaneBridgeBlueCoordExitBlueCoordExit ) -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_SingleLaneBridge , null }; event : { ev_inBlue , ev_exitBlueB , ev_entRedA , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_enterRedB , ev_enterBlueA , ev_outRed , ev_outBlue , ev_exitRedA , ev_inRed , 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_entRedA | event = ev_enterBlueB | event = ev_enterRedA | event = ev_enterBlueA | event = ev_outBlue | event = ev_inRed | event = ev_exitRedB | event = ev_exitBlueB | event = ev_exitBlueA | event = ev_entRedB | event = ev_enterRedB | event = ev_outRed | event = ev_exitRedA | event = ev_entBlueB | event = ev_entBlueA ); t1 := event = ev_enterRedA & _smSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAwaitRedA & g1; t2 := event = ev_exitRedA & _smSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAonRedA; t3 := event = ev_enterRedB & _smSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBwaitRedB & g1; t4 := event = ev_exitRedB & _smSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBonRedB; t5 := event = ev_enterBlueA & _smSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA & g2; t6 := event = ev_exitBlueA & _smSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAonBlueA; t7 := event = ev_enterBlueB & _smSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB & g2; t8 := event = ev_exitBlueB & _smSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB; t9 := event = ev_inRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty; t10 := event = ev_inBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty; t11 := event = ev_outRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed; t12 := event = ev_inRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed; t13 := event = ev_outBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue; t14 := event = ev_inBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue; t15 := event = ev_outRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed; t16 := event = ev_outBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue; t17 := event = ev_entRedA & _smSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA; t18 := event = ev_entRedB & _smSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB; t19 := event = ev_exitRedA & _smSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA; t20 := event = ev_exitRedB & _smSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB; t21 := event = ev_entBlueA & _smSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA; t22 := event = ev_entBlueB & _smSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB; t23 := event = ev_exitBlueA & _smSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA; t24 := event = ev_exitBlueB & _smSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB; 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_exitBlueB , ev_entRedA , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_enterRedB , ev_enterBlueA , ev_outRed , ev_outBlue , ev_exitRedA , ev_inRed , 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 SystemSmSingleLaneBridgeRedARedA -- MODULE SystemSmSingleLaneBridgeRedARedA ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeRedARedA_RedAwaitRedA , SmSingleLaneBridgeRedARedA_RedAonRedA , null }; -- 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 : SmSingleLaneBridgeRedARedA_RedAwaitRedA; _sm.t1 : SmSingleLaneBridgeRedARedA_RedAonRedA; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedARedA_RedAwaitRedA; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeRedBRedB -- MODULE SystemSmSingleLaneBridgeRedBRedB ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeRedBRedB_RedBwaitRedB , SmSingleLaneBridgeRedBRedB_RedBonRedB , null }; -- 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 : SmSingleLaneBridgeRedBRedB_RedBwaitRedB; _sm.t3 : SmSingleLaneBridgeRedBRedB_RedBonRedB; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedBRedB_RedBwaitRedB; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueABlueA -- MODULE SystemSmSingleLaneBridgeBlueABlueA ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA , SmSingleLaneBridgeBlueABlueA_BlueAonBlueA , null }; -- 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 : SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA; _sm.t5 : SmSingleLaneBridgeBlueABlueA_BlueAonBlueA; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueBBlueB -- MODULE SystemSmSingleLaneBridgeBlueBBlueB ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB , SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB , null }; -- 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 : SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB; _sm.t7 : SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeStatusBridgeStatus -- MODULE SystemSmSingleLaneBridgeBridgeStatusBridgeStatus ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue , null }; -- 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 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty; _sm.t9 | _sm.t15 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed; _sm.t10 | _sm.t16 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue; _sm.t12 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed; _sm.t14 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeRedCoordEntRedCoordEnt -- MODULE SystemSmSingleLaneBridgeRedCoordEntRedCoordEnt ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA , SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB , null }; -- 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 : SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA; _sm.t17 : SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeRedCoordExitRedCoordExit -- MODULE SystemSmSingleLaneBridgeRedCoordExitRedCoordExit ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA , SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB , null }; -- 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 : SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA; _sm.t19 : SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt -- MODULE SystemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA , SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB , null }; -- 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 : SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA; _sm.t21 : SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA; TRUE : state; esac; -- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueCoordExitBlueCoordExit -- MODULE SystemSmSingleLaneBridgeBlueCoordExitBlueCoordExit ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA , SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB , null }; -- 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 : SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA; _sm.t23 : SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB; _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA; 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( systemSmSingleLaneBridgeRedARedA , systemSmSingleLaneBridgeRedBRedB , systemSmSingleLaneBridgeBlueABlueA , systemSmSingleLaneBridgeBlueBBlueB , systemSmSingleLaneBridgeBridgeStatusBridgeStatus , systemSmSingleLaneBridgeRedCoordEntRedCoordEnt , systemSmSingleLaneBridgeRedCoordExitRedCoordExit , systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt , systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit ); systemSmSingleLaneBridgeRedARedA : SystemSmSingleLaneBridgeRedARedA( systemSm ); systemSmSingleLaneBridgeRedBRedB : SystemSmSingleLaneBridgeRedBRedB( systemSm ); systemSmSingleLaneBridgeBlueABlueA : SystemSmSingleLaneBridgeBlueABlueA( systemSm ); systemSmSingleLaneBridgeBlueBBlueB : SystemSmSingleLaneBridgeBlueBBlueB( systemSm ); systemSmSingleLaneBridgeBridgeStatusBridgeStatus : SystemSmSingleLaneBridgeBridgeStatusBridgeStatus( systemSm ); systemSmSingleLaneBridgeRedCoordEntRedCoordEnt : SystemSmSingleLaneBridgeRedCoordEntRedCoordEnt( systemSm ); systemSmSingleLaneBridgeRedCoordExitRedCoordExit : SystemSmSingleLaneBridgeRedCoordExitRedCoordExit( systemSm ); systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt : SystemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt( systemSm ); systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit : SystemSmSingleLaneBridgeBlueCoordExitBlueCoordExit( 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.systemSmSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAwaitRedA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAonRedA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBwaitRedB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBonRedB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAonBlueA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA ) CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB ) 18 9 elevator_state_machine : cruise.umple.compiler.State@71d94ab[name:Idle,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,4] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@76c1ede3[name:DoorClosingMovingUp,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,19] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@59e938a4[name:DoorClosingMovingDown,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,21] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@323a47fe[name:Moving,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,34] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@eb9b76c[name:Stopping,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[22,57] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@776eedad[name:DoorOpening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[25,35] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@6752d7fc[name:AtFloor,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[29,23] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@7b7695f[name:DoorClosing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[32,39] stateMachine = 21f3a99c : 0 cruise.umple.compiler.State@4476ac12[name:CheckingNextDestination,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[36,22] stateMachine = 21f3a99c : 0 -- This file is generated from FlatElevator.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ElevatorElevator_state_machine -- MODULE ElevatorElevator_state_machine -- This part declares state variables for the given NuSMV module -- VAR state : { Elevator_state_machine_Idle , Elevator_state_machine_DoorClosingMovingUp , Elevator_state_machine_DoorClosingMovingDown , Elevator_state_machine_Moving , Elevator_state_machine_Stopping , Elevator_state_machine_DoorOpening , Elevator_state_machine_AtFloor , Elevator_state_machine_DoorClosing , Elevator_state_machine_CheckingNextDestination }; event : { ev_stopped , ev_obstruction , ev_upRequest , 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_obstruction | event = ev_doorClosed | event = ev_approachedFloor | event = ev_approachingFloor | event = ev_doorOpeningRequest | event = ev_doorClosingRequest | event = ev_stopped | event = ev_upRequest | 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_doorClosed & state = Elevator_state_machine_DoorClosingMovingUp; t4 := event = ev_started & state = Elevator_state_machine_DoorClosingMovingUp; t5 := event = ev_doorClosed & state = Elevator_state_machine_DoorClosingMovingDown; t6 := event = ev_started & state = Elevator_state_machine_DoorClosingMovingDown; t7 := event = ev_approachingFloor & state = Elevator_state_machine_Moving & g1; t8 := event = ev_approachedFloor & state = Elevator_state_machine_Moving & g2; t9 := event = ev_stopped & state = Elevator_state_machine_Stopping; t10 := event = ev_doorOpened & state = Elevator_state_machine_DoorOpening; t11 := event = ev_timeoutAtFloorToDoorClosing & state = Elevator_state_machine_AtFloor & g3; t12 := event = ev_doorClosingRequest & state = Elevator_state_machine_AtFloor; t13 := event = ev_obstruction & state = Elevator_state_machine_DoorClosing; t14 := event = ev_doorOpeningRequest & state = Elevator_state_machine_DoorClosing; t15 := event = ev_doorClosed & state = Elevator_state_machine_DoorClosing; t16 := event = ev_upRequest & state = Elevator_state_machine_CheckingNextDestination; t17 := event = ev_downRequest & state = Elevator_state_machine_CheckingNextDestination; t18 := event = ev_noRequest & state = Elevator_state_machine_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_DoorClosingMovingUp; t2 | t17 : Elevator_state_machine_DoorClosingMovingDown; t4 | t6 | t3 | t5 | t7 : Elevator_state_machine_Moving; t8 : Elevator_state_machine_Stopping; t13 | t9 | t14 : Elevator_state_machine_DoorOpening; t10 : Elevator_state_machine_AtFloor; t11 | t12 : Elevator_state_machine_DoorClosing; t15 : Elevator_state_machine_CheckingNextDestination; 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_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_machine_Machine -- MODULE ElevatorElevator_state_machine_Machine -- This part declares state variables for the given NuSMV module -- VAR elevatorElevator_state_machine : 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_DoorClosingMovingUp ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorClosingMovingDown ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Moving ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Stopping ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorOpening ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_AtFloor ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorClosing ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_CheckingNextDestination ) 3 3 sm : cruise.umple.compiler.State@2081c267[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 794a3410 : 0 cruise.umple.compiler.State@62a9c857[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,20] stateMachine = 794a3410 : 0 cruise.umple.compiler.State@4dc9de0e[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,20] stateMachine = 794a3410 : 0 -- This file is generated from SingleEventMachine.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for XSm -- MODULE XSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 , Sm_s3 }; event : { ev_e , ev_null }; a : integer; b : integer; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_e ); t1 := event = ev_e & state = Sm_s1 & g1; t2 := event = ev_e & state = Sm_s1 & g2; t3 := event = ev_e & state = Sm_s2 & g2; g1 := a <= b; g2 := a = b; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_s1; next( state ) := case t3 : Sm_s1; t1 : Sm_s2; t2 : Sm_s3; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case sm_stable : { ev_e }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module -- ASSIGN init( a ) := 4; -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module -- ASSIGN init( b ) := 5; -- This defines a NuSMV module for XSm_Machine -- MODULE XSm_Machine -- This part declares state variables for the given NuSMV module -- VAR xSm : XSm; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR xSm_Machine : XSm_Machine; -- The following properties are specified to certify that this model is free of non-determinism. INVARSPEC ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) ) -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( xSm_Machine.xSm.state = Sm_s1 ) CTLSPEC EF( xSm_Machine.xSm.state = Sm_s2 ) CTLSPEC EF( xSm_Machine.xSm.state = Sm_s3 ) 6 8 state : cruise.umple.compiler.State@3bcebb8f[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 1a9ce44 : 2 cruise.umple.compiler.State@2220780d[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 1a9ce44 : 0 state11 : cruise.umple.compiler.State@2991524[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 4cc5c43b : 0 cruise.umple.compiler.State@3d1f809[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,16] stateMachine = 4cc5c43b : 0 state12 : cruise.umple.compiler.State@2290186e[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,8] stateMachine = 686a192d : 0 cruise.umple.compiler.State@aecfc07[name:state12state122,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[19,16] stateMachine = 686a192d : 0 -- This file is generated from AbstractConcurrentSystem.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for AState -- MODULE AState ( _stateState1State11State11 , _stateState1State12State12 ) -- This part declares state variables for the given NuSMV module -- VAR state : { State_state1 , State_state2 }; event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 ); t1 := event = ev_e5 & _stateState1State11State11.state != null; t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state11state111; t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112; t4 := event = ev_e5 & _stateState1State12State12.state != null; t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121; t6 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state12state122; -- 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_state11state111 , StateState1State11State11_state11state112 , null }; -- 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_state11state111; _state.t2 : StateState1State11State11_state11state112; _state.state = State_state1 & state = null : StateState1State11State11_state11state111; 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_state12state121 , StateState1State12State12_state12state122 , null }; -- 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_state12state121; _state.t5 : StateState1State12State12_state12state122; _state.state = State_state1 & state = null : StateState1State12State12_state12state121; 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_state11state111 ) CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state122 ) 3 3 s2 : cruise.umple.compiler.State@418f5f63[name:s2a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 6a225642 : 0 cruise.umple.compiler.State@28023029[name:s2b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,12] stateMachine = 6a225642 : 0 cruise.umple.compiler.State@27165978[name:s1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,12] stateMachine = 6a225642 : 0 -- This file is generated from AbstractMachine.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for MeS2 -- MODULE MeS2 -- This part declares state variables for the given NuSMV module -- VAR state : { S2_s2a , S2_s2b , S2_s1 }; event : { ev_e1 , ev_e3 , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE s2_stable := !( event = ev_e1 | event = ev_e3 ); t1 := event = ev_e1 & state = S2_s2a; t2 := event = ev_e3 & state = S2_s2a; t3 := event = ev_e3 & state = S2_s2b; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := S2_s2a; next( state ) := case t3 : S2_s2a; t2 : S2_s2b; t1 : S2_s1; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case s2_stable : { ev_e1 , ev_e3 }; TRUE : ev_null; esac; -- This defines a NuSMV module for MeS2_Machine -- MODULE MeS2_Machine -- This part declares state variables for the given NuSMV module -- VAR meS2 : MeS2; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR meS2_Machine : MeS2_Machine; -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( meS2_Machine.meS2.state = S2_s2a ) CTLSPEC EF( meS2_Machine.meS2.state = S2_s2b ) CTLSPEC EF( meS2_Machine.meS2.state = S2_s1 ) 52 19 sm : cruise.umple.compiler.State@3c8802cf[name:time,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,4] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@558bff39[name:date,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@7e01d838[name:paused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@2e3334d[name:running,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[22,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@66a5f996[name:lapRunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[28,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@6cddb04c[name:lapPaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[32,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@1c6d65f7[name:bothOff,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@70f446c[name:chimeOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[46,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@4e2f6452[name:bothOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[50,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@4ff1e20b[name:alarmOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[54,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@38c464df[name:alarmTime,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,23] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@45957b8f[name:alarmHour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[64,29] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@70ad9a9b[name:alarmMinute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[63,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@300cdf3f[name:second,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[65,12] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@2b75b77d[name:minute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[80,11] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@4552f89f[name:hour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[85,11] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@59b7cbec[name:month,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[90,11] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@f9402c2[name:day,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[95,11] stateMachine = 68a1906f : 0 cruise.umple.compiler.State@9dc9212[name:year,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[100,11] stateMachine = 68a1906f : 0 -- This file is generated from DigitalWatchFlat.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for DigitalWatchSm -- MODULE DigitalWatchSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_time , Sm_date , Sm_paused , Sm_running , Sm_lapRunning , Sm_lapPaused , Sm_bothOff , Sm_chimeOn , Sm_bothOn , Sm_alarmOn , Sm_alarmTime , Sm_alarmHour , Sm_alarmMinute , Sm_second , Sm_minute , Sm_hour , Sm_month , Sm_day , Sm_year }; event : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 , ev_null }; day : integer; month : integer; year : integer; hour : integer; minute : integer; second : integer; alarmHour : integer; alarmMinute : integer; alarmSecond : integer; timer : integer; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_s3 | event = ev_notS2 | event = ev_s1 | event = ev_s3during2Secs | event = ev_notS1 | event = ev_s2 ); t1 := event = ev_s1 & state = Sm_time; t2 := event = ev_s2 & state = Sm_time; t3 := event = ev_s3 & state = Sm_time; t4 := event = ev_s3during2Secs & state = Sm_time; t5 := event = ev_notS1 & state = Sm_date; t6 := event = ev_s2 & state = Sm_paused; t7 := event = ev_s3 & state = Sm_paused; t8 := event = ev_s1 & state = Sm_paused; t9 := event = ev_s1 & state = Sm_running; t10 := event = ev_s3 & state = Sm_running; t11 := event = ev_s2 & state = Sm_running; t12 := event = ev_s2 & state = Sm_lapRunning; t13 := event = ev_s3 & state = Sm_lapRunning; t14 := event = ev_s1 & 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_s2 & state = Sm_alarmHour; t30 := event = ev_s1 & 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_s2 & state = Sm_second; t36 := event = ev_s3 & state = Sm_second; t37 := event = ev_s1 & state = Sm_second; t38 := event = ev_s2 & state = Sm_minute; t39 := event = ev_s3 & state = Sm_minute; t40 := event = ev_s1 & state = Sm_minute; t41 := event = ev_s2 & state = Sm_hour; t42 := event = ev_s3 & state = Sm_hour; t43 := event = ev_s1 & state = Sm_hour; t44 := event = ev_s2 & state = Sm_month; t45 := event = ev_s3 & state = Sm_month; t46 := event = ev_s1 & state = Sm_month; t47 := event = ev_s2 & state = Sm_day; t48 := event = ev_s3 & state = Sm_day; t49 := event = ev_s1 & 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 t7 | t13 | t18 | t22 | t36 | t42 | t48 | t5 | t10 | t17 | t20 | t25 | t39 | t45 | t52 : Sm_time; t1 : Sm_date; t3 | t9 | t6 | t16 : Sm_paused; t8 | t12 : Sm_running; t11 | t15 : Sm_lapRunning; t14 : Sm_lapPaused; t2 | t24 : Sm_bothOff; t19 : Sm_chimeOn; t21 : Sm_bothOn; t23 : Sm_alarmOn; t4 : Sm_alarmTime; t29 | t27 | t32 : Sm_alarmHour; t30 | t26 | t33 : Sm_alarmMinute; t31 | t35 | t28 | t34 | t50 : Sm_second; t37 | t38 : Sm_minute; t40 | t41 : Sm_hour; t43 | t44 : Sm_month; t46 | t47 : Sm_day; t49 | 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 ) 8 9 state : cruise.umple.compiler.State@3eb814dd[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 58c48b92 : 2 cruise.umple.compiler.State@5d852761[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 58c48b92 : 0 state11 : cruise.umple.compiler.State@106f566b[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 6e8fa647 : 0 cruise.umple.compiler.State@12eb281f[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,16] stateMachine = 6e8fa647 : 0 state12 : cruise.umple.compiler.State@6621ab0c[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[17,8] stateMachine = c1765ad : 0 cruise.umple.compiler.State@1fb947f6[name:state122state1221,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[19,16] stateMachine = c1765ad : 0 -- This file is generated from nestedConcurrentMachine.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for AState -- MODULE AState ( _stateState1State11State11 , _stateState1State12State12 ) -- 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_state11state111; t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112; t4 := event = ev_e5 & _stateState1State12State12.state != null; t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121; t6 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121; t7 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122state1221; t8 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state122state1221; -- 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_state11state111 , StateState1State11State11_state11state112 , null }; -- 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_state11state111; _state.t2 : StateState1State11State11_state11state112; _state.state = State_state1 & state = null : StateState1State11State11_state11state111; 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_state12state121 , StateState1State12State12_state122state1221 , null }; -- 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_state12state121; _state.t5 | _state.t6 : StateState1State12State12_state122state1221; _state.state = State_state1 & state = null : StateState1State12State12_state12state121; 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_state11state111 ) CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122state1221 ) 5 5 sm : cruise.umple.compiler.State@5137526a[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 684138c5 : 0 cruise.umple.compiler.State@6724f10e[name:s21s211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 684138c5 : 0 cruise.umple.compiler.State@5a637c4f[name:s2s22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 684138c5 : 0 -- This file is generated from MultiLevelStateMachineExampleCase2.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ASm -- MODULE ASm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s21s211 , Sm_s2s22 }; 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_s21s211; t4 := event = ev_e3 & state = Sm_s21s211; t5 := event = ev_e1 & state = Sm_s21s211; t6 := event = ev_e2 & state = Sm_s2s22; -- 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 | t6 | t3 | t5 : Sm_s1; t2 : Sm_s21s211; t4 : Sm_s2s22; 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 ASm_Machine -- MODULE ASm_Machine -- This part declares state variables for the given NuSMV module -- VAR aSm : 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_s21s211 ) CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s22 ) 23 11 status : cruise.umple.compiler.State@7511e348[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@1780bc15[name:InProgress,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,27] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@4c2cc99f[name:EvaluationByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,36] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@36dd68f1[name:VerifiedByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[17,18] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@4da929ef[name:SubmittedByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[23,16] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@5fdb445b[name:UnderAdministrativeReview,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[28,25] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@75910e0e[name:UnderExpertReview,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[34,31] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@28566aad[name:AwaitingFinalDecision,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[35,45] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@2c34c819[name:Accepted,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[46,21] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@29c8a858[name:Rejected,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[48,16] stateMachine = 268bb09d : 0 cruise.umple.compiler.State@54543211[name:Withdrawn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,18] stateMachine = 268bb09d : 0 -- This file is generated from GrantApplication.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for GrantApplicationStatus -- MODULE GrantApplicationStatus -- This part declares state variables for the given NuSMV module -- VAR state : { Status_Planned , Status_InProgress , Status_EvaluationByInstitution , Status_VerifiedByInstitution , Status_SubmittedByInstitution , Status_UnderAdministrativeReview , Status_UnderExpertReview , Status_AwaitingFinalDecision , Status_Accepted , Status_Rejected , Status_Withdrawn }; event : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw , ev_null }; adminCheckOk : boolean; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE status_stable := !( event = ev_returnToInstitition | event = ev_submit | event = ev_tryAgain | event = ev_returnToResearcher | event = ev_bypassExpertReviewDueToMinorChanges | event = ev_createApplication | event = ev_reject | event = ev_editByInstitution | event = ev_finalAccept | event = ev_reOpen | event = ev_expertReviewsReturned | event = ev_verified | event = ev_acceptForReview | event = ev_acceptForExpertReview | event = ev_editByResearcher | event = ev_minorRevisionsNeeded | event = ev_researcherDeclaresComplete | event = ev_submissionCheck | event = ev_withdraw ); t1 := event = ev_createApplication & state = Status_Planned; t2 := event = ev_editByResearcher & state = Status_InProgress; t3 := event = ev_researcherDeclaresComplete & state = Status_InProgress; t4 := event = ev_returnToResearcher & state = Status_EvaluationByInstitution; t5 := event = ev_editByInstitution & state = Status_EvaluationByInstitution; t6 := event = ev_verified & state = Status_EvaluationByInstitution; t7 := event = ev_reOpen & state = Status_VerifiedByInstitution; t8 := event = ev_submit & state = Status_VerifiedByInstitution; t9 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g1; t10 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g2; t11 := event = ev_withdraw & state = Status_SubmittedByInstitution; t12 := event = ev_acceptForReview & state = Status_SubmittedByInstitution; t13 := event = ev_returnToInstitition & state = Status_UnderAdministrativeReview; t14 := event = ev_acceptForExpertReview & state = Status_UnderAdministrativeReview; t15 := event = ev_bypassExpertReviewDueToMinorChanges & 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_minorRevisionsNeeded & state = Status_AwaitingFinalDecision; t20 := event = ev_finalAccept & 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 t2 | t22 | t1 | t4 | t23 : Status_InProgress; t3 | t7 | t13 | t5 | t10 | t19 : Status_EvaluationByInstitution; t6 : Status_VerifiedByInstitution; t8 | t9 : Status_SubmittedByInstitution; t12 : Status_UnderAdministrativeReview; t14 : Status_UnderExpertReview; t15 | t17 : Status_AwaitingFinalDecision; t20 : Status_Accepted; t21 : Status_Rejected; t16 | t11 | 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.t9 & grantApplicationStatus_Machine.grantApplicationStatus.t10 -> 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 ) 7 5 status : cruise.umple.compiler.State@6d8dc329[name:Open,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,6] stateMachine = 52d1bb9c : 0 cruise.umple.compiler.State@39c437e9[name:Closing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,33] stateMachine = 52d1bb9c : 0 cruise.umple.compiler.State@7049d079[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,25] stateMachine = 52d1bb9c : 0 cruise.umple.compiler.State@735ed1d2[name:Opening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,30] stateMachine = 52d1bb9c : 0 cruise.umple.compiler.State@2c8c897e[name:HalfOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,30] stateMachine = 52d1bb9c : 0 -- This file is generated from ExampleFile.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for GarageDoorStatus -- MODULE GarageDoorStatus -- This part declares state variables for the given NuSMV module -- VAR state : { Status_Open , Status_Closing , Status_Closed , Status_Opening , Status_HalfOpen }; event : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE status_stable := !( event = ev_reachTop | event = ev_reachBottom | event = ev_buttonOrObstacle ); t1 := event = ev_buttonOrObstacle & state = Status_Open; t2 := event = ev_buttonOrObstacle & state = Status_Closing; t3 := event = ev_reachBottom & state = Status_Closing; t4 := event = ev_buttonOrObstacle & state = Status_Closed; t5 := event = ev_reachTop & state = Status_Opening; t6 := event = ev_buttonOrObstacle & 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 t5 : Status_Open; t1 : Status_Closing; t3 : Status_Closed; t4 | t2 | t7 : Status_Opening; t6 : 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 ) 8 7 sm : cruise.umple.compiler.State@438f205c[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,5] stateMachine = 3a2f4611 : 0 cruise.umple.compiler.State@cf9a1f1[name:s2s2a,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,8] stateMachine = 3a2f4611 : 0 cruise.umple.compiler.State@19710bd9[name:s2s2b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,14] stateMachine = 3a2f4611 : 0 cruise.umple.compiler.State@23c6556b[name:s2s2c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[17,16] stateMachine = 3a2f4611 : 0 cruise.umple.compiler.State@631990cc[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[16,16] stateMachine = 3a2f4611 : 0 cruise.umple.compiler.State@222e4377[name:s4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 3a2f4611 : 0 -- This file is generated from NestedMachine.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ASm -- MODULE ASm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2s2a , Sm_s2s2b , Sm_s2s2c , 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_s2s2a; t5 := event = ev_e3 & state = Sm_s2s2a; t6 := event = ev_e1 & state = Sm_s2s2b; t7 := event = ev_e3 & state = Sm_s2s2b; t8 := event = ev_e4 & state = Sm_s2s2b; t9 := event = ev_e2 & state = Sm_s2s2b; t10 := event = ev_e1 & state = Sm_s2s2c; -- 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 t6 | t4 | t10 : Sm_s1; t1 | t7 : Sm_s2s2a; t2 | t5 : Sm_s2s2b; t9 : Sm_s2s2c; t8 : 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 ASm_Machine -- MODULE ASm_Machine -- This part declares state variables for the given NuSMV module -- VAR aSm : 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_s2s2a ) CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s2b ) CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s2c ) CTLSPEC EF( aSm_Machine.aSm.state = Sm_s3 ) CTLSPEC EF( aSm_Machine.aSm.state = Sm_s4 ) 2 3 sm : cruise.umple.compiler.State@87affb5[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 1c461b90 : 0 cruise.umple.compiler.State@518e6d6c[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,19] stateMachine = 1c461b90 : 0 cruise.umple.compiler.State@280fa441[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,20] stateMachine = 1c461b90 : 0 -- This file is generated from SimpleCaseOfNondeterminism.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for XSm -- MODULE XSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 , Sm_s3 }; event : { ev_e , ev_null }; a : integer; b : integer; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_e ); t1 := event = ev_e & state = Sm_s1 & g1; t2 := event = ev_e & state = Sm_s1 & g2; g1 := a > 1; g2 := b < 1; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_s1; next( state ) := case t1 : Sm_s2; t2 : Sm_s3; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case sm_stable : { ev_e }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module -- ASSIGN init( a ) := 4; -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module -- ASSIGN init( b ) := 5; -- This defines a NuSMV module for XSm_Machine -- MODULE XSm_Machine -- This part declares state variables for the given NuSMV module -- VAR xSm : XSm; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR xSm_Machine : XSm_Machine; -- The following properties are specified to certify that this model is free of non-determinism. INVARSPEC ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) ) -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( xSm_Machine.xSm.state = Sm_s1 ) CTLSPEC EF( xSm_Machine.xSm.state = Sm_s2 ) CTLSPEC EF( xSm_Machine.xSm.state = Sm_s3 ) 25 22 heatSystem : cruise.umple.compiler.State@286e2b71[name:heatSys,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,3] stateMachine = 6ad4d333 : 3 room : cruise.umple.compiler.State@1b3fff29[name:noHeatReqidleNoHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[33,6] stateMachine = 4f90b4c9 : 0 cruise.umple.compiler.State@16fc3be9[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[34,61] stateMachine = 4f90b4c9 : 0 cruise.umple.compiler.State@5afd2f4e[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[44,6] stateMachine = 4f90b4c9 : 0 cruise.umple.compiler.State@3e5f458f[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[45,60] stateMachine = 4f90b4c9 : 0 Controller : cruise.umple.compiler.State@74239871[name:Controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[59,5] stateMachine = 377d66f : 0 cruise.umple.compiler.State@30c31e10[name:ControllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[65,6] stateMachine = 377d66f : 0 cruise.umple.compiler.State@74f446ba[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[71,7] stateMachine = 377d66f : 0 cruise.umple.compiler.State@1cfca845[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[72,26] stateMachine = 377d66f : 0 cruise.umple.compiler.State@2105c11b[name:Controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[63,22] stateMachine = 377d66f : 0 furnace : cruise.umple.compiler.State@99e68b5[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[89,5] stateMachine = 5f092eaa : 0 cruise.umple.compiler.State@264e0b8e[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[92,5] stateMachine = 5f092eaa : 0 cruise.umple.compiler.State@294c1b45[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[90,48] stateMachine = 5f092eaa : 0 cruise.umple.compiler.State@53ed0519[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[88,21] stateMachine = 5f092eaa : 0 -- This file is generated from myTemporaryTest.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for HeatingSystemHeatSystem -- MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysRoomRoom , _heatSystemHeatSysControllerController , _heatSystemHeatSysFurnaceFurnace ) -- 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_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , 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_t23 | event = ev_t22 | event = ev_activate | event = ev_t18 | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_heatSwitchOff | event = ev_t24 | event = ev_t15 | event = ev_userReset | event = ev_t19 ); t1 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat & g1; t2 := event = ev_t17 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g2; t3 := event = ev_t18 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g3; t4 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g4; t5 := event = ev_t20 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g5; t6 := event = ev_t21 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat & g6; t7 := event = ev_t19 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g7; t8 := event = ev_t22 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g8; t9 := event = ev_t24 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g9; t10 := event = ev_t23 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g10; t11 := event = ev_heatSwitchOn & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff; t12 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle; t13 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle; t14 := event = ev_activate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle & g11; t15 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater; t16 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater; t17 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater & g12; t18 := event = ev_furnaceRunning & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater; t19 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun; t20 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun; t21 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun & g12; t22 := event = ev_furnaceReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror; t23 := event = ev_userReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror; t24 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; t25 := event = ev_activate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; t26 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun; t27 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun; t28 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct; t29 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct; t30 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g13; t31 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g14; t32 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr; 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 | t1 | t3 | t8 | t9 | t12 | t19 | t23 | t17 | t14 | t13 | t20 | t27 | t31 | t30 | t26 | t7 | t2 | t5 | t6 | t10 | t15 | t22 | t11 | t21 | t18 | t16 | t32 | t29 | t25 | t24 | t28 : 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_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , 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 HeatingSystemHeatSystemHeatSysRoomRoom -- MODULE HeatingSystemHeatSystemHeatSysRoomRoom ( _heatSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat , HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat , HeatSystemHeatSysRoomRoom_heatReqidleHeat , HeatSystemHeatSysRoomRoom_heatReqwaitForCool , null }; -- 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.t7 : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat; _heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat; _heatSystem.t5 | _heatSystem.t8 : HeatSystemHeatSysRoomRoom_heatReqidleHeat; _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysRoomRoom_heatReqwaitForCool; _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat; TRUE : state; esac; -- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysControllerController -- MODULE HeatingSystemHeatSystemHeatSysControllerController ( _heatSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { HeatSystemHeatSysControllerController_Controlleroff , HeatSystemHeatSysControllerController_ControllerOnidle , HeatSystemHeatSysControllerController_heaterActiveactHeater , HeatSystemHeatSysControllerController_heaterActiveheaterRun , HeatSystemHeatSysControllerController_Controllererror , null }; -- 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.t15 | _heatSystem.t22 | _heatSystem.t12 | _heatSystem.t19 | _heatSystem.t23 : HeatSystemHeatSysControllerController_Controlleroff; _heatSystem.t17 | _heatSystem.t11 | _heatSystem.t21 : HeatSystemHeatSysControllerController_ControllerOnidle; _heatSystem.t14 : HeatSystemHeatSysControllerController_heaterActiveactHeater; _heatSystem.t18 : HeatSystemHeatSysControllerController_heaterActiveheaterRun; _heatSystem.t16 | _heatSystem.t13 | _heatSystem.t20 : HeatSystemHeatSysControllerController_Controllererror; _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysControllerController_Controlleroff; 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_furnaceNormalfurnaceOff , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct , HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr , null }; -- 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.t27 | _heatSystem.t32 | _heatSystem.t29 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; _heatSystem.t31 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun; _heatSystem.t25 | _heatSystem.t30 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct; _heatSystem.t26 | _heatSystem.t24 | _heatSystem.t28 : HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr; _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; 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( heatingSystemHeatSystemHeatSysRoomRoom , heatingSystemHeatSystemHeatSysControllerController , heatingSystemHeatSystemHeatSysFurnaceFurnace ); heatingSystemHeatSystemHeatSysRoomRoom : HeatingSystemHeatSystemHeatSysRoomRoom( heatingSystemHeatSystem ); heatingSystemHeatSystemHeatSysControllerController : HeatingSystemHeatSystemHeatSysControllerController( heatingSystemHeatSystem ); heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem ); -- 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.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr ) 39 26 sm : cruise.umple.compiler.State@1070308e[name:regulartime,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,6] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@59b78925[name:regulardate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,14] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@2c1c3c13[name:updatesecond,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[24,8] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@3df99d5e[name:updateminute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[25,15] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@1483ecad[name:updatehour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[29,15] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@7118a1b9[name:updatemonth,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[33,15] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@3ca9e72d[name:updateday,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[37,15] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@4dcb8e8b[name:updateyear,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[41,15] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@46a6f51b[name:chronoNormalpaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[55,8] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@7287811f[name:chronoNormalrunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[56,16] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@1e490ed[name:chronometerlapRunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[61,16] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@10cae98c[name:chronometerlapPaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[65,14] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@61b5c8a3[name:alarmStatusbothOff,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[77,6] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@2f7432f3[name:alarmStatuschimeOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[78,14] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@ab2ac08[name:alarmStatusbothOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[81,14] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@4d73b25b[name:alarmStatusalarmOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[84,14] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@24c8b86[name:alarmUpdatealarmTime,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[15,25] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@c21c296[name:hourMinuteUpdatealarmHour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[96,31] stateMachine = 6eb8fd79 : 0 cruise.umple.compiler.State@13ecedf6[name:hourMinuteUpdatealarmMinute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[95,14] stateMachine = 6eb8fd79 : 0 -- This file is generated from NestedWatch.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for DigitalWatchSm -- MODULE DigitalWatchSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_regulartime , Sm_regulardate , Sm_updatesecond , Sm_updateminute , Sm_updatehour , Sm_updatemonth , Sm_updateday , Sm_updateyear , Sm_chronoNormalpaused , Sm_chronoNormalrunning , Sm_chronometerlapRunning , Sm_chronometerlapPaused , Sm_alarmStatusbothOff , Sm_alarmStatuschimeOn , Sm_alarmStatusbothOn , Sm_alarmStatusalarmOn , Sm_alarmUpdatealarmTime , Sm_hourMinuteUpdatealarmHour , Sm_hourMinuteUpdatealarmMinute }; 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_regulartime; t2 := event = ev_s2 & state = Sm_regulartime; t3 := event = ev_s3 & state = Sm_regulartime; t4 := event = ev_s3during2Secs & state = Sm_regulartime; t5 := event = ev_notS1 & state = Sm_regulardate; t6 := event = ev_s3 & state = Sm_updatesecond; t7 := event = ev_s2 & state = Sm_updatesecond; t8 := event = ev_s1 & state = Sm_updatesecond; t9 := event = ev_s3 & state = Sm_updateminute; t10 := event = ev_s2 & state = Sm_updateminute; t11 := event = ev_s1 & state = Sm_updateminute; t12 := event = ev_s3 & state = Sm_updatehour; t13 := event = ev_s2 & state = Sm_updatehour; t14 := event = ev_s1 & state = Sm_updatehour; t15 := event = ev_s3 & state = Sm_updatemonth; t16 := event = ev_s2 & state = Sm_updatemonth; t17 := event = ev_s1 & state = Sm_updatemonth; t18 := event = ev_s3 & state = Sm_updateday; t19 := event = ev_s2 & state = Sm_updateday; t20 := event = ev_s1 & state = Sm_updateday; t21 := event = ev_s3 & state = Sm_updateyear; t22 := event = ev_s1 & state = Sm_updateyear; t23 := event = ev_s2 & state = Sm_updateyear; t24 := event = ev_s3 & state = Sm_chronoNormalpaused; t25 := event = ev_s2 & state = Sm_chronoNormalpaused; t26 := event = ev_s1 & state = Sm_chronoNormalpaused; t27 := event = ev_s3 & state = Sm_chronoNormalrunning; t28 := event = ev_s1 & state = Sm_chronoNormalrunning; t29 := event = ev_s2 & state = Sm_chronoNormalrunning; t30 := event = ev_s3 & state = Sm_chronometerlapRunning; t31 := event = ev_s2 & state = Sm_chronometerlapRunning; t32 := event = ev_s1 & state = Sm_chronometerlapRunning; t33 := event = ev_s3 & state = Sm_chronometerlapPaused; t34 := event = ev_s1 & state = Sm_chronometerlapPaused; t35 := event = ev_s2 & state = Sm_chronometerlapPaused; t36 := event = ev_notS2 & state = Sm_alarmStatusbothOff; t37 := event = ev_s1 & state = Sm_alarmStatusbothOff; t38 := event = ev_notS2 & state = Sm_alarmStatuschimeOn; t39 := event = ev_s1 & state = Sm_alarmStatuschimeOn; t40 := event = ev_notS2 & state = Sm_alarmStatusbothOn; t41 := event = ev_s1 & state = Sm_alarmStatusbothOn; t42 := event = ev_notS2 & state = Sm_alarmStatusalarmOn; t43 := event = ev_s1 & state = Sm_alarmStatusalarmOn; t44 := event = ev_s3 & state = Sm_alarmUpdatealarmTime; t45 := event = ev_s1 & state = Sm_alarmUpdatealarmTime; t46 := event = ev_s2 & state = Sm_alarmUpdatealarmTime; t47 := event = ev_s3 & state = Sm_hourMinuteUpdatealarmHour; t48 := event = ev_s2 & state = Sm_hourMinuteUpdatealarmHour; t49 := event = ev_s1 & state = Sm_hourMinuteUpdatealarmHour; t50 := event = ev_s3 & state = Sm_hourMinuteUpdatealarmMinute; t51 := event = ev_s1 & state = Sm_hourMinuteUpdatealarmMinute; t52 := event = ev_s2 & state = Sm_hourMinuteUpdatealarmMinute; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_regulartime; next( state ) := case t27 | t33 | t38 | t42 | t6 | t12 | t18 | t24 | t30 | t36 | t40 | t5 | t9 | t15 | t21 : Sm_regulartime; t1 : Sm_regulardate; t47 | t7 | t44 | t50 | t22 : Sm_updatesecond; t8 | t10 : Sm_updateminute; t11 | t13 : Sm_updatehour; t14 | t16 : Sm_updatemonth; t17 | t19 : Sm_updateday; t20 | t23 : Sm_updateyear; t3 | t25 | t35 | t28 : Sm_chronoNormalpaused; t31 | t26 : Sm_chronoNormalrunning; t34 | t29 : Sm_chronometerlapRunning; t32 : Sm_chronometerlapPaused; t2 | t43 : Sm_alarmStatusbothOff; t37 : Sm_alarmStatuschimeOn; t39 : Sm_alarmStatusbothOn; t41 : Sm_alarmStatusalarmOn; t4 : Sm_alarmUpdatealarmTime; t48 | t46 | t51 : Sm_hourMinuteUpdatealarmHour; t49 | t45 | t52 : Sm_hourMinuteUpdatealarmMinute; 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_regulartime ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_regulardate ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updatesecond ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updateminute ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updatehour ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updatemonth ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updateday ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updateyear ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronoNormalpaused ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronoNormalrunning ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronometerlapRunning ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronometerlapPaused ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatusbothOff ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatuschimeOn ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatusbothOn ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatusalarmOn ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmUpdatealarmTime ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hourMinuteUpdatealarmHour ) CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hourMinuteUpdatealarmMinute ) 20 10 sm : cruise.umple.compiler.State@4b7272d6[name:ZxZa,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,10] stateMachine = 21845b36 : 0 cruise.umple.compiler.State@376aaeec[name:ZxXa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,18] stateMachine = 21845b36 : 0 cruise.umple.compiler.State@749330a8[name:ZxabAa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,18] stateMachine = 21845b36 : 0 cruise.umple.compiler.State@2caf182e[name:ZxabBa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[24,16] stateMachine = 21845b36 : 0 cruise.umple.compiler.State@2f71bb66[name:Da,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[23,16] stateMachine = 21845b36 : 0 cruise.umple.compiler.State@4d8e6daa[name:GeGa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,11] stateMachine = 21845b36 : 0 cruise.umple.compiler.State@207512c3[name:GeEa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,11] stateMachine = 21845b36 : 0 -- This file is generated from BigStateMachineTest.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for BigStateMachineTestSm -- MODULE BigStateMachineTestSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_ZxZa , Sm_ZxXa , Sm_ZxabAa , Sm_ZxabBa , Sm_Da , Sm_GeGa , Sm_GeEa }; 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_e3 & state = Sm_ZxZa; t2 := event = ev_e2 & state = Sm_ZxZa; t3 := event = ev_e5 & state = Sm_ZxZa; t4 := event = ev_e1 & state = Sm_ZxZa; t5 := event = ev_e4 & state = Sm_ZxZa; t6 := event = ev_e5 & state = Sm_ZxXa; t7 := event = ev_e1 & state = Sm_ZxXa; t8 := event = ev_e4 & state = Sm_ZxXa; t9 := event = ev_e5 & state = Sm_ZxabAa; t10 := event = ev_e3 & state = Sm_ZxabAa; t11 := event = ev_e1 & state = Sm_ZxabAa; t12 := event = ev_e4 & state = Sm_ZxabAa; t13 := event = ev_e3 & state = Sm_ZxabBa; t14 := event = ev_e1 & state = Sm_ZxabBa; t15 := event = ev_e4 & state = Sm_ZxabBa; t16 := event = ev_e5 & state = Sm_Da; t17 := event = ev_e2 & state = Sm_Da; t18 := event = ev_e1 & state = Sm_GeGa; t19 := event = ev_e1 & state = Sm_GeEa; t20 := event = ev_e2 & state = Sm_GeEa; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_ZxZa; next( state ) := case t16 | t1 : Sm_ZxXa; t2 : Sm_ZxabAa; t10 | t18 : Sm_ZxabBa; t9 : Sm_Da; t13 | t3 | t6 | t19 | t12 | t15 | t5 | t8 | t20 : Sm_GeGa; t11 | t4 | t17 | t14 | t7 : Sm_GeEa; 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 BigStateMachineTestSm_Machine -- MODULE BigStateMachineTestSm_Machine -- This part declares state variables for the given NuSMV module -- VAR bigStateMachineTestSm : 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_ZxZa ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxXa ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabAa ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabBa ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Da ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeGa ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeEa ) 17 9 state : cruise.umple.compiler.State@41fc5625[name:planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,4] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@61377842[name:planeAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,21] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@51cbd1d[name:waitingForNextLeg,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,4] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@26f29ee5[name:boarding,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,28] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@3e13a74[name:closedAtGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[24,26] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@594ea722[name:underway,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[28,28] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@39da0d43[name:disembarking,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[20,18] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@b6db92b[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[37,43] stateMachine = 27c05ed9 : 0 cruise.umple.compiler.State@15500a8[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,16] stateMachine = 27c05ed9 : 0 -- This file is generated from FlatSpecificFlight.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for SpecificFlightState -- MODULE SpecificFlightState -- This part declares state variables for the given NuSMV module -- VAR state : { State_planned , State_planeAssigned , State_waitingForNextLeg , State_boarding , State_closedAtGate , State_underway , State_disembarking , State_completed , State_cancelled }; event : { ev_cancel , ev_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate , ev_null }; finished : boolean; empty : boolean; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE state_stable := !( event = ev_boardingComplete | event = ev_assignPlane | event = ev_evacuate | event = ev_changePlane | event = ev_cancel | event = ev_passengersOut | event = ev_permissionToDepart | event = ev_readyForPassengers | event = ev_arriveAtGate ); t1 := event = ev_assignPlane & state = State_planned; t2 := event = ev_cancel & state = State_planned; t3 := event = ev_changePlane & state = State_planeAssigned; t4 := event = ev_readyForPassengers & state = State_planeAssigned; t5 := event = ev_cancel & state = State_planeAssigned; t6 := event = ev_readyForPassengers & state = State_waitingForNextLeg; t7 := event = ev_evacuate & state = State_waitingForNextLeg; t8 := event = ev_evacuate & state = State_boarding; t9 := event = ev_boardingComplete & state = State_boarding; t10 := event = ev_evacuate & state = State_closedAtGate; t11 := event = ev_permissionToDepart & state = State_closedAtGate; t12 := event = ev_evacuate & state = State_underway; t13 := event = ev_arriveAtGate & state = State_underway; t14 := event = ev_evacuate & state = State_disembarking; t15 := event = ev_passengersOut & state = State_disembarking & g1; t16 := event = ev_passengersOut & state = State_disembarking & g2; t17 := event = ev_passengersOut & state = State_disembarking & g3; g1 := !empty; g2 := !finished & empty; g3 := finished & empty; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := State_planned; next( state ) := case t3 : State_planned; t1 | t16 : State_planeAssigned; t15 : State_waitingForNextLeg; t4 | t6 : State_boarding; t9 : State_closedAtGate; t11 : State_underway; t7 | t10 | t13 | t8 | t12 | t14 : State_disembarking; t17 : State_completed; t2 | t5 : State_cancelled; 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_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "finished" of this NuSMV module -- ASSIGN init( finished ) := FALSE; -- This part defines logic for the assignment of values to state variable "empty" of this NuSMV module -- ASSIGN init( empty ) := FALSE; -- This defines a NuSMV module for SpecificFlightState_Machine -- MODULE SpecificFlightState_Machine -- This part declares state variables for the given NuSMV module -- VAR specificFlightState : SpecificFlightState; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR specificFlightState_Machine : SpecificFlightState_Machine; -- The following properties are specified to certify that this model is free of non-determinism. INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t16 -> next( specificFlightState_Machine.specificFlightState.state = State_waitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_planeAssigned ) ) INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_waitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_completed ) ) INVARSPEC ( specificFlightState_Machine.specificFlightState.t16 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_planeAssigned & specificFlightState_Machine.specificFlightState.state = State_completed ) ) -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planned ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planeAssigned ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_waitingForNextLeg ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_boarding ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_closedAtGate ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_underway ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_disembarking ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_completed ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_cancelled ) 7 5 state : cruise.umple.compiler.State@1aacde34[name:newBooking,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 1fdc2d45 : 0 cruise.umple.compiler.State@65fc2639[name:seatAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,20] stateMachine = 1fdc2d45 : 0 cruise.umple.compiler.State@2bae0ac8[name:checkedIn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,17] stateMachine = 1fdc2d45 : 0 cruise.umple.compiler.State@570f2cf7[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,16] stateMachine = 1fdc2d45 : 0 cruise.umple.compiler.State@29478556[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,18] stateMachine = 1fdc2d45 : 0 -- This file is generated from Test.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for BookingState -- MODULE BookingState -- This part declares state variables for the given NuSMV module -- VAR state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed }; event : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE state_stable := !( event = ev_cance | event = ev_assignSeat | event = ev_cancel | event = ev_checkIn | event = ev_complete ); t1 := event = ev_assignSeat & state = State_newBooking; t2 := event = ev_cancel & state = State_newBooking; t3 := event = ev_cancel & state = State_seatAssigned; t4 := event = ev_checkIn & state = State_seatAssigned; t5 := event = ev_cance & state = State_seatAssigned; t6 := event = ev_cancel & state = State_checkedIn; t7 := event = ev_complete & state = State_checkedIn; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := State_newBooking; next( state ) := case t1 : State_seatAssigned; t4 : State_checkedIn; t2 | t5 | t3 | t6 : State_cancelled; t7 : State_completed; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case state_stable : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete }; TRUE : ev_null; esac; -- This defines a NuSMV module for BookingState_Machine -- MODULE BookingState_Machine -- This part declares state variables for the given NuSMV module -- VAR bookingState : BookingState; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR bookingState_Machine : BookingState_Machine; -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( bookingState_Machine.bookingState.state = State_newBooking ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_seatAssigned ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_checkedIn ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_cancelled ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_completed ) 6 5 state : cruise.umple.compiler.State@603042a5[name:newBooking,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 2295535f : 0 cruise.umple.compiler.State@188f626a[name:seatAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,20] stateMachine = 2295535f : 0 cruise.umple.compiler.State@177d7e98[name:checkedIn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,17] stateMachine = 2295535f : 0 cruise.umple.compiler.State@75ba33b8[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,16] stateMachine = 2295535f : 0 cruise.umple.compiler.State@7d3d89fb[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,18] stateMachine = 2295535f : 0 -- This file is generated from ExampleFile1.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for BookingState -- MODULE BookingState -- This part declares state variables for the given NuSMV module -- VAR state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed }; event : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE state_stable := !( event = ev_cancel | event = ev_assignSeat | event = ev_checkIn | event = ev_complete ); t1 := event = ev_assignSeat & state = State_newBooking; t2 := event = ev_cancel & state = State_newBooking; t3 := event = ev_cancel & state = State_seatAssigned; t4 := event = ev_checkIn & state = State_seatAssigned; t5 := event = ev_cancel & state = State_checkedIn; t6 := event = ev_complete & state = State_checkedIn; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := State_newBooking; next( state ) := case t1 : State_seatAssigned; t4 : State_checkedIn; t3 | t2 | t5 : State_cancelled; t6 : State_completed; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case state_stable : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete }; TRUE : ev_null; esac; -- This defines a NuSMV module for BookingState_Machine -- MODULE BookingState_Machine -- This part declares state variables for the given NuSMV module -- VAR bookingState : BookingState; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR bookingState_Machine : BookingState_Machine; -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( bookingState_Machine.bookingState.state = State_newBooking ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_seatAssigned ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_checkedIn ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_cancelled ) CTLSPEC EF( bookingState_Machine.bookingState.state = State_completed ) 16 10 lockState : cruise.umple.compiler.State@6b16aa6f[name:BothDoorsClosedLockFull,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,4] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@d58550c[name:OpeningUpperGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,38] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@7fef75e1[name:UpperGateOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[16,28] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@2174fda1[name:ClosingUpperGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[21,64] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@62267a22[name:LoweringWater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,36] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@2d99b35f[name:BothDoorsClosedLockEmpty,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[35,4] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@295d8b70[name:OpeningLowerGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[31,37] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@2f42f20f[name:LowerGateOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[42,28] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@7ee46aaf[name:ClosingLowerGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[47,60] stateMachine = 40406a3f : 0 cruise.umple.compiler.State@1e072d67[name:RaisingWater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[38,38] stateMachine = 40406a3f : 0 -- This file is generated from ExampleFile2.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for LockLockState -- MODULE LockLockState -- This part declares state variables for the given NuSMV module -- VAR state : { LockState_BothDoorsClosedLockFull , LockState_OpeningUpperGate , LockState_UpperGateOpen , LockState_ClosingUpperGate , LockState_LoweringWater , LockState_BothDoorsClosedLockEmpty , LockState_OpeningLowerGate , LockState_LowerGateOpen , LockState_ClosingLowerGate , LockState_RaisingWater }; event : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes , ev_null }; boatGoingDown : boolean; boatGoingUp : boolean; boatBlockingGate : boolean; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE lockState_stable := !( event = ev_boatRequestsToEnterAndGoDown | event = ev_boatInLockRequestingToGoDown | event = ev_upperGateFullyOpen | event = ev_boatInLockRequestingToGoUp | event = ev_boatRequestsToEnterAndGoUp | event = ev_upperGateFullyClosed | event = ev_waterLevelMatchesUpStream | event = ev_lowerGateFullyClosed | event = ev_lowerGateFullyOpen | event = ev_waterLevelMatchesDownStream | event = ev_after3minutes ); t1 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockFull; t2 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockFull; t3 := event = ev_upperGateFullyOpen & state = LockState_OpeningUpperGate; t4 := event = ev_boatInLockRequestingToGoDown & state = LockState_UpperGateOpen; t5 := event = ev_after3minutes & state = LockState_UpperGateOpen & g1; t6 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g2; t7 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g3; t8 := event = ev_waterLevelMatchesDownStream & state = LockState_LoweringWater; t9 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockEmpty; t10 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockEmpty; t11 := event = ev_lowerGateFullyOpen & state = LockState_OpeningLowerGate; t12 := event = ev_boatInLockRequestingToGoUp & state = LockState_LowerGateOpen; t13 := event = ev_after3minutes & state = LockState_LowerGateOpen & g1; t14 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g4; t15 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g5; t16 := event = ev_waterLevelMatchesUpStream & state = LockState_RaisingWater; g1 := !boatBlockingGate; g2 := !boatGoingDown; g3 := boatGoingDown; g4 := !boatGoingUp; g5 := boatGoingUp; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := LockState_BothDoorsClosedLockFull; next( state ) := case t6 : LockState_BothDoorsClosedLockFull; t1 | t16 : LockState_OpeningUpperGate; t3 : LockState_UpperGateOpen; t4 | t5 : LockState_ClosingUpperGate; t2 | t7 : LockState_LoweringWater; t14 : LockState_BothDoorsClosedLockEmpty; t8 | t9 : LockState_OpeningLowerGate; t11 : LockState_LowerGateOpen; t12 | t13 : LockState_ClosingLowerGate; t10 | t15 : 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_BothDoorsClosedLockFull & lockLockState_Machine.lockLockState.state = LockState_LoweringWater ) ) INVARSPEC ( lockLockState_Machine.lockLockState.t14 & lockLockState_Machine.lockLockState.t15 -> next( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty & lockLockState_Machine.lockLockState.state = LockState_RaisingWater ) ) -- 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 ) 18 13 elevator_state_machine : cruise.umple.compiler.State@6c6a7553[name:Idle,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,4] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@3087b35f[name:PrepareUpDoorClosingMovingUp,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,6] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@26cd77cc[name:PrepareDownDoorClosingMovingDown,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[17,6] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@19324eab[name:InMotionMoving,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,17] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@2dad7323[name:InMotionStopping,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[26,57] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@20bd3082[name:OnFloorDoorOpening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[29,35] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@6d03404e[name:OnFloorAtFloor,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[35,23] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@664f1c53[name:OnFloorDoorClosing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[38,39] stateMachine = 2242dd2b : 0 cruise.umple.compiler.State@20bd4fd2[name:OnFloorCheckingNextDestination,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[42,22] stateMachine = 2242dd2b : 0 -- This file is generated from Elevator.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ElevatorElevator_state_machine -- MODULE ElevatorElevator_state_machine -- This part declares state variables for the given NuSMV module -- VAR state : { Elevator_state_machine_Idle , Elevator_state_machine_PrepareUpDoorClosingMovingUp , Elevator_state_machine_PrepareDownDoorClosingMovingDown , Elevator_state_machine_InMotionMoving , Elevator_state_machine_InMotionStopping , Elevator_state_machine_OnFloorDoorOpening , Elevator_state_machine_OnFloorAtFloor , Elevator_state_machine_OnFloorDoorClosing , Elevator_state_machine_OnFloorCheckingNextDestination }; event : { ev_stopped , ev_obstruction , ev_upRequest , 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_obstruction | event = ev_doorClosed | event = ev_approachedFloor | event = ev_approachingFloor | event = ev_doorOpeningRequest | event = ev_doorClosingRequest | event = ev_stopped | event = ev_upRequest | 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_PrepareUpDoorClosingMovingUp; t4 := event = ev_doorClosed & state = Elevator_state_machine_PrepareUpDoorClosingMovingUp; t5 := event = ev_started & state = Elevator_state_machine_PrepareDownDoorClosingMovingDown; t6 := event = ev_doorClosed & state = Elevator_state_machine_PrepareDownDoorClosingMovingDown; t7 := event = ev_approachingFloor & state = Elevator_state_machine_InMotionMoving & g1; t8 := event = ev_approachedFloor & state = Elevator_state_machine_InMotionMoving & g2; t9 := event = ev_stopped & state = Elevator_state_machine_InMotionStopping; t10 := event = ev_doorOpened & state = Elevator_state_machine_OnFloorDoorOpening; t11 := event = ev_timeoutAtFloorToDoorClosing & state = Elevator_state_machine_OnFloorAtFloor & g3; t12 := event = ev_doorClosingRequest & state = Elevator_state_machine_OnFloorAtFloor; t13 := event = ev_obstruction & state = Elevator_state_machine_OnFloorDoorClosing; t14 := event = ev_doorOpeningRequest & state = Elevator_state_machine_OnFloorDoorClosing; t15 := event = ev_doorClosed & state = Elevator_state_machine_OnFloorDoorClosing; t16 := event = ev_upRequest & state = Elevator_state_machine_OnFloorCheckingNextDestination; t17 := event = ev_downRequest & state = Elevator_state_machine_OnFloorCheckingNextDestination; t18 := event = ev_noRequest & state = Elevator_state_machine_OnFloorCheckingNextDestination; 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_PrepareUpDoorClosingMovingUp; t2 | t17 : Elevator_state_machine_PrepareDownDoorClosingMovingDown; t5 | t6 | t3 | t4 | t7 : Elevator_state_machine_InMotionMoving; t8 : Elevator_state_machine_InMotionStopping; t13 | t9 | t14 : Elevator_state_machine_OnFloorDoorOpening; t10 : Elevator_state_machine_OnFloorAtFloor; t11 | t12 : Elevator_state_machine_OnFloorDoorClosing; t15 : Elevator_state_machine_OnFloorCheckingNextDestination; 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_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_machine_Machine -- MODULE ElevatorElevator_state_machine_Machine -- This part declares state variables for the given NuSMV module -- VAR elevatorElevator_state_machine : 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_PrepareUpDoorClosingMovingUp ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareDownDoorClosingMovingDown ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_InMotionMoving ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_InMotionStopping ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorDoorOpening ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorAtFloor ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorDoorClosing ) CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorCheckingNextDestination ) 1 2 sm : cruise.umple.compiler.State@36642182[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,4] stateMachine = 3df05c40 : 0 cruise.umple.compiler.State@752957da[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,27] stateMachine = 3df05c40 : 0 -- This file is generated from ConstantTest.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CruiseControlSystemSm -- MODULE CruiseControlSystemSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 }; event : { ev_a , ev_null }; c : integer; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_a ); t1 := event = ev_a & state = Sm_s1; aa := 5; bb := 5; cc := 5.00; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_s1; next( state ) := case t1 : Sm_s2; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case sm_stable : { ev_a }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "c" of this NuSMV module -- ASSIGN init( c ) := 0; -- This defines a NuSMV module for CruiseControlSystemSm_Machine -- MODULE CruiseControlSystemSm_Machine -- This part declares state variables for the given NuSMV module -- VAR cruiseControlSystemSm : CruiseControlSystemSm; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine; -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 ) CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 ) 13 10 state : cruise.umple.compiler.State@6a275836[name:planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,4] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@3f41a1f3[name:planeAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,21] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@4374c051[name:activeWithPassengerswaitingForNextLeg,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[19,6] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@1342c6e1[name:activeWithPassengersboarding,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,28] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@4a547f9d[name:activeWithPassengersclosedAtGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[23,28] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@7828111d[name:activeWithPassengersunderway,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[26,30] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@1dbb3001[name:activeWithPassengersdisembarking,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,18] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@184b8899[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[33,45] stateMachine = 1a6864f0 : 0 cruise.umple.compiler.State@718aa49a[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,16] stateMachine = 1a6864f0 : 0 -- This file is generated from SpecificFlight.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for SpecificFlightState -- MODULE SpecificFlightState -- This part declares state variables for the given NuSMV module -- VAR state : { State_planned , State_planeAssigned , State_activeWithPassengerswaitingForNextLeg , State_activeWithPassengersboarding , State_activeWithPassengersclosedAtGate , State_activeWithPassengersunderway , State_activeWithPassengersdisembarking , State_completed , State_cancelled }; event : { ev_cancel , ev_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate , ev_null }; finished : boolean; empty : boolean; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE state_stable := !( event = ev_boardingComplete | event = ev_assignPlane | event = ev_evacuate | event = ev_changePlane | event = ev_cancel | event = ev_passengersOut | event = ev_permissionToDepart | event = ev_readyForPassengers | event = ev_arriveAtGate ); t1 := event = ev_assignPlane & state = State_planned; t2 := event = ev_cancel & state = State_planned; t3 := event = ev_changePlane & state = State_planeAssigned; t4 := event = ev_readyForPassengers & state = State_planeAssigned; t5 := event = ev_cancel & state = State_planeAssigned; t6 := event = ev_evacuate & state = State_activeWithPassengerswaitingForNextLeg; t7 := event = ev_readyForPassengers & state = State_activeWithPassengerswaitingForNextLeg; t8 := event = ev_evacuate & state = State_activeWithPassengersboarding; t9 := event = ev_boardingComplete & state = State_activeWithPassengersboarding; t10 := event = ev_evacuate & state = State_activeWithPassengersclosedAtGate; t11 := event = ev_permissionToDepart & state = State_activeWithPassengersclosedAtGate; t12 := event = ev_evacuate & state = State_activeWithPassengersunderway; t13 := event = ev_arriveAtGate & state = State_activeWithPassengersunderway; t14 := event = ev_evacuate & state = State_activeWithPassengersdisembarking; t15 := event = ev_passengersOut & state = State_activeWithPassengersdisembarking & g1; t16 := event = ev_passengersOut & state = State_activeWithPassengersdisembarking & g2; t17 := event = ev_passengersOut & state = State_activeWithPassengersdisembarking & g3; g1 := !empty; g2 := !finished & empty; g3 := finished & empty; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := State_planned; next( state ) := case t3 : State_planned; t1 | t16 : State_planeAssigned; t15 : State_activeWithPassengerswaitingForNextLeg; t4 | t7 : State_activeWithPassengersboarding; t9 : State_activeWithPassengersclosedAtGate; t11 : State_activeWithPassengersunderway; t6 | t10 | t14 | t8 | t12 | t13 : State_activeWithPassengersdisembarking; t17 : State_completed; t2 | t5 : State_cancelled; 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_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "finished" of this NuSMV module -- ASSIGN init( finished ) := FALSE; -- This part defines logic for the assignment of values to state variable "empty" of this NuSMV module -- ASSIGN init( empty ) := FALSE; -- This defines a NuSMV module for SpecificFlightState_Machine -- MODULE SpecificFlightState_Machine -- This part declares state variables for the given NuSMV module -- VAR specificFlightState : SpecificFlightState; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR specificFlightState_Machine : SpecificFlightState_Machine; -- The following properties are specified to certify that this model is free of non-determinism. INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t16 -> next( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengerswaitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_planeAssigned ) ) INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengerswaitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_completed ) ) INVARSPEC ( specificFlightState_Machine.specificFlightState.t16 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_planeAssigned & specificFlightState_Machine.specificFlightState.state = State_completed ) ) -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planned ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planeAssigned ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengerswaitingForNextLeg ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersboarding ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersclosedAtGate ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersunderway ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersdisembarking ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_completed ) CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_cancelled ) 11 5 status : cruise.umple.compiler.State@4f283b8f[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 1f953e51 : 0 cruise.umple.compiler.State@4b0a6c53[name:OpenNotEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,26] stateMachine = 1f953e51 : 0 cruise.umple.compiler.State@15beb40b[name:OpenEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[15,33] stateMachine = 1f953e51 : 0 cruise.umple.compiler.State@1bc41170[name:Cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,16] stateMachine = 1f953e51 : 0 cruise.umple.compiler.State@2d95c3ef[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[21,27] stateMachine = 1f953e51 : 0 -- This file is generated from CourseSection.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CourseSectionStatus -- MODULE CourseSectionStatus -- This part declares state variables for the given NuSMV module -- VAR state : { Status_Planned , Status_OpenNotEnoughStudents , Status_OpenEnoughStudents , Status_Cancelled , Status_Closed }; event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE status_stable := !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration ); t1 := event = ev_cancel & state = Status_Planned; t2 := event = ev_openRegistration & state = Status_Planned; t3 := event = ev_requestToRegister & state = Status_OpenNotEnoughStudents; t4 := event = ev_closeRegistration & state = Status_OpenNotEnoughStudents; t5 := event = ev_cancel & state = Status_OpenNotEnoughStudents; t6 := event = ev_classSizeExceedsMinimum & state = Status_OpenNotEnoughStudents; t7 := event = ev_requestToRegister & state = Status_OpenEnoughStudents; t8 := event = ev_cancel & 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 | t7 : Status_OpenEnoughStudents; t4 | t8 | 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 ) 43 25 cruiseControlSystem : cruise.umple.compiler.State@42ff5c92[name:adaptiveControlSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,6] stateMachine = c9cd06e : 5 cruise.umple.compiler.State@4afad6bd[name:terminal,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,24] stateMachine = c9cd06e : 0 cruiseController : cruise.umple.compiler.State@de0922c[name:inactivetempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,32] stateMachine = 35c344ce : 0 cruise.umple.compiler.State@5fb6fdb8[name:tempStatetempState_1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,39] stateMachine = 35c344ce : 0 cruise.umple.compiler.State@43e587cd[name:cruisingtempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[26,12] stateMachine = 35c344ce : 0 cruise.umple.compiler.State@4a9d0c6f[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[34,21] stateMachine = 35c344ce : 0 cruise.umple.compiler.State@6557d4c6[name:standbytempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[42,15] stateMachine = 35c344ce : 0 cruise.umple.compiler.State@de4bee9[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[48,21] stateMachine = 35c344ce : 0 speedControl : cruise.umple.compiler.State@62509b77[name:speedControldisabled,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[58,4] stateMachine = 400c0d26 : 0 cruise.umple.compiler.State@1b261005[name:speedControlenabled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[62,22] stateMachine = 400c0d26 : 0 cruise.umple.compiler.State@339de67e[name:speedControltempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[65,14] stateMachine = 400c0d26 : 0 sensorScan : cruise.umple.compiler.State@55704859[name:sensorScan,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[75,2] stateMachine = 75351aec : 0 inputSpeed : cruise.umple.compiler.State@5e388a77[name:inputSpeedcheckSpeed,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[88,15] stateMachine = 24a29d8 : 0 throttle : cruise.umple.compiler.State@55af9b48[name:throttletempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[97,18] stateMachine = 890196b : 0 -- This file is generated from AdaptiveCruiseControlWithTerminalState.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem -- MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan , _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 & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state != null; t2 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; t3 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; t4 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; t5 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; t6 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; t7 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; t8 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1; t9 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1; t10 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1; t11 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1; t12 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState; t13 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState; t14 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState; t15 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState; t16 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState; t17 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t18 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t19 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t20 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t21 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t22 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t23 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState; t24 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState; t25 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState; t26 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t27 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t28 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; t29 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state != null; t30 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled; t31 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled; t32 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled; t33 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled; t34 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled; t35 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled; t36 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled; t37 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t38 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t39 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t40 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t41 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t42 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t43 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t44 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan; t45 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null; t46 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null; t47 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null; t48 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed; t49 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null; t50 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null; t51 := event = ev_term & _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 t2 | t9 | t17 | t18 | t19 | t20 | t26 | t27 | t49 | t21 | t28 | t6 | t11 | t10 | t30 | t32 | t5 | t35 | t38 | t40 | t42 | t46 | t45 | t8 | t12 | t13 | t14 | t15 | t23 | t24 | t34 | t16 | t25 | t3 | t4 | t22 | t7 | t31 | t36 | t33 | t37 | t39 | t41 | t43 | t50 | t48 : CruiseControlSystem_adaptiveControlSystem; t29 | t47 | t1 | t44 | t51 : 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 CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1 , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_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.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 : null; _cruiseControlSystem.t8 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 | _cruiseControlSystem.t15 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t34 | _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t17 | _cruiseControlSystem.t18 | _cruiseControlSystem.t19 | _cruiseControlSystem.t20 | _cruiseControlSystem.t26 | _cruiseControlSystem.t27 | _cruiseControlSystem.t49 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; _cruiseControlSystem.t16 | _cruiseControlSystem.t25 | _cruiseControlSystem.t3 | _cruiseControlSystem.t21 | _cruiseControlSystem.t28 | _cruiseControlSystem.t6 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1; _cruiseControlSystem.t11 | _cruiseControlSystem.t4 | _cruiseControlSystem.t22 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState; _cruiseControlSystem.t10 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2; _cruiseControlSystem.t7 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled , CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled , CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControltempState , null }; -- 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.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t34 | _cruiseControlSystem.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t49 : null; _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t31 | _cruiseControlSystem.t36 : CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled; _cruiseControlSystem.t33 | _cruiseControlSystem.t5 | _cruiseControlSystem.t35 : CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_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.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t34 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 | _cruiseControlSystem.t49 : null; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_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_inputSpeedcheckSpeed , null }; -- 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.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t34 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 | _cruiseControlSystem.t49 : null; _cruiseControlSystem.t45 | _cruiseControlSystem.t48 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed; 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_throttletempState , null }; -- 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.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t34 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 | _cruiseControlSystem.t49 : null; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_throttletempState; 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( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan( 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.t5 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t49 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t48 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed ) ) -- 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.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControltempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_throttletempState ) 9 12 state : cruise.umple.compiler.State@6fc1d215[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 234ad505 : 2 cruise.umple.compiler.State@27796482[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 234ad505 : 0 state11 : cruise.umple.compiler.State@4655e059[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 2765c3fc : 0 cruise.umple.compiler.State@52f2d8e8[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,16] stateMachine = 2765c3fc : 0 state12 : cruise.umple.compiler.State@3e43fb40[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[19,8] stateMachine = 57fd93f9 : 0 cruise.umple.compiler.State@5e8ec0d9[name:state12state122,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[20,16] stateMachine = 57fd93f9 : 2 state1221 : cruise.umple.compiler.State@1a7f6678[name:state1221state12211,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,16] stateMachine = 3b47178c : 0 state1222 : cruise.umple.compiler.State@9e2946[name:state1222state12221,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[29,14] stateMachine = 283eb984 : 0 -- This file is generated from AndCrossFromDeeplyNestedStateCase2.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for AState -- MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State12state122State1221State1221 , _stateState1State12State12State12state122State1222State1222 ) -- 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_state11state111; t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112; t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state11state112; t5 := event = ev_e5 & _stateState1State12State12.state != null; t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121; t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121; t8 := event = ev_e2 & _stateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211; t9 := event = ev_e6 & _stateState1State12State12State12state122State1222State1222.state = StateState1State12State12State12state122State1222State1222_state1222state12221; -- 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_state11state111 , StateState1State11State11_state11state112 , null }; -- 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_state11state111; _state.t8 | _state.t2 | _state.t9 : StateState1State11State11_state11state112; _state.state = State_state1 & state = null : StateState1State11State11_state11state111; 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_state12state121 , StateState1State12State12_state12state122 , null }; -- 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_state12state122; _state.state = State_state1 & state = null : StateState1State12State12_state12state121; TRUE : state; esac; -- This defines a NuSMV module for AStateState1State12State12State12state122State1221State1221 -- MODULE AStateState1State12State12State12state122State1221State1221 ( _state , _stateState1State12State12 ) -- This part declares state variables for the given NuSMV module -- VAR state : { StateState1State12State12State12state122State1221State1221_state1221state12211 , null }; -- 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 : StateState1State12State12State12state122State1221State1221_state1221state12211; _stateState1State12State12.state = StateState1State12State12_state12state122 & state = null : StateState1State12State12State12state122State1221State1221_state1221state12211; TRUE : state; esac; -- This defines a NuSMV module for AStateState1State12State12State12state122State1222State1222 -- MODULE AStateState1State12State12State12state122State1222State1222 ( _state , _stateState1State12State12 ) -- This part declares state variables for the given NuSMV module -- VAR state : { StateState1State12State12State12state122State1222State1222_state1222state12221 , null }; -- 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_state12state122 & state = null : StateState1State12State12State12state122State1222State1222_state1222state12221; 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 , aStateState1State12State12State12state122State1221State1221 , aStateState1State12State12State12state122State1222State1222 ); aStateState1State11State11 : AStateState1State11State11( aState ); aStateState1State12State12 : AStateState1State12State12( aState ); aStateState1State12State12State12state122State1221State1221 : AStateState1State12State12State12state122State1221State1221( aState , aStateState1State12State12 ); aStateState1State12State12State12state122State1222State1222 : AStateState1State12State12State12state122State1222State1222( 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.aStateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state122 ) ) INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t8 -> next( aState_Machine.aStateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) ) -- 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_state11state111 ) CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state122 ) CTLSPEC EF( aState_Machine.aStateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211 ) CTLSPEC EF( aState_Machine.aStateState1State12State12State12state122State1222State1222.state = StateState1State12State12State12state122State1222State1222_state1222state12221 ) 10 10 state : cruise.umple.compiler.State@447dec7e[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 1edad178 : 2 cruise.umple.compiler.State@71c1ba6d[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,14] stateMachine = 1edad178 : 0 state11 : cruise.umple.compiler.State@50f6eb17[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 7bc3e36b : 0 cruise.umple.compiler.State@335aac7a[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,16] stateMachine = 7bc3e36b : 0 state12 : cruise.umple.compiler.State@4f347aae[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,8] stateMachine = 287d9e0c : 0 cruise.umple.compiler.State@4cc1f8d3[name:state1221state12211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,16] stateMachine = 287d9e0c : 0 -- This file is generated from AndCrossFromDeeplyNestedState.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for AState -- MODULE AState ( _stateState1State11State11 , _stateState1State12State12 ) -- 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_state11state111; t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112; t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state11state112; t5 := event = ev_e5 & _stateState1State12State12.state != null; t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121; t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121; t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state1221state12211; t9 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state1221state12211; t10 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state1221state12211; -- 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 | t6 | t2 | t8 | t4 | 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_state11state111 , StateState1State11State11_state11state112 , null }; -- 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_state11state111; _state.t2 | _state.t10 : StateState1State11State11_state11state112; _state.state = State_state1 & state = null : StateState1State11State11_state11state111; 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_state12state121 , StateState1State12State12_state1221state12211 , null }; -- 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_state12state121; _state.t6 | _state.t4 | _state.t7 : StateState1State12State12_state1221state12211; _state.state = State_state1 & state = null : StateState1State12State12_state12state121; 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 this model is free of non-determinism. INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t10 -> next( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state1221state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) ) -- 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_state11state111 ) CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 ) CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state1221state12211 ) 18 16 Sm : cruise.umple.compiler.State@a809a62[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 4b2713b1 : 0 cruise.umple.compiler.State@6a844[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,4] stateMachine = 4b2713b1 : 3 A : cruise.umple.compiler.State@604a9d87[name:Aa1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,8] stateMachine = 6e975866 : 0 cruise.umple.compiler.State@1dde749e[name:Aa2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,16] stateMachine = 6e975866 : 0 cruise.umple.compiler.State@282fabe9[name:Aa3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,16] stateMachine = 6e975866 : 0 B : cruise.umple.compiler.State@1c3dadce[name:Bb1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[22,10] stateMachine = 48bd8247 : 0 cruise.umple.compiler.State@26a9754a[name:Bb2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[24,18] stateMachine = 48bd8247 : 0 cruise.umple.compiler.State@738ce295[name:Bb3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[23,18] stateMachine = 48bd8247 : 0 cruise.umple.compiler.State@2ae62f7[name:Bb4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[30,18] stateMachine = 48bd8247 : 0 C : cruise.umple.compiler.State@26a5775f[name:Cc1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[39,10] stateMachine = 4bcb45e4 : 0 cruise.umple.compiler.State@5f478e42[name:Cc2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[41,18] stateMachine = 4bcb45e4 : 0 cruise.umple.compiler.State@2e8ff687[name:Cc3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,12] stateMachine = 4bcb45e4 : 0 cruise.umple.compiler.State@231d7386[name:Cc4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[46,18] stateMachine = 4bcb45e4 : 0 -- This file is generated from ArbitraryExample.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for TestSmSm -- MODULE TestSmSm ( _smS2AA , _smS2BB , _smS2CC ) -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 }; event : { ev_e1 , ev_e2 , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE Sm_stable := !( event = ev_e1 | event = ev_e2 ); t1 := event = ev_e1 & state = Sm_s1; t2 := event = ev_e1 & _smS2AA.state = SmS2AA_Aa1; t3 := event = ev_e2 & _smS2AA.state = SmS2AA_Aa1; t4 := event = ev_e2 & _smS2AA.state = SmS2AA_Aa2; t5 := event = ev_e1 & _smS2AA.state = SmS2AA_Aa2; t6 := event = ev_e1 & _smS2AA.state = SmS2AA_Aa3; t7 := event = ev_e2 & _smS2BB.state = SmS2BB_Bb1; t8 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb1; t9 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb2; t10 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb3; t11 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb4; t12 := event = ev_e2 & _smS2BB.state = SmS2BB_Bb4; t13 := event = ev_e1 & _smS2CC.state = SmS2CC_Cc1; t14 := event = ev_e2 & _smS2CC.state = SmS2CC_Cc1; t15 := event = ev_e1 & _smS2CC.state = SmS2CC_Cc3; t16 := event = ev_e2 & _smS2CC.state = SmS2CC_Cc3; t17 := event = ev_e1 & _smS2CC.state = SmS2CC_Cc4; t18 := event = ev_e2 & _smS2CC.state = SmS2CC_Cc4; -- 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 | 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_Aa1 , SmS2AA_Aa2 , SmS2AA_Aa3 , null }; -- 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 : null; _sm.t2 | _sm.t6 : SmS2AA_Aa2; _sm.t5 | _sm.t3 | _sm.t18 : SmS2AA_Aa3; _sm.state = Sm_s2 & state = null : SmS2AA_Aa1; 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_Bb1 , SmS2BB_Bb2 , SmS2BB_Bb3 , SmS2BB_Bb4 , null }; -- 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.t18 : null; _sm.t9 : SmS2BB_Bb1; _sm.t8 | _sm.t12 : SmS2BB_Bb2; _sm.t7 | _sm.t11 : SmS2BB_Bb3; _sm.t10 : SmS2BB_Bb4; _sm.state = Sm_s2 & state = null : SmS2BB_Bb1; 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_Cc1 , SmS2CC_Cc2 , SmS2CC_Cc3 , SmS2CC_Cc4 , null }; -- 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.t18 : null; _sm.t15 | _sm.t14 | _sm.t17 : SmS2CC_Cc2; _sm.t1 | _sm.t13 : SmS2CC_Cc3; _sm.t16 : SmS2CC_Cc4; _sm.state = Sm_s2 & state = null : SmS2CC_Cc1; 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.t4 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb3 ) ) INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb2 ) ) INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t14 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc2 ) ) INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t16 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc4 ) ) INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t18 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 ) ) INVARSPEC ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb3 ) ) INVARSPEC ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb2 ) ) -- 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_Aa1 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa2 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb1 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb2 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb3 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb4 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc1 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc2 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc3 ) CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc4 ) 38 24 cruiseControlSystem : cruise.umple.compiler.State@2bb7229e[name:adaptiveControlSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,6] stateMachine = 52baaf87 : 5 cruiseController : cruise.umple.compiler.State@5a49c1e[name:inactivetempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,32] stateMachine = 4662fa99 : 0 cruise.umple.compiler.State@54539319[name:tempStatetempState_1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[17,39] stateMachine = 4662fa99 : 0 cruise.umple.compiler.State@5312c883[name:cruisingtempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[25,12] stateMachine = 4662fa99 : 0 cruise.umple.compiler.State@7277fa93[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[33,21] stateMachine = 4662fa99 : 0 cruise.umple.compiler.State@23106076[name:standbytempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[41,15] stateMachine = 4662fa99 : 0 cruise.umple.compiler.State@6b13f456[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[47,21] stateMachine = 4662fa99 : 0 speedControl : cruise.umple.compiler.State@2e006f67[name:speedControldisabled,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[56,4] stateMachine = 63eebb56 : 0 cruise.umple.compiler.State@435d648d[name:speedControlenabled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[60,22] stateMachine = 63eebb56 : 0 cruise.umple.compiler.State@379899f4[name:speedControltempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[63,14] stateMachine = 63eebb56 : 0 sensorScan : cruise.umple.compiler.State@1a4eb337[name:sensorScan,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[73,2] stateMachine = cec9f23 : 0 inputSpeed : cruise.umple.compiler.State@243deb3f[name:inputSpeedcheckSpeed,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[85,15] stateMachine = 57999175 : 0 throttle : cruise.umple.compiler.State@38a147ba[name:throttletempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[93,18] stateMachine = 50dcc20a : 0 -- This file is generated from AdaptiveCruiseControlSystem.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem -- MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemControlCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControl , _cruiseControlSystemAdaptiveControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystem_adaptiveControlSystem , null }; event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE cruiseControlSystem_stable := !( event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_clearSpeed | event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_on ); t1 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive; t2 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active; t3 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active; t4 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising; t5 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising; t6 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising; t7 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising; t8 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising; t9 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby; t10 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby; t11 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby; t12 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState; t13 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState; t14 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1; t15 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState; t16 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1; t17 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2; t18 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState; t19 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1; t20 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2; t21 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled; t22 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled; t23 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled; t24 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled; t25 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled; t26 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled; t27 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled; t28 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState; t29 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t30 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t31 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t32 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t33 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t34 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t35 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; t36 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null; t37 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed; t38 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed; t39 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null; t40 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := CruiseControlSystem_adaptiveControlSystem; next( state ) := case t29 | t31 | t33 | t35 | t40 | t4 | t1 | t3 | t14 | t18 | t5 | t7 | t16 | t10 | t19 | t22 | t27 | t26 | t25 | t37 | t30 | t32 | t34 | t38 | t2 | t9 | t12 | t13 | t17 | t20 | t6 | t8 | t15 | t11 | t21 | t23 | t24 | t28 | t36 | t39 : CruiseControlSystem_adaptiveControlSystem; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on }; TRUE : ev_null; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null; _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive; _cruiseControlSystem.t3 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active; _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising; _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby; _cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null; _cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t1 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null; _cruiseControlSystem.t3 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t2 | _cruiseControlSystem.t14 | _cruiseControlSystem.t3 : null; _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null; _cruiseControlSystem.t6 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState; _cruiseControlSystem.t8 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t17 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t15 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 : null; _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 : null; _cruiseControlSystem.t10 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState; _cruiseControlSystem.t11 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t20 | _cruiseControlSystem.t10 | _cruiseControlSystem.t18 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 : null; _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2; _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null; _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled; _cruiseControlSystem.t26 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled; _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState; _cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemControl_control , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null; _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControl_control; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControl_control; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null; _cruiseControlSystem.t36 | _cruiseControlSystem.t37 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle -- MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState , null }; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := null; next( state ) := case _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null; _cruiseControlSystem.t39 : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState; _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState; TRUE : state; esac; -- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine -- MODULE CruiseControlSystemCruiseControlSystem_Machine -- This part declares state variables for the given NuSMV module -- VAR cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem ); cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem ); -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine; -- The following properties are specified to certify that this model is free of non-determinism. INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t1 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t36 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t8 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t11 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t6 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t35 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t7 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) ) INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) ) -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState ) 5 5 sm : cruise.umple.compiler.State@3be4e71c[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 83b0d9f : 0 cruise.umple.compiler.State@14a3d15b[name:s21s211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,8] stateMachine = 83b0d9f : 0 cruise.umple.compiler.State@6afed88d[name:s2s22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,14] stateMachine = 83b0d9f : 0 -- This file is generated from MultiLevelStateMachineExample.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ASm -- MODULE ASm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s21s211 , Sm_s2s22 }; 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_s21s211; t4 := event = ev_e3 & state = Sm_s21s211; t5 := event = ev_e1 & state = Sm_s21s211; t6 := event = ev_e2 & state = Sm_s2s22; -- 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 | t6 | t3 | t5 : Sm_s1; t2 : Sm_s21s211; t4 : Sm_s2s22; 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 ASm_Machine -- MODULE ASm_Machine -- This part declares state variables for the given NuSMV module -- VAR aSm : 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_s21s211 ) CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s22 ) 25 22 heatSystem : cruise.umple.compiler.State@1fb66050[name:heatSys,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,3] stateMachine = 65f68e96 : 3 room : cruise.umple.compiler.State@37cc1b11[name:noHeatReqidleNoHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[33,6] stateMachine = 4f549906 : 0 cruise.umple.compiler.State@634cd45c[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[34,61] stateMachine = 4f549906 : 0 cruise.umple.compiler.State@329f649d[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[44,6] stateMachine = 4f549906 : 0 cruise.umple.compiler.State@65dce54c[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[45,60] stateMachine = 4f549906 : 0 Controller : cruise.umple.compiler.State@e2bdc58[name:Controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[59,5] stateMachine = bc007f5 : 0 cruise.umple.compiler.State@42b2319c[name:ControllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[65,6] stateMachine = bc007f5 : 0 cruise.umple.compiler.State@40c65a03[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[71,7] stateMachine = bc007f5 : 0 cruise.umple.compiler.State@105f875f[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[72,26] stateMachine = bc007f5 : 0 cruise.umple.compiler.State@1babd50e[name:Controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[63,22] stateMachine = bc007f5 : 0 furnace : cruise.umple.compiler.State@48c63936[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[89,5] stateMachine = 3aa2646f : 0 cruise.umple.compiler.State@562b791b[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[92,5] stateMachine = 3aa2646f : 0 cruise.umple.compiler.State@136dc575[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[90,48] stateMachine = 3aa2646f : 0 cruise.umple.compiler.State@6a1b51a7[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[88,21] stateMachine = 3aa2646f : 0 -- This file is generated from FurnaceControlSystem.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for HeatingSystemHeatSystem -- MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysRoomRoom , _heatSystemHeatSysControllerController , _heatSystemHeatSysFurnaceFurnace ) -- 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_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , 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_t23 | event = ev_t22 | event = ev_activate | event = ev_t18 | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_heatSwitchOff | event = ev_t24 | event = ev_t15 | event = ev_userReset | event = ev_t19 ); t1 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat & g1; t2 := event = ev_t17 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g2; t3 := event = ev_t18 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g3; t4 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g4; t5 := event = ev_t20 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g5; t6 := event = ev_t21 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat & g6; t7 := event = ev_t19 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g7; t8 := event = ev_t22 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g8; t9 := event = ev_t24 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g9; t10 := event = ev_t23 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g10; t11 := event = ev_heatSwitchOn & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff; t12 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle; t13 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle; t14 := event = ev_activate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle & g11; t15 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater; t16 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater; t17 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater & g12; t18 := event = ev_furnaceRunning & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater; t19 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun; t20 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun; t21 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun & g12; t22 := event = ev_furnaceReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror; t23 := event = ev_userReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror; t24 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; t25 := event = ev_activate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; t26 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun; t27 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun; t28 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct; t29 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct; t30 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g13; t31 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g14; t32 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr; 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 | t1 | t3 | t8 | t9 | t12 | t19 | t23 | t17 | t14 | t13 | t20 | t27 | t31 | t30 | t26 | t7 | t2 | t5 | t6 | t10 | t15 | t22 | t11 | t21 | t18 | t16 | t32 | t29 | t25 | t24 | t28 : 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_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , 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 HeatingSystemHeatSystemHeatSysRoomRoom -- MODULE HeatingSystemHeatSystemHeatSysRoomRoom ( _heatSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat , HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat , HeatSystemHeatSysRoomRoom_heatReqidleHeat , HeatSystemHeatSysRoomRoom_heatReqwaitForCool , null }; -- 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.t7 : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat; _heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat; _heatSystem.t5 | _heatSystem.t8 : HeatSystemHeatSysRoomRoom_heatReqidleHeat; _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysRoomRoom_heatReqwaitForCool; _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat; TRUE : state; esac; -- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysControllerController -- MODULE HeatingSystemHeatSystemHeatSysControllerController ( _heatSystem ) -- This part declares state variables for the given NuSMV module -- VAR state : { HeatSystemHeatSysControllerController_Controlleroff , HeatSystemHeatSysControllerController_ControllerOnidle , HeatSystemHeatSysControllerController_heaterActiveactHeater , HeatSystemHeatSysControllerController_heaterActiveheaterRun , HeatSystemHeatSysControllerController_Controllererror , null }; -- 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.t15 | _heatSystem.t22 | _heatSystem.t12 | _heatSystem.t19 | _heatSystem.t23 : HeatSystemHeatSysControllerController_Controlleroff; _heatSystem.t17 | _heatSystem.t11 | _heatSystem.t21 : HeatSystemHeatSysControllerController_ControllerOnidle; _heatSystem.t14 : HeatSystemHeatSysControllerController_heaterActiveactHeater; _heatSystem.t18 : HeatSystemHeatSysControllerController_heaterActiveheaterRun; _heatSystem.t16 | _heatSystem.t13 | _heatSystem.t20 : HeatSystemHeatSysControllerController_Controllererror; _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysControllerController_Controlleroff; 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_furnaceNormalfurnaceOff , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct , HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr , null }; -- 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.t27 | _heatSystem.t32 | _heatSystem.t29 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; _heatSystem.t31 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun; _heatSystem.t25 | _heatSystem.t30 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct; _heatSystem.t26 | _heatSystem.t24 | _heatSystem.t28 : HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr; _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff; 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( heatingSystemHeatSystemHeatSysRoomRoom , heatingSystemHeatSystemHeatSysControllerController , heatingSystemHeatSystemHeatSysFurnaceFurnace ); heatingSystemHeatSystemHeatSysRoomRoom : HeatingSystemHeatSystemHeatSysRoomRoom( heatingSystemHeatSystem ); heatingSystemHeatSystemHeatSysControllerController : HeatingSystemHeatSystemHeatSysControllerController( heatingSystemHeatSystem ); heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem ); -- 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.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct ) CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr ) 8 15 sm : cruise.umple.compiler.State@1b3aa246[name:stable,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 1abc3085 : 0 cruise.umple.compiler.State@32c8df0b[name:Counter,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[6,12] stateMachine = 1abc3085 : 3 Bit1 : cruise.umple.compiler.State@4037a204[name:Bit1Bit11,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,8] stateMachine = ed110d6 : 0 cruise.umple.compiler.State@75922191[name:Bit1Bit12,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,16] stateMachine = ed110d6 : 0 Bit2 : cruise.umple.compiler.State@15688af[name:Bit2Bit21,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[19,8] stateMachine = 7c8c2d03 : 0 cruise.umple.compiler.State@7addc5e4[name:Bit2Bit22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[20,16] stateMachine = 7c8c2d03 : 0 Status : cruise.umple.compiler.State@1e27ed87[name:StatusCounting,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[28,9] stateMachine = 2b811d1c : 2 cruise.umple.compiler.State@36f8c95a[name:StatusMax,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[23,16] stateMachine = 2b811d1c : 0 Bit3 : cruise.umple.compiler.State@221ec884[name:Bit3Bit31,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[30,13] stateMachine = 3f44295 : 0 Bit4 : cruise.umple.compiler.State@20bed60a[name:Bit4Bit41,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[31,21] stateMachine = 507c795e : 0 -- This file is generated from EnhancedBitCounter.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ASm -- MODULE ASm ( _smCounterBit1Bit1 , _smCounterBit2Bit2 , _smCounterStatusStatus , _smCounterStatusStatusStatusCountingBit3Bit3 , _smCounterStatusStatusStatusCountingBit4Bit4 ) -- 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_Bit1Bit11; t3 := event = ev_e2 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit12; t4 := event = ev_e1 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit21; t5 := event = ev_e2 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit22; t6 := event = ev_reset & _smCounterStatusStatus.state = SmCounterStatusStatus_StatusMax; t7 := event = ev_e1 & _smCounterStatusStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31; t8 := event = ev_e2 & _smCounterStatusStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41; -- 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_Bit1Bit11 , SmCounterBit1Bit1_Bit1Bit12 , null }; -- 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_Bit1Bit11; _sm.t2 : SmCounterBit1Bit1_Bit1Bit12; _sm.state = Sm_Counter & state = null : SmCounterBit1Bit1_Bit1Bit11; 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_Bit2Bit21 , SmCounterBit2Bit2_Bit2Bit22 , null }; -- 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_Bit2Bit22; _sm.state = Sm_Counter & state = null : SmCounterBit2Bit2_Bit2Bit21; 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_StatusCounting , SmCounterStatusStatus_StatusMax , null }; -- 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_StatusCounting; _sm.t5 : SmCounterStatusStatus_StatusMax; _sm.state = Sm_Counter & state = null : SmCounterStatusStatus_StatusCounting; TRUE : state; esac; -- This defines a NuSMV module for ASmCounterStatusStatusStatusCountingBit3Bit3 -- MODULE ASmCounterStatusStatusStatusCountingBit3Bit3 ( _sm , _smCounterStatusStatus ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31 , null }; -- 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 : SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31; _smCounterStatusStatus.state = SmCounterStatusStatus_StatusCounting & state = null : SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31; TRUE : state; esac; -- This defines a NuSMV module for ASmCounterStatusStatusStatusCountingBit4Bit4 -- MODULE ASmCounterStatusStatusStatusCountingBit4Bit4 ( _sm , _smCounterStatusStatus ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41 , null }; -- 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 : SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41; _smCounterStatusStatus.state = SmCounterStatusStatus_StatusCounting & state = null : SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41; 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 , aSmCounterStatusStatusStatusCountingBit3Bit3 , aSmCounterStatusStatusStatusCountingBit4Bit4 ); aSmCounterBit1Bit1 : ASmCounterBit1Bit1( aSm ); aSmCounterBit2Bit2 : ASmCounterBit2Bit2( aSm ); aSmCounterStatusStatus : ASmCounterStatusStatus( aSm ); aSmCounterStatusStatusStatusCountingBit3Bit3 : ASmCounterStatusStatusStatusCountingBit3Bit3( aSm , aSmCounterStatusStatus ); aSmCounterStatusStatusStatusCountingBit4Bit4 : ASmCounterStatusStatusStatusCountingBit4Bit4( 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_StatusMax & aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit11 ) ) INVARSPEC ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t8 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusMax & aSm_Machine.aSmCounterStatusStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31 ) ) -- 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_Bit1Bit11 ) CTLSPEC EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit12 ) CTLSPEC EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit21 ) CTLSPEC EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit22 ) CTLSPEC EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusCounting ) CTLSPEC EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusMax ) CTLSPEC EF( aSm_Machine.aSmCounterStatusStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31 ) CTLSPEC EF( aSm_Machine.aSmCounterStatusStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41 ) 24 22 sm : cruise.umple.compiler.State@3cc3914a[name:heatingSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[22,2] stateMachine = 5d066f : 3 room : cruise.umple.compiler.State@5c39ec34[name:noHeatReqidleNotHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[26,6] stateMachine = 362aa318 : 0 cruise.umple.compiler.State@16433d56[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,76] stateMachine = 362aa318 : 0 cruise.umple.compiler.State@7ec53f8f[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[37,6] stateMachine = 362aa318 : 0 cruise.umple.compiler.State@6d0e242f[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[38,76] stateMachine = 362aa318 : 0 controller : cruise.umple.compiler.State@edf68f5[name:controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[50,5] stateMachine = 1f94df5 : 0 cruise.umple.compiler.State@56972302[name:controllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[56,6] stateMachine = 1f94df5 : 0 cruise.umple.compiler.State@4a244aa3[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[61,7] stateMachine = 1f94df5 : 0 cruise.umple.compiler.State@3f491bd2[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[62,36] stateMachine = 1f94df5 : 0 cruise.umple.compiler.State@74947f2b[name:controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[55,22] stateMachine = 1f94df5 : 0 furnace : cruise.umple.compiler.State@1b74dd88[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[76,5] stateMachine = 736ded17 : 0 cruise.umple.compiler.State@40def23[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[77,58] stateMachine = 736ded17 : 0 cruise.umple.compiler.State@5337a5ae[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[82,75] stateMachine = 736ded17 : 0 cruise.umple.compiler.State@6e92aadd[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[75,21] stateMachine = 736ded17 : 0 -- This file is generated from RoomHeatingSystem.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for HeatControlSystemSm -- MODULE HeatControlSystemSm ( _smHeatingSystemRoomRoom , _smHeatingSystemControllerController , _smHeatingSystemFurnaceFurnace ) -- 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__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & g1; t2 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g2; t3 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g3; t4 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g4; t5 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g5; t6 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat & g6; t7 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g7; t8 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g8; t9 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g9; t10 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g10; t11 := event = ev_heatSwitchOn & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controlleroff; t12 := event = ev_heatSwitchOff & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle; t13 := event = ev_furnaceFault & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle; t14 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle & g11; t15 := event = ev_heatSwitchOff & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater; t16 := event = ev_furnaceFault & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater; t17 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater & g12; t18 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater & g13; t19 := event = ev_heatSwitchOff & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun; t20 := event = ev_furnaceFault & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun; t21 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun & g12; t22 := event = ev_userReset & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllererror; t23 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff; t24 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff & g14; t25 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct; t26 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & g15; t27 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & g16; t28 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & g17; t29 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun; t30 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun & g15; t31 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnacefurnaceErr & g18; 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 := activate = TRUE; g15 := deactivate = TRUE; g16 := furnaceStartUpTime < furnaceTimer; g17 := furnaceStartUpTime = furnaceTimer; g18 := furnaceReset = TRUE; -- 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 | t2 | t5 | t6 | t9 | t15 | t22 | t17 | t14 | t13 | t20 | t26 | t24 | t28 | t25 | t4 | t1 | t3 | t10 | t7 | t12 | t19 | t11 | t21 | t18 | t16 | t31 | t30 | t27 | t23 | t29 : 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 HeatControlSystemSmHeatingSystemRoomRoom -- MODULE HeatControlSystemSmHeatingSystemRoomRoom ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmHeatingSystemRoomRoom_noHeatReqidleNotHeat , SmHeatingSystemRoomRoom_noHeatReqwaitForHeat , SmHeatingSystemRoomRoom_heatReqidleHeat , SmHeatingSystemRoomRoom_heatReqwaitForCool , null }; -- 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.t8 : SmHeatingSystemRoomRoom_noHeatReqidleNotHeat; _sm.t2 | _sm.t1 | _sm.t3 : SmHeatingSystemRoomRoom_noHeatReqwaitForHeat; _sm.t5 | _sm.t10 : SmHeatingSystemRoomRoom_heatReqidleHeat; _sm.t7 | _sm.t6 | _sm.t9 : SmHeatingSystemRoomRoom_heatReqwaitForCool; _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemRoomRoom_noHeatReqidleNotHeat; TRUE : state; esac; -- This defines a NuSMV module for HeatControlSystemSmHeatingSystemControllerController -- MODULE HeatControlSystemSmHeatingSystemControllerController ( _sm ) -- This part declares state variables for the given NuSMV module -- VAR state : { SmHeatingSystemControllerController_controlleroff , SmHeatingSystemControllerController_controllerOnidle , SmHeatingSystemControllerController_heaterActiveactHeater , SmHeatingSystemControllerController_heaterActiveheaterRun , SmHeatingSystemControllerController_controllererror , null }; -- 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.t19 | _sm.t15 | _sm.t22 : SmHeatingSystemControllerController_controlleroff; _sm.t17 | _sm.t11 | _sm.t21 : SmHeatingSystemControllerController_controllerOnidle; _sm.t14 : SmHeatingSystemControllerController_heaterActiveactHeater; _sm.t18 : SmHeatingSystemControllerController_heaterActiveheaterRun; _sm.t16 | _sm.t13 | _sm.t20 : SmHeatingSystemControllerController_controllererror; _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemControllerController_controlleroff; 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_furnaceNormalfurnaceOff , SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct , SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun , SmHeatingSystemFurnaceFurnace_furnacefurnaceErr , null }; -- 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.t26 | _sm.t31 | _sm.t30 : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff; _sm.t24 | _sm.t27 : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct; _sm.t28 : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun; _sm.t25 | _sm.t23 | _sm.t29 : SmHeatingSystemFurnaceFurnace_furnacefurnaceErr; _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff; 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( heatControlSystemSmHeatingSystemRoomRoom , heatControlSystemSmHeatingSystemControllerController , heatControlSystemSmHeatingSystemFurnaceFurnace ); heatControlSystemSmHeatingSystemRoomRoom : HeatControlSystemSmHeatingSystemRoomRoom( heatControlSystemSm ); heatControlSystemSmHeatingSystemControllerController : HeatControlSystemSmHeatingSystemControllerController( heatControlSystemSm ); heatControlSystemSmHeatingSystemFurnaceFurnace : HeatControlSystemSmHeatingSystemFurnaceFurnace( heatControlSystemSm ); -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR heatControlSystemSm_Machine : HeatControlSystemSm_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.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t4 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t8 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t9 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t9 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t17 & heatControlSystemSm_Machine.heatControlSystemSm.t18 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t26 & heatControlSystemSm_Machine.heatControlSystemSm.t27 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t26 & heatControlSystemSm_Machine.heatControlSystemSm.t28 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun ) ) INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t27 & heatControlSystemSm_Machine.heatControlSystemSm.t28 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun ) ) -- 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.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controlleroff ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllererror ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun ) CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnacefurnaceErr ) 35 17 state : cruise.umple.compiler.State@1f47e14d[name:neutral,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,4] stateMachine = 1be551ec : 0 cruise.umple.compiler.State@563bbf74[name:reverse,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,23] stateMachine = 1be551ec : 0 cruise.umple.compiler.State@72eed4db[name:firstfirst_one,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[32,4] stateMachine = 1be551ec : 0 cruise.umple.compiler.State@52031e42[name:firstfirst_two,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[33,11] stateMachine = 1be551ec : 2 cruise.umple.compiler.State@63d85fdf[name:drivesecond,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[17,22] stateMachine = 1be551ec : 0 cruise.umple.compiler.State@68938ccf[name:drivethird,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[67,44] stateMachine = 1be551ec : 0 first_two_one : cruise.umple.compiler.State@6cdfd50a[name:first_two_onefirst_two_one_one,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[41,6] stateMachine = 26e437dd : 0 first_two_two : cruise.umple.compiler.State@763b279[name:first_two_twofirst_two_two_one,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[48,6] stateMachine = 73e2a3ae : 0 cruise.umple.compiler.State@61874f5d[name:first_two_twos21,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[49,20] stateMachine = 73e2a3ae : 0 cruise.umple.compiler.State@66dad66f[name:first_two_twos22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[51,18] stateMachine = 73e2a3ae : 0 cruise.umple.compiler.State@7cb040b7[name:s24s31,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[54,21] stateMachine = 73e2a3ae : 0 cruise.umple.compiler.State@1aa9635c[name:s24s32,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[57,20] stateMachine = 73e2a3ae : 0 -- This file is generated from CarTransmission.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CarTransmissionState -- MODULE CarTransmissionState ( _stateFirstfirst_twoFirst_two_oneFirst_two_one , _stateFirstfirst_twoFirst_two_twoFirst_two_two ) -- This part declares state variables for the given NuSMV module -- VAR state : { State_neutral , State_reverse , State_firstfirst_one , State_firstfirst_two , State_drivesecond , State_drivethird }; event : { ev_e11 , ev_e10 , ev_selectFirst , ev_selectNeutral , ev_dropBelowSecondSpeed , ev_selectReverse , ev_e1 , ev_e2 , ev_e3 , ev_e5 , ev_e7 , ev_selectDrive , ev_e9 , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , 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_e10 | event = ev_selectNeutral | event = ev_selectReverse | event = ev_e2 | event = ev_e5 | event = ev_selectDrive | event = ev_reachSecondSpeed | event = ev_reachThirdSpeed | event = ev_e11 | event = ev_selectFirst | event = ev_dropBelowSecondSpeed | event = ev_e1 | event = ev_e3 | event = ev_e7 | event = ev_e9 | event = ev_selectSecond | 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_firstfirst_one; t7 := event = ev_selectFirst & state = State_firstfirst_one; t8 := event = ev_selectSecond & state = State_firstfirst_one; t9 := event = ev_reachSecondSpeed & state = State_firstfirst_one & g1; t10 := event = ev_e1 & state = State_firstfirst_one; t11 := event = ev_selectNeutral & state = State_firstfirst_two; t12 := event = ev_selectFirst & state = State_firstfirst_two; t13 := event = ev_selectSecond & state = State_firstfirst_two; t14 := event = ev_reachSecondSpeed & state = State_firstfirst_two & g1; t15 := event = ev_selectNeutral & state = State_drivesecond; t16 := event = ev_selectFirst & state = State_drivesecond; t17 := event = ev_selectSecond & state = State_drivesecond; t18 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g2; t19 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g3; t20 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g4; t21 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g5; t22 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g6; t23 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g7; t24 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g8; t25 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g9; t26 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g10; t27 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g11; t28 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g12; t29 := event = ev_reachThirdSpeed & state = State_drivesecond & g13; t30 := event = ev_selectNeutral & state = State_drivethird; t31 := event = ev_selectFirst & state = State_drivethird; t32 := event = ev_selectSecond & state = State_drivethird; t33 := event = ev_dropBelowThirdSpeed & state = State_drivethird & g12; t34 := event = ev_dropBelowThirdSpeed & state = State_drivethird; t35 := event = ev_e1 & _stateFirstfirst_twoFirst_two_oneFirst_two_one.state != null; t36 := event = ev_e2 & _stateFirstfirst_twoFirst_two_oneFirst_two_one.state != null; t37 := event = ev_e1 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state != null; t38 := event = ev_e2 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one; t39 := event = ev_e5 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21; t40 := event = ev_e7 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22; t41 := event = ev_e11 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22; t42 := event = ev_e2 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31; t43 := event = ev_e3 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31; t44 := event = ev_e9 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31; t45 := event = ev_e10 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31; t46 := event = ev_e2 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32; t47 := event = ev_e3 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32; g1 := driveSelected; g2 := ((a > b) | (driveSelected & ((b < a) | (c >= b)))); g3 := ((a + c) > b); g4 := (a - c) > b; g5 := (a - c) > (b + 2); g6 := (a - c) > (b * 2); g7 := ((a - c) > (b * 2)) & driveSelected; g8 := ((a - c) > (b * 2)) | ((a - c) > (b * 2)); g9 := ((a - c) > (b * 2)) | ((a - c) > (b^2)); g10 := ((a - c) > (b * 2)) | driveSelected; g11 := ((a - c) > (b * 2)) != ((a - c) > (b^2)); g12 := ((a - c) > (b * 2)) = ((a - c) > (b^2)); g13 := !driveSelected; -- 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 t6 | t15 | t5 | t11 | t30 : State_neutral; t1 : State_reverse; t3 | t12 | t31 | t19 | t21 | t23 | t25 | t27 | t2 | t7 | t16 | t18 | t20 | t22 | t24 | t26 | t28 : State_firstfirst_one; t10 | t37 | t38 | t43 | t39 | t44 | t46 | t35 | t36 | t40 | t47 | t41 | t42 | t45 : State_firstfirst_two; t8 | t17 | t9 | t33 | t4 | t13 | t32 | t14 | t34 : State_drivesecond; t29 : State_drivethird; 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_e11 , ev_e10 , ev_selectFirst , ev_selectNeutral , ev_dropBelowSecondSpeed , ev_selectReverse , ev_e1 , ev_e2 , ev_e3 , ev_e5 , ev_e7 , ev_selectDrive , ev_e9 , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , 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 CarTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one -- MODULE CarTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one ( _state ) -- This part declares state variables for the given NuSMV module -- VAR state : { StateFirstfirst_twoFirst_two_oneFirst_two_one_first_two_onefirst_two_one_one , null }; -- 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.t3 | _state.t5 | _state.t7 | _state.t9 | _state.t11 | _state.t13 | _state.t15 | _state.t17 | _state.t19 | _state.t21 | _state.t23 | _state.t25 | _state.t27 | _state.t29 | _state.t31 | _state.t33 | _state.t35 | _state.t2 | _state.t4 | _state.t6 | _state.t8 | _state.t10 | _state.t12 | _state.t14 | _state.t16 | _state.t18 | _state.t20 | _state.t22 | _state.t24 | _state.t26 | _state.t28 | _state.t30 | _state.t32 | _state.t34 | _state.t37 : null; _state.state = State_firstfirst_two & state = null : StateFirstfirst_twoFirst_two_oneFirst_two_one_first_two_onefirst_two_one_one; TRUE : state; esac; -- This defines a NuSMV module for CarTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two -- MODULE CarTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two ( _state ) -- This part declares state variables for the given NuSMV module -- VAR state : { StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one , StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21 , StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22 , StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31 , StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32 , null }; -- 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.t3 | _state.t5 | _state.t7 | _state.t9 | _state.t11 | _state.t13 | _state.t15 | _state.t17 | _state.t19 | _state.t21 | _state.t23 | _state.t25 | _state.t27 | _state.t29 | _state.t31 | _state.t33 | _state.t35 | _state.t2 | _state.t4 | _state.t6 | _state.t8 | _state.t10 | _state.t12 | _state.t14 | _state.t16 | _state.t18 | _state.t20 | _state.t22 | _state.t24 | _state.t26 | _state.t28 | _state.t30 | _state.t32 | _state.t34 | _state.t37 : null; _state.t38 | _state.t43 | _state.t40 | _state.t47 : StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21; _state.t39 : StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22; _state.t41 | _state.t44 : StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31; _state.t46 | _state.t42 | _state.t45 : StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32; _state.state = State_firstfirst_two & state = null : StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one; 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( carTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one , carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two ); carTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one : CarTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one( carTransmissionState ); carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two : CarTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two( 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_firstfirst_one ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_firstfirst_two ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_drivesecond ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_drivethird ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one.state = StateFirstfirst_twoFirst_two_oneFirst_two_one_first_two_onefirst_two_one_one ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21 ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22 ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31 ) CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32 ) 13 10 sm : cruise.umple.compiler.State@4310007c[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 3c247c8d : 0 cruise.umple.compiler.State@6233bca8[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,12] stateMachine = 3c247c8d : 2 s21 : cruise.umple.compiler.State@6895b608[name:s21a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,8] stateMachine = 2b454886 : 0 cruise.umple.compiler.State@349a8977[name:s21b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[11,16] stateMachine = 2b454886 : 0 cruise.umple.compiler.State@4b33b5b0[name:s21c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,16] stateMachine = 2b454886 : 0 s22 : cruise.umple.compiler.State@ed37f28[name:s22d,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[24,8] stateMachine = f53070c : 0 cruise.umple.compiler.State@6fe2f6a0[name:s22e,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[26,16] stateMachine = f53070c : 0 cruise.umple.compiler.State@392a40d9[name:s22f,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[25,16] stateMachine = f53070c : 0 -- This file is generated from OutgoingTransitionOfConcurrentState.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ASm -- MODULE ASm ( _smS2S21S21 , _smS2S22S22 ) -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 }; event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 ); t1 := event = ev_e1 & state = Sm_s1; t2 := event = ev_e4 & state = Sm_s2; t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21a; t4 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21b; t5 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21b; t6 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21c; t7 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21c; t8 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22d; t9 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22d; t10 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_s22d; t11 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22e; t12 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22f; t13 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22f; -- 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 | t5 | t12 | t10 | t4 | 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_s21a , SmS2S21S21_s21b , SmS2S21S21_s21c , null }; -- 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.t4 : SmS2S21S21_s21a; _sm.t3 | _sm.t6 : SmS2S21S21_s21b; _sm.t5 : SmS2S21S21_s21c; _sm.state = Sm_s2 & state = null : SmS2S21S21_s21a; 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_s22d , SmS2S22S22_s22e , SmS2S22S22_s22f , null }; -- 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_s22e; _sm.t10 | _sm.t8 | _sm.t11 : SmS2S22S22_s22f; _sm.state = Sm_s2 & state = null : SmS2S22S22_s22d; 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_s22e ) ) INVARSPEC ( aSm_Machine.aSm.t13 & aSm_Machine.aSm.t4 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21a ) ) -- 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_s21a ) CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21b ) CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21c ) CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22d ) CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e ) CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22f ) 3 2 sm : cruise.umple.compiler.State@2b9ea20c[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,4] stateMachine = 9b5ff2e : 0 cruise.umple.compiler.State@9d7d83d[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,58] stateMachine = 9b5ff2e : 0 -- This file is generated from JavaDataTypes.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ExampleSm -- MODULE ExampleSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 }; event : { ev_e1 , ev_e2 , ev_e3 , ev_null }; a : integer; b : integer; c : real; d : real; e : real; h : boolean; f : integer; g : integer; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 ); t1 := event = ev_e1 & state = Sm_s1 & g1; t2 := event = ev_e2 & state = Sm_s1; t3 := event = ev_e3 & state = Sm_s1; g1 := h = TRUE; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_s1; next( state ) := case t2 | t1 | t3 : Sm_s2; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case sm_stable : { ev_e1 , ev_e2 , ev_e3 }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module -- ASSIGN init( a ) := 10; -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module -- ASSIGN init( b ) := 20; -- This part defines logic for the assignment of values to state variable "c" of this NuSMV module -- ASSIGN init( c ) := 0.566; -- This part defines logic for the assignment of values to state variable "d" of this NuSMV module -- ASSIGN init( d ) := 0.566; -- This part defines logic for the assignment of values to state variable "e" of this NuSMV module -- ASSIGN init( e ) := 0.566; -- This part defines logic for the assignment of values to state variable "h" of this NuSMV module -- ASSIGN init( h ) := FALSE; -- This part defines logic for the assignment of values to state variable "f" of this NuSMV module -- ASSIGN init( f ) := 0; -- This part defines logic for the assignment of values to state variable "g" of this NuSMV module -- ASSIGN init( g ) := 0; -- This defines a NuSMV module for ExampleSm_Machine -- MODULE ExampleSm_Machine -- This part declares state variables for the given NuSMV module -- VAR exampleSm : ExampleSm; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR exampleSm_Machine : ExampleSm_Machine; -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( exampleSm_Machine.exampleSm.state = Sm_s1 ) CTLSPEC EF( exampleSm_Machine.exampleSm.state = Sm_s2 ) 15 10 sm : cruise.umple.compiler.State@154f5d37[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[3,4] stateMachine = 58c84be1 : 0 cruise.umple.compiler.State@2e7227e6[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[4,12] stateMachine = 58c84be1 : 2 s21 : cruise.umple.compiler.State@43dc6864[name:s21a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[9,8] stateMachine = 2c1523cd : 0 cruise.umple.compiler.State@3698f2ed[name:s21b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[10,16] stateMachine = 2c1523cd : 0 cruise.umple.compiler.State@9eaaecf[name:s21c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,16] stateMachine = 2c1523cd : 0 s22 : cruise.umple.compiler.State@29d578de[name:s22d,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[24,8] stateMachine = 2c5b2d62 : 0 cruise.umple.compiler.State@5da5bd9e[name:s22e,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[15,16] stateMachine = 2c5b2d62 : 0 cruise.umple.compiler.State@165ec33[name:s22f,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[25,16] stateMachine = 2c5b2d62 : 0 -- This file is generated from OutgoingTransitionOfConcurrentStateWithAndCross1.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ASm -- MODULE ASm ( _smS2S21S21 , _smS2S22S22 ) -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 }; event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null }; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 ); t1 := event = ev_e1 & state = Sm_s1; t2 := event = ev_e4 & state = Sm_s2; t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21a; t4 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21b; t5 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21b; t6 := event = ev_e3 & _smS2S21S21.state = SmS2S21S21_s21b; t7 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21c; t8 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21c; t9 := event = ev_e5 & _smS2S22S22.state != null; t10 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22d; t11 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22d; t12 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_s22d; t13 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22e; t14 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22f; t15 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22f; -- 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 | t9 | t8 | t15 : Sm_s1; t4 | t7 | t6 | t14 | t12 | t1 | t3 | t5 | 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_s21a , SmS2S21S21_s21b , SmS2S21S21_s21c , null }; -- 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.t4 : SmS2S21S21_s21a; _sm.t3 | _sm.t7 : SmS2S21S21_s21b; _sm.t5 : SmS2S21S21_s21c; _sm.state = Sm_s2 & state = null : SmS2S21S21_s21a; 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_s22d , SmS2S22S22_s22e , SmS2S22S22_s22f , null }; -- 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_s22e; _sm.t12 | _sm.t10 | _sm.t13 : SmS2S22S22_s22f; _sm.state = Sm_s2 & state = null : SmS2S22S22_s22d; 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_s22e ) ) INVARSPEC ( aSm_Machine.aSm.t15 & aSm_Machine.aSm.t4 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21a ) ) INVARSPEC ( aSm_Machine.aSm.t6 & aSm_Machine.aSm.t12 -> next( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22f ) ) -- 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_s21a ) CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21b ) CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21c ) CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22d ) CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e ) CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22f ) 13 10 sm : cruise.umple.compiler.State@10fc01e0[name:ZxZ,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,7] stateMachine = 6a2cd5ea : 0 cruise.umple.compiler.State@1c68601b[name:ZxX,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[14,16] stateMachine = 6a2cd5ea : 0 cruise.umple.compiler.State@3128be29[name:ZxabA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[15,17] stateMachine = 6a2cd5ea : 0 cruise.umple.compiler.State@412b4aed[name:ZxabB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[22,15] stateMachine = 6a2cd5ea : 0 cruise.umple.compiler.State@4da454a7[name:D,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[21,15] stateMachine = 6a2cd5ea : 0 cruise.umple.compiler.State@12139db0[name:GeG,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[18,15] stateMachine = 6a2cd5ea : 0 cruise.umple.compiler.State@66beb02d[name:GeE,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[27,11] stateMachine = 6a2cd5ea : 0 -- This file is generated from BigStateMachineWithNakedTransition.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for BigStateMachineTestSm -- MODULE BigStateMachineTestSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_ZxZ , Sm_ZxX , Sm_ZxabA , Sm_ZxabB , Sm_D , Sm_GeG , Sm_GeE }; 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_ZxZ; t2 := event = ev_e4 & state = Sm_ZxZ; t3 := event = ev_e5 & state = Sm_ZxZ; t4 := event = ev_e3 & state = Sm_ZxZ; t5 := event = ev_e2 & state = Sm_ZxZ; t6 := event = ev_e1 & state = Sm_ZxX; t7 := event = ev_e4 & state = Sm_ZxX; t8 := event = ev_e5 & state = Sm_ZxX; t9 := event = ev_e1 & state = Sm_ZxabA; t10 := event = ev_e4 & state = Sm_ZxabA; t11 := event = ev_e5 & state = Sm_ZxabA; t12 := event = ev_e3 & state = Sm_ZxabA; t13 := event = ev_e1 & state = Sm_ZxabB; t14 := event = ev_e4 & state = Sm_ZxabB; t15 := event = ev_e3 & state = Sm_ZxabB; t16 := event = ev_e5 & state = Sm_D; t17 := event = ev_e2 & state = Sm_D; t18 := event = ev_e1 & state = Sm_GeG; t19 := event = ev_e1 & state = Sm_GeE; t20 := event = ev_e2 & state = Sm_GeE; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_ZxZ; next( state ) := case t16 | t4 : Sm_ZxX; t5 : Sm_ZxabA; t12 | t18 : Sm_ZxabB; t11 : Sm_D; t7 | t14 | t8 | t19 | t2 | t10 | t3 | t15 | t20 : Sm_GeG; t6 | t13 | t1 | t9 | t17 : Sm_GeE; 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 BigStateMachineTestSm_Machine -- MODULE BigStateMachineTestSm_Machine -- This part declares state variables for the given NuSMV module -- VAR bigStateMachineTestSm : 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_ZxZ ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxX ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabA ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabB ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_D ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeG ) CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeE ) 9 11 state : cruise.umple.compiler.State@26b3eb48[name:s1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[5,4] stateMachine = 45db8ba6 : 2 cruise.umple.compiler.State@6c826924[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[8,20] stateMachine = 45db8ba6 : 0 A : cruise.umple.compiler.State@2809e7ab[name:As11,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,8] stateMachine = 1159a049 : 0 cruise.umple.compiler.State@8c68f7f[name:As12,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[7,20] stateMachine = 1159a049 : 0 B : cruise.umple.compiler.State@77f21c0a[name:Bs21,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,8] stateMachine = 10a199e0 : 0 cruise.umple.compiler.State@4ca62855[name:Bs22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,20] stateMachine = 10a199e0 : 0 cruise.umple.compiler.State@70a7ebc9[name:s24s31,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[15,17] stateMachine = 10a199e0 : 0 cruise.umple.compiler.State@1752ab9b[name:s24s32,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[20,34] stateMachine = 10a199e0 : 0 -- This file is generated from concurrentMachineExample.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for ExampleState -- MODULE ExampleState ( _stateS1AA , _stateS1BB ) -- 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_As11; t2 := event = ev_e1 & _stateS1AA.state = StateS1AA_As12; t3 := event = ev_e5 & _stateS1BB.state = StateS1BB_Bs21; t4 := event = ev_e7 & _stateS1BB.state = StateS1BB_Bs22; t5 := event = ev_e11 & _stateS1BB.state = StateS1BB_Bs22; t6 := event = ev_e3 & _stateS1BB.state = StateS1BB_s24s31; t7 := event = ev_e1 & _stateS1BB.state = StateS1BB_s24s31; t8 := event = ev_e9 & _stateS1BB.state = StateS1BB_s24s31; t9 := event = ev_e10 & _stateS1BB.state = StateS1BB_s24s31; t10 := event = ev_e3 & _stateS1BB.state = StateS1BB_s24s32; t11 := event = ev_e1 & _stateS1BB.state = StateS1BB_s24s32; -- 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 t1 | t6 | t3 | t8 | t4 | t10 | t5 | t9 : State_s1; t7 | t2 | t11 : 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_As11 , StateS1AA_As12 , null }; -- 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.t7 | _state.t2 | _state.t11 : null; _state.t1 : StateS1AA_As12; _state.state = State_s1 & state = null : StateS1AA_As11; 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_Bs21 , StateS1BB_Bs22 , StateS1BB_s24s31 , StateS1BB_s24s32 , null }; -- 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.t7 | _state.t2 | _state.t11 : null; _state.t6 | _state.t4 | _state.t10 : StateS1BB_Bs21; _state.t3 : StateS1BB_Bs22; _state.t5 | _state.t8 : StateS1BB_s24s31; _state.t9 : StateS1BB_s24s32; _state.state = State_s1 & state = null : StateS1BB_Bs21; 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 ); exampleStateS1AA : ExampleStateS1AA( exampleState ); exampleStateS1BB : ExampleStateS1BB( exampleState ); -- 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_As11 ) CTLSPEC EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_As12 ) CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_Bs21 ) CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_Bs22 ) CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s24s31 ) CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s24s32 ) 1 2 sm : cruise.umple.compiler.State@f0a6b04[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[12,4] stateMachine = 677480c8 : 0 cruise.umple.compiler.State@5a1f4fa4[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:] position=[13,27] stateMachine = 677480c8 : 0 -- This file is generated from InputVarTest.ump -- -- PLEASE DO NOT EDIT THIS CODE -- -- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! -- -- This defines a NuSMV module for CruiseControlSystemSm -- MODULE CruiseControlSystemSm -- This part declares state variables for the given NuSMV module -- VAR state : { Sm_s1 , Sm_s2 }; event : { ev_a , ev_null }; c : integer; -- This part declares input variables for the given NuSMV module -- IVAR ayo : integer; bayo : real; baro : boolean; -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module -- DEFINE sm_stable := !( event = ev_a ); t1 := event = ev_a & state = Sm_s1; aa := 5; bb := 5; cc := 5.00; -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module -- ASSIGN init( state ) := Sm_s1; next( state ) := case t1 : Sm_s2; TRUE : state; esac; -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module -- ASSIGN init( event ) := ev_null; next( event ) := case sm_stable : { ev_a }; TRUE : ev_null; esac; -- This part defines logic for the assignment of values to state variable "c" of this NuSMV module -- ASSIGN init( c ) := 0; -- This defines a NuSMV module for CruiseControlSystemSm_Machine -- MODULE CruiseControlSystemSm_Machine -- This part declares state variables for the given NuSMV module -- VAR cruiseControlSystemSm : CruiseControlSystemSm; -- This defines a NuSMV module for main -- MODULE main -- This part declares state variables for the given NuSMV module -- VAR cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine; -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 ) CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 )