10
6
status : cruise.umple.compiler.State@7d5fb53a[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,4]
stateMachine = 1e364cea : 0
cruise.umple.compiler.State@3e3a7482[name:OpenNotEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,26]
stateMachine = 1e364cea : 0
cruise.umple.compiler.State@61cbd0c0[name:OpenEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,35]
stateMachine = 1e364cea : 0
cruise.umple.compiler.State@613d4fa6[name:Cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 1e364cea : 0
cruise.umple.compiler.State@4d400e77[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,29]
stateMachine = 1e364cea : 0
-- This file is generated from CourseSectionNested.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@5ae6a240[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 56b9a73c : 2
cruise.umple.compiler.State@41576e84[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 56b9a73c : 0
state11 : cruise.umple.compiler.State@37930f48[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 58084f58 : 0
cruise.umple.compiler.State@43139322[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 58084f58 : 0
state12 : cruise.umple.compiler.State@39caf68a[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,8]
stateMachine = 160c47b4 : 0
cruise.umple.compiler.State@ce4a8a2[name:state122state1221,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 160c47b4 : 0
-- This file is generated from AndCrossExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@14aeb8e6[name:SingleLaneBridge,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,3]
stateMachine = 373efaa2 : 9
RedA : cruise.umple.compiler.State@7dc779bb[name:RedAwaitRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,13]
stateMachine = 213451a4 : 0
cruise.umple.compiler.State@403ca4ec[name:RedAonRedA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,56]
stateMachine = 213451a4 : 0
RedB : cruise.umple.compiler.State@17bda3[name:RedBwaitRedB,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,13]
stateMachine = 465b16bb : 0
cruise.umple.compiler.State@45e1d6a5[name:RedBonRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,56]
stateMachine = 465b16bb : 0
BlueA : cruise.umple.compiler.State@60df0131[name:BlueAwaitBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,13]
stateMachine = 5d98522c : 0
cruise.umple.compiler.State@43e869ea[name:BlueAonBlueA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[39,57]
stateMachine = 5d98522c : 0
BlueB : cruise.umple.compiler.State@8f7cbcc[name:BlueBwaitBlueB,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[47,13]
stateMachine = 10b9956a : 0
cruise.umple.compiler.State@fafbc63[name:BlueBonBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[48,57]
stateMachine = 10b9956a : 0
BridgeStatus : cruise.umple.compiler.State@f083345[name:BridgeStatusempty,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[58,8]
stateMachine = 391720c3 : 0
cruise.umple.compiler.State@6559f04e[name:BridgeStatusoneRed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[59,46]
stateMachine = 391720c3 : 0
cruise.umple.compiler.State@17e71422[name:BridgeStatusoneBlue,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[60,49]
stateMachine = 391720c3 : 0
cruise.umple.compiler.State@59bb8f80[name:BridgeStatustwoRed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[64,40]
stateMachine = 391720c3 : 0
cruise.umple.compiler.State@592aad4c[name:BridgeStatustwoBlue,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[68,43]
stateMachine = 391720c3 : 0
redCoordEnt : cruise.umple.compiler.State@735beda7[name:redCoordEntcoordEntRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[82,6]
stateMachine = 5cb2a1ea : 0
cruise.umple.compiler.State@59f0f273[name:redCoordEntcoordEntRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[83,18]
stateMachine = 5cb2a1ea : 0
redCoordExit : cruise.umple.compiler.State@553c74cc[name:redCoordExitcoordExitRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[91,6]
stateMachine = 79a68d19 : 0
cruise.umple.compiler.State@3052ce36[name:redCoordExitcoordExitRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[92,19]
stateMachine = 79a68d19 : 0
blueCoordEnt : cruise.umple.compiler.State@6eefc125[name:blueCoordEntcoordEntBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[102,6]
stateMachine = 58435220 : 0
cruise.umple.compiler.State@15c0c274[name:blueCoordEntcoordEntBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[103,19]
stateMachine = 58435220 : 0
blueCoordExit : cruise.umple.compiler.State@33458d84[name:blueCoordExitcoordExitBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[111,6]
stateMachine = 23338420 : 0
cruise.umple.compiler.State@61231034[name:blueCoordExitcoordExitBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[112,20]
stateMachine = 23338420 : 0
-- This file is generated from SingleLaneBridge.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@492b12e5[name:Idle,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,4]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@3d7fc4b3[name:DoorClosingMovingUp,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,19]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@4ccfd904[name:DoorClosingMovingDown,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,21]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@5de25642[name:Moving,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,34]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@479885d[name:Stopping,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,57]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@47609e3d[name:DoorOpening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,35]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@7555782c[name:AtFloor,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,23]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@3aca7082[name:DoorClosing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[32,39]
stateMachine = 20ff27a4 : 0
cruise.umple.compiler.State@72b92ce6[name:CheckingNextDestination,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[36,22]
stateMachine = 20ff27a4 : 0
-- This file is generated from FlatElevator.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@338f9bb5[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 1f0f52d6 : 0
cruise.umple.compiler.State@23551fa1[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,20]
stateMachine = 1f0f52d6 : 0
cruise.umple.compiler.State@152a41ab[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,20]
stateMachine = 1f0f52d6 : 0
-- This file is generated from SingleEventMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@144d064a[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 282919de : 2
cruise.umple.compiler.State@c8293cb[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 282919de : 0
state11 : cruise.umple.compiler.State@4e2860d3[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 322b500a : 0
cruise.umple.compiler.State@52ac4878[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 322b500a : 0
state12 : cruise.umple.compiler.State@4a28852d[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,8]
stateMachine = 478b5a43 : 0
cruise.umple.compiler.State@2fc8e9b8[name:state12state122,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,16]
stateMachine = 478b5a43 : 0
-- This file is generated from AbstractConcurrentSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@17c533f3[name:s2a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 30386e95 : 0
cruise.umple.compiler.State@ab118b8[name:s2b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,12]
stateMachine = 30386e95 : 0
cruise.umple.compiler.State@2fe26f79[name:s1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 30386e95 : 0
-- This file is generated from AbstractMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@1b0964cf[name:time,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,4]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@84398a[name:date,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@365a9434[name:paused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@66a5a12c[name:running,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@58507830[name:lapRunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@793942d9[name:lapPaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[32,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@1b2092fe[name:bothOff,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@5047fc77[name:chimeOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[46,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@b8d8fb7[name:bothOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[50,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@38913b95[name:alarmOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[54,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@2739f91b[name:alarmTime,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,23]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@48720dcf[name:alarmHour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[64,29]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@2f65c341[name:alarmMinute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@1e1908ab[name:second,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,12]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@7680cb52[name:minute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[80,11]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@2e44bc38[name:hour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[85,11]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@2fba0d7a[name:month,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[90,11]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@79b01476[name:day,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[95,11]
stateMachine = 573d3ec6 : 0
cruise.umple.compiler.State@99a8a49[name:year,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[100,11]
stateMachine = 573d3ec6 : 0
-- This file is generated from DigitalWatchFlat.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@22479830[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 45a33515 : 2
cruise.umple.compiler.State@7effa21e[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 45a33515 : 0
state11 : cruise.umple.compiler.State@6253df71[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 7c4b5d13 : 0
cruise.umple.compiler.State@201cc412[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 7c4b5d13 : 0
state12 : cruise.umple.compiler.State@23707d5d[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,8]
stateMachine = 5fa49615 : 0
cruise.umple.compiler.State@7921eb37[name:state122state1221,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,16]
stateMachine = 5fa49615 : 0
-- This file is generated from nestedConcurrentMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@441eae0b[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 26562718 : 0
cruise.umple.compiler.State@1388c465[name:s21s211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 26562718 : 0
cruise.umple.compiler.State@48d1f239[name:s2s22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 26562718 : 0
-- This file is generated from MultiLevelStateMachineExampleCase2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@6acec4a1[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@30eb427c[name:InProgress,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,27]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@59c9e3b9[name:EvaluationByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,36]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@45bedfed[name:VerifiedByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,18]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@7269674d[name:SubmittedByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,16]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@187b33de[name:UnderAdministrativeReview,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,25]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@e39df43[name:UnderExpertReview,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,31]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@3dcb28de[name:AwaitingFinalDecision,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[35,45]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@4a16325[name:Accepted,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[46,21]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@450555ac[name:Rejected,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[48,16]
stateMachine = 24a26847 : 0
cruise.umple.compiler.State@5064988[name:Withdrawn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,18]
stateMachine = 24a26847 : 0
-- This file is generated from GrantApplication.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@1c696163[name:Open,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,6]
stateMachine = 247e1f35 : 0
cruise.umple.compiler.State@7a1b4074[name:Closing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,33]
stateMachine = 247e1f35 : 0
cruise.umple.compiler.State@475cb91b[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,25]
stateMachine = 247e1f35 : 0
cruise.umple.compiler.State@1069baea[name:Opening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,30]
stateMachine = 247e1f35 : 0
cruise.umple.compiler.State@44ba9865[name:HalfOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,30]
stateMachine = 247e1f35 : 0
-- This file is generated from ExampleFile.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@55c7ba5[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,5]
stateMachine = 48715ab : 0
cruise.umple.compiler.State@4077e676[name:s2s2a,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,8]
stateMachine = 48715ab : 0
cruise.umple.compiler.State@25c4d2a0[name:s2s2b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,14]
stateMachine = 48715ab : 0
cruise.umple.compiler.State@43a304ee[name:s2s2c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,16]
stateMachine = 48715ab : 0
cruise.umple.compiler.State@7fb57b7c[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[16,16]
stateMachine = 48715ab : 0
cruise.umple.compiler.State@e76aa[name:s4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 48715ab : 0
-- This file is generated from NestedMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@4aedac7f[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 7f8bc54e : 0
cruise.umple.compiler.State@2ed4e0e9[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,19]
stateMachine = 7f8bc54e : 0
cruise.umple.compiler.State@57441348[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,20]
stateMachine = 7f8bc54e : 0
-- This file is generated from SimpleCaseOfNondeterminism.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@1b84d2e[name:heatSys,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,3]
stateMachine = 7e3c5dbb : 3
room : cruise.umple.compiler.State@6d89f87d[name:noHeatReqidleNoHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,6]
stateMachine = b8da646 : 0
cruise.umple.compiler.State@489f5b24[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,61]
stateMachine = b8da646 : 0
cruise.umple.compiler.State@54d20609[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[44,6]
stateMachine = b8da646 : 0
cruise.umple.compiler.State@763a46fe[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[45,60]
stateMachine = b8da646 : 0
Controller : cruise.umple.compiler.State@106361e9[name:Controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[59,5]
stateMachine = 22974eba : 0
cruise.umple.compiler.State@6631e6af[name:ControllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,6]
stateMachine = 22974eba : 0
cruise.umple.compiler.State@42985121[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[71,7]
stateMachine = 22974eba : 0
cruise.umple.compiler.State@497f0cb2[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[72,26]
stateMachine = 22974eba : 0
cruise.umple.compiler.State@510579b9[name:Controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,22]
stateMachine = 22974eba : 0
furnace : cruise.umple.compiler.State@38e8f9a8[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[89,5]
stateMachine = 38f9b6cd : 0
cruise.umple.compiler.State@95237fc[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[92,5]
stateMachine = 38f9b6cd : 0
cruise.umple.compiler.State@73605fde[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[90,48]
stateMachine = 38f9b6cd : 0
cruise.umple.compiler.State@c3acda3[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[88,21]
stateMachine = 38f9b6cd : 0
-- This file is generated from myTemporaryTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@1925be93[name:regulartime,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,6]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@2ec3c213[name:regulardate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,14]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@79715834[name:updatesecond,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,8]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@4d94b0af[name:updateminute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,15]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@72a80668[name:updatehour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,15]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@42cb8174[name:updatemonth,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,15]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@3108d1e1[name:updateday,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[37,15]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@59711ea7[name:updateyear,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[41,15]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@6bd8d8a7[name:chronoNormalpaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[55,8]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@75862489[name:chronoNormalrunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[56,16]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@2f67401[name:chronometerlapRunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[61,16]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@5323c6de[name:chronometerlapPaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,14]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@7e1321fd[name:alarmStatusbothOff,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[77,6]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@3af5f0da[name:alarmStatuschimeOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[78,14]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@b92cdf9[name:alarmStatusbothOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[81,14]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@464aff63[name:alarmStatusalarmOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[84,14]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@2131229e[name:alarmUpdatealarmTime,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,25]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@34577542[name:hourMinuteUpdatealarmHour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[96,31]
stateMachine = 30a1e459 : 0
cruise.umple.compiler.State@29b78b34[name:hourMinuteUpdatealarmMinute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[95,14]
stateMachine = 30a1e459 : 0
-- This file is generated from NestedWatch.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@5bdde886[name:ZxZa,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,10]
stateMachine = 626a783b : 0
cruise.umple.compiler.State@5563630d[name:ZxXa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,18]
stateMachine = 626a783b : 0
cruise.umple.compiler.State@7d82eeb9[name:ZxabAa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,18]
stateMachine = 626a783b : 0
cruise.umple.compiler.State@49afa057[name:ZxabBa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,16]
stateMachine = 626a783b : 0
cruise.umple.compiler.State@78b5b2f9[name:Da,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,16]
stateMachine = 626a783b : 0
cruise.umple.compiler.State@3680cde9[name:GeGa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,11]
stateMachine = 626a783b : 0
cruise.umple.compiler.State@5c1d1aa6[name:GeEa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,11]
stateMachine = 626a783b : 0
-- This file is generated from BigStateMachineTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@3d376f28[name:planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,4]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@116e03e9[name:planeAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,21]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@4837c56d[name:waitingForNextLeg,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,4]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@4e7fbd6c[name:boarding,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,28]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@721fbae2[name:closedAtGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,26]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@130f8e03[name:underway,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,28]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@65653da2[name:disembarking,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,18]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@56c278bf[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[37,43]
stateMachine = 7a08da83 : 0
cruise.umple.compiler.State@5985102f[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,16]
stateMachine = 7a08da83 : 0
-- This file is generated from FlatSpecificFlight.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@bb510b[name:newBooking,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 180c785d : 0
cruise.umple.compiler.State@24028f51[name:seatAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,20]
stateMachine = 180c785d : 0
cruise.umple.compiler.State@7c2b2b56[name:checkedIn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,17]
stateMachine = 180c785d : 0
cruise.umple.compiler.State@26420ed1[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,16]
stateMachine = 180c785d : 0
cruise.umple.compiler.State@5df744d4[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,18]
stateMachine = 180c785d : 0
-- This file is generated from Test.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@5d4e0d49[name:newBooking,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 13bea51d : 0
cruise.umple.compiler.State@36142b6e[name:seatAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,20]
stateMachine = 13bea51d : 0
cruise.umple.compiler.State@14c16388[name:checkedIn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,17]
stateMachine = 13bea51d : 0
cruise.umple.compiler.State@39c8101c[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,16]
stateMachine = 13bea51d : 0
cruise.umple.compiler.State@5f38dc75[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,18]
stateMachine = 13bea51d : 0
-- This file is generated from ExampleFile1.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@7c1e569[name:BothDoorsClosedLockFull,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,4]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@49924fc6[name:OpeningUpperGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,38]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@2a8b1e67[name:UpperGateOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[16,28]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@22e94cf2[name:ClosingUpperGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[21,64]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@56297b5f[name:LoweringWater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,36]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@d9ef223[name:BothDoorsClosedLockEmpty,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[35,4]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@7f14bdd1[name:OpeningLowerGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[31,37]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@17f2e01d[name:LowerGateOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[42,28]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@a9c923f[name:ClosingLowerGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[47,60]
stateMachine = 29cbbff7 : 0
cruise.umple.compiler.State@70e966a5[name:RaisingWater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,38]
stateMachine = 29cbbff7 : 0
-- This file is generated from ExampleFile2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@762078dc[name:Idle,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,4]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@371fcc18[name:PrepareUpDoorClosingMovingUp,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,6]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@2461a62c[name:PrepareDownDoorClosingMovingDown,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,6]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@5172cce4[name:InMotionMoving,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,17]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@47ccb397[name:InMotionStopping,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,57]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@efac87a[name:OnFloorDoorOpening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,35]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@27035f4f[name:OnFloorAtFloor,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[35,23]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@60d1b2a7[name:OnFloorDoorClosing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,39]
stateMachine = 3044dd80 : 0
cruise.umple.compiler.State@42a3e521[name:OnFloorCheckingNextDestination,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[42,22]
stateMachine = 3044dd80 : 0
-- This file is generated from Elevator.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@184e7447[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,4]
stateMachine = 517e381b : 0
cruise.umple.compiler.State@6178b3bf[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,27]
stateMachine = 517e381b : 0
-- This file is generated from ConstantTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@237a41ff[name:planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,4]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@46d393cd[name:planeAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,21]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@f456711[name:activeWithPassengerswaitingForNextLeg,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,6]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@7e41aabf[name:activeWithPassengersboarding,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,28]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@40c0151a[name:activeWithPassengersclosedAtGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,28]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@1a57bb34[name:activeWithPassengersunderway,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,30]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@3e0e2a80[name:activeWithPassengersdisembarking,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,18]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@4d696bac[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,45]
stateMachine = 3ac09fe2 : 0
cruise.umple.compiler.State@dc1cfde[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,16]
stateMachine = 3ac09fe2 : 0
-- This file is generated from SpecificFlight.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@173398da[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 72584c3f : 0
cruise.umple.compiler.State@66ce59d9[name:OpenNotEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,26]
stateMachine = 72584c3f : 0
cruise.umple.compiler.State@3fd7be2d[name:OpenEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,33]
stateMachine = 72584c3f : 0
cruise.umple.compiler.State@34a91445[name:Cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,16]
stateMachine = 72584c3f : 0
cruise.umple.compiler.State@4a09f5b[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[21,27]
stateMachine = 72584c3f : 0
-- This file is generated from CourseSection.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@1366c37e[name:adaptiveControlSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,6]
stateMachine = 20c3f386 : 5
cruise.umple.compiler.State@74b1b98c[name:terminal,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,24]
stateMachine = 20c3f386 : 0
cruiseController : cruise.umple.compiler.State@1b18f38f[name:inactivetempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,32]
stateMachine = 3e40bea1 : 0
cruise.umple.compiler.State@1a0252c[name:tempStatetempState_1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,39]
stateMachine = 3e40bea1 : 0
cruise.umple.compiler.State@78a4914d[name:cruisingtempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,12]
stateMachine = 3e40bea1 : 0
cruise.umple.compiler.State@24fc815d[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,21]
stateMachine = 3e40bea1 : 0
cruise.umple.compiler.State@1f7286d5[name:standbytempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[42,15]
stateMachine = 3e40bea1 : 0
cruise.umple.compiler.State@1f7b4952[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[48,21]
stateMachine = 3e40bea1 : 0
speedControl : cruise.umple.compiler.State@43898d09[name:speedControldisabled,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[58,4]
stateMachine = 3bf1a4c : 0
cruise.umple.compiler.State@87060c0[name:speedControlenabled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[62,22]
stateMachine = 3bf1a4c : 0
cruise.umple.compiler.State@4d048945[name:speedControltempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,14]
stateMachine = 3bf1a4c : 0
sensorScan : cruise.umple.compiler.State@42eaa429[name:sensorScan,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[75,2]
stateMachine = 39fcbb42 : 0
inputSpeed : cruise.umple.compiler.State@3201aadd[name:inputSpeedcheckSpeed,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[88,15]
stateMachine = 5b265379 : 0
throttle : cruise.umple.compiler.State@4cfa6fd8[name:throttletempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[97,18]
stateMachine = 1000fbae : 0
-- This file is generated from AdaptiveCruiseControlWithTerminalState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@6d5ef5ee[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 426ee667 : 2
cruise.umple.compiler.State@1352211d[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 426ee667 : 0
state11 : cruise.umple.compiler.State@ff03384[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 159b4611 : 0
cruise.umple.compiler.State@2073d71b[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 159b4611 : 0
state12 : cruise.umple.compiler.State@22ab40c1[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,8]
stateMachine = 2c492b03 : 0
cruise.umple.compiler.State@63ad4b55[name:state12state122,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,16]
stateMachine = 2c492b03 : 2
state1221 : cruise.umple.compiler.State@5dd88334[name:state1221state12211,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 258d7d06 : 0
state1222 : cruise.umple.compiler.State@40f95b87[name:state1222state12221,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,14]
stateMachine = 4907472e : 0
-- This file is generated from AndCrossFromDeeplyNestedStateCase2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@4d687300[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 6b951ee5 : 2
cruise.umple.compiler.State@2463a9ec[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 6b951ee5 : 0
state11 : cruise.umple.compiler.State@23938bf7[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 2d6d0cf6 : 0
cruise.umple.compiler.State@6e4c5d88[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 2d6d0cf6 : 0
state12 : cruise.umple.compiler.State@57d9b564[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,8]
stateMachine = 68aa505b : 0
cruise.umple.compiler.State@2de5eb04[name:state1221state12211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 68aa505b : 0
-- This file is generated from AndCrossFromDeeplyNestedState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@55bd9d1[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = a4f14c9 : 0
cruise.umple.compiler.State@7b81283[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,4]
stateMachine = a4f14c9 : 3
A : cruise.umple.compiler.State@5e8b5e7d[name:Aa1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 5c5812c : 0
cruise.umple.compiler.State@77de3401[name:Aa2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 5c5812c : 0
cruise.umple.compiler.State@30350c73[name:Aa3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,16]
stateMachine = 5c5812c : 0
B : cruise.umple.compiler.State@34c9c4be[name:Bb1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,10]
stateMachine = 1d2cffea : 0
cruise.umple.compiler.State@1b54ae72[name:Bb2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,18]
stateMachine = 1d2cffea : 0
cruise.umple.compiler.State@39a7fff[name:Bb3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,18]
stateMachine = 1d2cffea : 0
cruise.umple.compiler.State@798ca706[name:Bb4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[30,18]
stateMachine = 1d2cffea : 0
C : cruise.umple.compiler.State@3a5c472[name:Cc1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[39,10]
stateMachine = 3dbcdd4a : 0
cruise.umple.compiler.State@6d093885[name:Cc2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[41,18]
stateMachine = 3dbcdd4a : 0
cruise.umple.compiler.State@712106b5[name:Cc3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 3dbcdd4a : 0
cruise.umple.compiler.State@5c8adab7[name:Cc4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[46,18]
stateMachine = 3dbcdd4a : 0
-- This file is generated from ArbitraryExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@6bcc277a[name:adaptiveControlSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,6]
stateMachine = 321f97d9 : 5
cruiseController : cruise.umple.compiler.State@3a4e3343[name:inactivetempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,32]
stateMachine = 64e06cf0 : 0
cruise.umple.compiler.State@6e9d60e1[name:tempStatetempState_1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,39]
stateMachine = 64e06cf0 : 0
cruise.umple.compiler.State@207283b4[name:cruisingtempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,12]
stateMachine = 64e06cf0 : 0
cruise.umple.compiler.State@6b6d68d2[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,21]
stateMachine = 64e06cf0 : 0
cruise.umple.compiler.State@c8d0ea3[name:standbytempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[41,15]
stateMachine = 64e06cf0 : 0
cruise.umple.compiler.State@912fdbb[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[47,21]
stateMachine = 64e06cf0 : 0
speedControl : cruise.umple.compiler.State@3d49b00e[name:speedControldisabled,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[56,4]
stateMachine = 3d62648d : 0
cruise.umple.compiler.State@59fe8d94[name:speedControlenabled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[60,22]
stateMachine = 3d62648d : 0
cruise.umple.compiler.State@479f5c35[name:speedControltempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,14]
stateMachine = 3d62648d : 0
sensorScan : cruise.umple.compiler.State@37264d08[name:sensorScan,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[73,2]
stateMachine = 194e116d : 0
inputSpeed : cruise.umple.compiler.State@3471bdfd[name:inputSpeedcheckSpeed,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[85,15]
stateMachine = 93231b2 : 0
throttle : cruise.umple.compiler.State@cf97391[name:throttletempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[93,18]
stateMachine = 65d5de1a : 0
-- This file is generated from AdaptiveCruiseControlSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@73c72238[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 3e6be3c1 : 0
cruise.umple.compiler.State@112188cc[name:s21s211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,8]
stateMachine = 3e6be3c1 : 0
cruise.umple.compiler.State@19ad99fa[name:s2s22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,14]
stateMachine = 3e6be3c1 : 0
-- This file is generated from MultiLevelStateMachineExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@28a4ac78[name:heatSys,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,3]
stateMachine = 2caf282e : 3
room : cruise.umple.compiler.State@ca5456e[name:noHeatReqidleNoHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,6]
stateMachine = 5b5b9038 : 0
cruise.umple.compiler.State@56912047[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,61]
stateMachine = 5b5b9038 : 0
cruise.umple.compiler.State@32a8ce3[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[44,6]
stateMachine = 5b5b9038 : 0
cruise.umple.compiler.State@258227dd[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[45,60]
stateMachine = 5b5b9038 : 0
Controller : cruise.umple.compiler.State@225fb905[name:Controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[59,5]
stateMachine = 7d932611 : 0
cruise.umple.compiler.State@2a09e0d4[name:ControllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,6]
stateMachine = 7d932611 : 0
cruise.umple.compiler.State@1e019687[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[71,7]
stateMachine = 7d932611 : 0
cruise.umple.compiler.State@41c983d3[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[72,26]
stateMachine = 7d932611 : 0
cruise.umple.compiler.State@250e9655[name:Controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,22]
stateMachine = 7d932611 : 0
furnace : cruise.umple.compiler.State@4064cd60[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[89,5]
stateMachine = 5243ce45 : 0
cruise.umple.compiler.State@5f1908c5[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[92,5]
stateMachine = 5243ce45 : 0
cruise.umple.compiler.State@e74914d[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[90,48]
stateMachine = 5243ce45 : 0
cruise.umple.compiler.State@689d522e[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[88,21]
stateMachine = 5243ce45 : 0
-- This file is generated from FurnaceControlSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@1f93cdc0[name:stable,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 162807e5 : 0
cruise.umple.compiler.State@66b8f244[name:Counter,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,12]
stateMachine = 162807e5 : 3
Bit1 : cruise.umple.compiler.State@1161786f[name:Bit1Bit11,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,8]
stateMachine = 101d4a4e : 0
cruise.umple.compiler.State@46dc6087[name:Bit1Bit12,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,16]
stateMachine = 101d4a4e : 0
Bit2 : cruise.umple.compiler.State@675790ca[name:Bit2Bit21,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,8]
stateMachine = 7def2e4f : 0
cruise.umple.compiler.State@7da4486[name:Bit2Bit22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,16]
stateMachine = 7def2e4f : 0
Status : cruise.umple.compiler.State@22a7d4a2[name:StatusCounting,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,9]
stateMachine = 792dc1fc : 2
cruise.umple.compiler.State@7d3405c0[name:StatusMax,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,16]
stateMachine = 792dc1fc : 0
Bit3 : cruise.umple.compiler.State@289f9094[name:Bit3Bit31,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[30,13]
stateMachine = 348143e1 : 0
Bit4 : cruise.umple.compiler.State@23b456ac[name:Bit4Bit41,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[31,21]
stateMachine = 7ef35d1f : 0
-- This file is generated from EnhancedBitCounter.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@37aedfcc[name:heatingSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,2]
stateMachine = 69aa2adb : 3
room : cruise.umple.compiler.State@356f7c71[name:noHeatReqidleNotHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,6]
stateMachine = 13d57fd0 : 0
cruise.umple.compiler.State@52c482d9[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,76]
stateMachine = 13d57fd0 : 0
cruise.umple.compiler.State@6a0096a8[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[37,6]
stateMachine = 13d57fd0 : 0
cruise.umple.compiler.State@2442f36d[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,76]
stateMachine = 13d57fd0 : 0
controller : cruise.umple.compiler.State@1c5123ca[name:controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[50,5]
stateMachine = 6a75b8d3 : 0
cruise.umple.compiler.State@42ec6e3[name:controllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[56,6]
stateMachine = 6a75b8d3 : 0
cruise.umple.compiler.State@37c48490[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[61,7]
stateMachine = 6a75b8d3 : 0
cruise.umple.compiler.State@221ebed1[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[62,36]
stateMachine = 6a75b8d3 : 0
cruise.umple.compiler.State@65ea3961[name:controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[55,22]
stateMachine = 6a75b8d3 : 0
furnace : cruise.umple.compiler.State@1781e2e1[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[76,5]
stateMachine = 4721485 : 0
cruise.umple.compiler.State@53cddaec[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[77,58]
stateMachine = 4721485 : 0
cruise.umple.compiler.State@6758d0c5[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[82,75]
stateMachine = 4721485 : 0
cruise.umple.compiler.State@7f56a025[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[75,21]
stateMachine = 4721485 : 0
-- This file is generated from RoomHeatingSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@5163bb14[name:neutral,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,4]
stateMachine = 2865c8db : 0
cruise.umple.compiler.State@4667fd40[name:reverse,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,23]
stateMachine = 2865c8db : 0
cruise.umple.compiler.State@29db6eb1[name:firstfirst_one,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[32,4]
stateMachine = 2865c8db : 0
cruise.umple.compiler.State@65accb85[name:firstfirst_two,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,11]
stateMachine = 2865c8db : 2
cruise.umple.compiler.State@6309e4fb[name:drivesecond,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,22]
stateMachine = 2865c8db : 0
cruise.umple.compiler.State@1afd9827[name:drivethird,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[67,44]
stateMachine = 2865c8db : 0
first_two_one : cruise.umple.compiler.State@68a1d32f[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 = 6bd2dd5d : 0
first_two_two : cruise.umple.compiler.State@47d0c2e0[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 = 311a569d : 0
cruise.umple.compiler.State@57c4d33a[name:first_two_twos21,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[49,20]
stateMachine = 311a569d : 0
cruise.umple.compiler.State@2a01d4aa[name:first_two_twos22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[51,18]
stateMachine = 311a569d : 0
cruise.umple.compiler.State@6b07c4c8[name:s24s31,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[54,21]
stateMachine = 311a569d : 0
cruise.umple.compiler.State@8cad98b[name:s24s32,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[57,20]
stateMachine = 311a569d : 0
-- This file is generated from CarTransmission.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@bd62a6e[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 6fd458ec : 0
cruise.umple.compiler.State@4a501cab[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 6fd458ec : 2
s21 : cruise.umple.compiler.State@59217757[name:s21a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,8]
stateMachine = 639ea347 : 0
cruise.umple.compiler.State@2e4084e0[name:s21b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,16]
stateMachine = 639ea347 : 0
cruise.umple.compiler.State@64bf60c7[name:s21c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,16]
stateMachine = 639ea347 : 0
s22 : cruise.umple.compiler.State@367628c8[name:s22d,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,8]
stateMachine = 206421da : 0
cruise.umple.compiler.State@aa9c6b2[name:s22e,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,16]
stateMachine = 206421da : 0
cruise.umple.compiler.State@150f3678[name:s22f,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,16]
stateMachine = 206421da : 0
-- This file is generated from OutgoingTransitionOfConcurrentState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@684f20ea[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,4]
stateMachine = 81bc4da : 0
cruise.umple.compiler.State@6a022b0e[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,58]
stateMachine = 81bc4da : 0
-- This file is generated from JavaDataTypes.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@38138629[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 7a2c95e2 : 0
cruise.umple.compiler.State@3ad6ecc5[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 7a2c95e2 : 2
s21 : cruise.umple.compiler.State@58f5db3b[name:s21a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,8]
stateMachine = 7c732cc2 : 0
cruise.umple.compiler.State@62ee252b[name:s21b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,16]
stateMachine = 7c732cc2 : 0
cruise.umple.compiler.State@6f535d77[name:s21c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 7c732cc2 : 0
s22 : cruise.umple.compiler.State@19097fa5[name:s22d,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,8]
stateMachine = 7cf9557a : 0
cruise.umple.compiler.State@6f2df0b3[name:s22e,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,16]
stateMachine = 7cf9557a : 0
cruise.umple.compiler.State@1a60b0c4[name:s22f,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,16]
stateMachine = 7cf9557a : 0
-- This file is generated from OutgoingTransitionOfConcurrentStateWithAndCross1.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@2f643a10[name:ZxZ,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,7]
stateMachine = ec28717 : 0
cruise.umple.compiler.State@315a9738[name:ZxX,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,16]
stateMachine = ec28717 : 0
cruise.umple.compiler.State@79aab764[name:ZxabA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,17]
stateMachine = ec28717 : 0
cruise.umple.compiler.State@7790a6fb[name:ZxabB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,15]
stateMachine = ec28717 : 0
cruise.umple.compiler.State@6df06d21[name:D,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[21,15]
stateMachine = ec28717 : 0
cruise.umple.compiler.State@876c4f0[name:GeG,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,15]
stateMachine = ec28717 : 0
cruise.umple.compiler.State@24cb530d[name:GeE,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,11]
stateMachine = ec28717 : 0
-- This file is generated from BigStateMachineWithNakedTransition.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@fffdd40[name:s1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 2e5f860b : 2
cruise.umple.compiler.State@42ca6733[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,20]
stateMachine = 2e5f860b : 0
A : cruise.umple.compiler.State@452d71e5[name:As11,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,8]
stateMachine = 34c9b1dd : 0
cruise.umple.compiler.State@66741691[name:As12,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,20]
stateMachine = 34c9b1dd : 0
B : cruise.umple.compiler.State@77961693[name:Bs21,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,8]
stateMachine = 591ae3dd : 0
cruise.umple.compiler.State@20a4f67a[name:Bs22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,20]
stateMachine = 591ae3dd : 0
cruise.umple.compiler.State@66a2bc61[name:s24s31,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,17]
stateMachine = 591ae3dd : 0
cruise.umple.compiler.State@21471ca8[name:s24s32,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,34]
stateMachine = 591ae3dd : 0
-- This file is generated from concurrentMachineExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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@58a0b88e[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,4]
stateMachine = 1b404a21 : 0
cruise.umple.compiler.State@280aa1bd[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,27]
stateMachine = 1b404a21 : 0
-- This file is generated from InputVarTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.8043.819096d90 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 )