10
6
status : cruise.umple.compiler.State@1fd2f96d[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,4]
stateMachine = 12d49ede : 0
cruise.umple.compiler.State@65cd37bb[name:OpenNotEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,26]
stateMachine = 12d49ede : 0
cruise.umple.compiler.State@22f79c09[name:OpenEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,35]
stateMachine = 12d49ede : 0
cruise.umple.compiler.State@2a6600ab[name:Cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 12d49ede : 0
cruise.umple.compiler.State@1c724957[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,29]
stateMachine = 12d49ede : 0
-- This file is generated from CourseSectionNested.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CourseSectionStatus --
MODULE CourseSectionStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Planned , Status_OpenNotEnoughStudents , Status_OpenEnoughStudents , Status_Cancelled , Status_Closed };
event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration );
t1 := event = ev_cancel & state = Status_Planned;
t2 := event = ev_openRegistration & state = Status_Planned;
t3 := event = ev_cancel & state = Status_OpenNotEnoughStudents;
t4 := event = ev_requestToRegister & state = Status_OpenNotEnoughStudents;
t5 := event = ev_closeRegistration & state = Status_OpenNotEnoughStudents;
t6 := event = ev_classSizeExceedsMinimum & state = Status_OpenNotEnoughStudents;
t7 := event = ev_cancel & state = Status_OpenEnoughStudents;
t8 := event = ev_requestToRegister & state = Status_OpenEnoughStudents;
t9 := event = ev_closeRegistration & state = Status_OpenEnoughStudents;
t10 := event = ev_classSizeExceedsMaximum & state = Status_OpenEnoughStudents;
t11 := event = ev_cancel & state = Status_Closed;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Planned;
next( state ) := case
t4 | t2 | t8 : Status_OpenNotEnoughStudents;
t6 : Status_OpenEnoughStudents;
t3 | t11 | t1 | t7 | t5 : Status_Cancelled;
t9 | t10 : Status_Closed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CourseSectionStatus_Machine --
MODULE CourseSectionStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus : CourseSectionStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus_Machine : CourseSectionStatus_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Planned )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenNotEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Cancelled )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Closed )
9
9
state : cruise.umple.compiler.State@3b5fa30d[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 7d800902 : 2
cruise.umple.compiler.State@1cb83205[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 7d800902 : 0
state11 : cruise.umple.compiler.State@60af08b2[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 26ae9861 : 0
cruise.umple.compiler.State@5b1b5daf[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 26ae9861 : 0
state12 : cruise.umple.compiler.State@66e74d3[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,8]
stateMachine = 1e1c1634 : 0
cruise.umple.compiler.State@4ca3e806[name:state122state1221,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 1e1c1634 : 0
-- This file is generated from AndCrossExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state11state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t5 := event = ev_e5 & _stateState1State12State12.state != null;
t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122state1221;
t9 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state122state1221;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t2 | t9 | t6 | t3 | t8 | t4 | t7 : State_state1;
t1 | t5 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state11state111 , StateState1State11State11_state11state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state11state111;
_state.t2 : StateState1State11State11_state11state112;
_state.state = State_state1 & state = null : StateState1State11State11_state11state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state12state121 , StateState1State12State12_state122state1221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t5 : null;
_state.t8 | _state.t9 : StateState1State12State12_state12state121;
_state.t6 | _state.t4 | _state.t7 : StateState1State12State12_state122state1221;
_state.state = State_state1 & state = null : StateState1State12State12_state12state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122state1221 )
24
31
sm : cruise.umple.compiler.State@6fc98c70[name:SingleLaneBridge,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,3]
stateMachine = 6859080d : 9
RedA : cruise.umple.compiler.State@3bcebb8f[name:RedAwaitRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,13]
stateMachine = 1a9ce44 : 0
cruise.umple.compiler.State@2220780d[name:RedAonRedA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,56]
stateMachine = 1a9ce44 : 0
RedB : cruise.umple.compiler.State@2991524[name:RedBwaitRedB,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,13]
stateMachine = 4cc5c43b : 0
cruise.umple.compiler.State@3d1f809[name:RedBonRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,56]
stateMachine = 4cc5c43b : 0
BlueA : cruise.umple.compiler.State@2290186e[name:BlueAwaitBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,13]
stateMachine = 686a192d : 0
cruise.umple.compiler.State@aecfc07[name:BlueAonBlueA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[39,57]
stateMachine = 686a192d : 0
BlueB : cruise.umple.compiler.State@6f14ce3[name:BlueBwaitBlueB,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[47,13]
stateMachine = 2400673b : 0
cruise.umple.compiler.State@1c1bb1e7[name:BlueBonBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[48,57]
stateMachine = 2400673b : 0
BridgeStatus : cruise.umple.compiler.State@71fa6aa7[name:BridgeStatusempty,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[58,8]
stateMachine = 7d60a62f : 0
cruise.umple.compiler.State@5a7e2f07[name:BridgeStatusoneRed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[59,46]
stateMachine = 7d60a62f : 0
cruise.umple.compiler.State@1bab3926[name:BridgeStatusoneBlue,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[60,49]
stateMachine = 7d60a62f : 0
cruise.umple.compiler.State@39a6c7a6[name:BridgeStatustwoRed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[64,40]
stateMachine = 7d60a62f : 0
cruise.umple.compiler.State@418f5f63[name:BridgeStatustwoBlue,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[68,43]
stateMachine = 7d60a62f : 0
redCoordEnt : cruise.umple.compiler.State@6a225642[name:redCoordEntcoordEntRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[82,6]
stateMachine = 28023029 : 0
cruise.umple.compiler.State@27165978[name:redCoordEntcoordEntRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[83,18]
stateMachine = 28023029 : 0
redCoordExit : cruise.umple.compiler.State@1cd97ebe[name:redCoordExitcoordExitRedA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[91,6]
stateMachine = 6431ab21 : 0
cruise.umple.compiler.State@5d8b5cf6[name:redCoordExitcoordExitRedB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[92,19]
stateMachine = 6431ab21 : 0
blueCoordEnt : cruise.umple.compiler.State@484313a6[name:blueCoordEntcoordEntBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[102,6]
stateMachine = 1fb8b89e : 0
cruise.umple.compiler.State@763960eb[name:blueCoordEntcoordEntBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[103,19]
stateMachine = 1fb8b89e : 0
blueCoordExit : cruise.umple.compiler.State@7152ee36[name:blueCoordExitcoordExitBlueA,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[111,6]
stateMachine = 21dc1d99 : 0
cruise.umple.compiler.State@7bfa2d74[name:blueCoordExitcoordExitBlueB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[112,20]
stateMachine = 21dc1d99 : 0
-- This file is generated from SingleLaneBridge.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for SystemSm --
MODULE SystemSm ( _smSingleLaneBridgeRedARedA , _smSingleLaneBridgeRedBRedB , _smSingleLaneBridgeBlueABlueA , _smSingleLaneBridgeBlueBBlueB , _smSingleLaneBridgeBridgeStatusBridgeStatus , _smSingleLaneBridgeRedCoordEntRedCoordEnt , _smSingleLaneBridgeRedCoordExitRedCoordExit , _smSingleLaneBridgeBlueCoordEntBlueCoordEnt , _smSingleLaneBridgeBlueCoordExitBlueCoordExit )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_SingleLaneBridge , null };
event : { ev_inBlue , ev_exitBlueB , ev_entRedA , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_enterRedB , ev_enterBlueA , ev_outRed , ev_outBlue , ev_exitRedA , ev_inRed , ev_entBlueB , ev_exitRedB , ev_entBlueA , ev_null };
numRed : integer;
numBlue : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_inBlue | event = ev_entRedA | event = ev_enterBlueB | event = ev_enterRedA | event = ev_enterBlueA | event = ev_outBlue | event = ev_inRed | event = ev_exitRedB | event = ev_exitBlueB | event = ev_exitBlueA | event = ev_entRedB | event = ev_enterRedB | event = ev_outRed | event = ev_exitRedA | event = ev_entBlueB | event = ev_entBlueA );
t1 := event = ev_enterRedA & _smSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAwaitRedA & g1;
t2 := event = ev_exitRedA & _smSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAonRedA;
t3 := event = ev_enterRedB & _smSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBwaitRedB & g1;
t4 := event = ev_exitRedB & _smSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBonRedB;
t5 := event = ev_enterBlueA & _smSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA & g2;
t6 := event = ev_exitBlueA & _smSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAonBlueA;
t7 := event = ev_enterBlueB & _smSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB & g2;
t8 := event = ev_exitBlueB & _smSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB;
t9 := event = ev_inRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty;
t10 := event = ev_inBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty;
t11 := event = ev_outRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed;
t12 := event = ev_inRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed;
t13 := event = ev_outBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue;
t14 := event = ev_inBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue;
t15 := event = ev_outRed & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed;
t16 := event = ev_outBlue & _smSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue;
t17 := event = ev_entRedA & _smSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA;
t18 := event = ev_entRedB & _smSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB;
t19 := event = ev_exitRedA & _smSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA;
t20 := event = ev_exitRedB & _smSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB;
t21 := event = ev_entBlueA & _smSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA;
t22 := event = ev_entBlueB & _smSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB;
t23 := event = ev_exitBlueA & _smSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA;
t24 := event = ev_exitBlueB & _smSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB;
g1 := numRed < 2 & numBlue = 0;
g2 := numBlue < 2 & numRed = 0;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_SingleLaneBridge;
next( state ) := case
t2 | t4 | t6 | t8 | t11 | t9 | t10 | t12 | t18 | t20 | t22 | t24 | t1 | t3 | t5 | t7 | t13 | t15 | t16 | t14 | t17 | t19 | t21 | t23 : Sm_SingleLaneBridge;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_inBlue , ev_exitBlueB , ev_entRedA , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_enterRedB , ev_enterBlueA , ev_outRed , ev_outBlue , ev_exitRedA , ev_inRed , ev_entBlueB , ev_exitRedB , ev_entBlueA };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "numRed" of this NuSMV module --
ASSIGN
init( numRed ) := 0;
-- This part defines logic for the assignment of values to state variable "numBlue" of this NuSMV module --
ASSIGN
init( numBlue ) := 0;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeRedARedA --
MODULE SystemSmSingleLaneBridgeRedARedA ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeRedARedA_RedAwaitRedA , SmSingleLaneBridgeRedARedA_RedAonRedA , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 : SmSingleLaneBridgeRedARedA_RedAwaitRedA;
_sm.t1 : SmSingleLaneBridgeRedARedA_RedAonRedA;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedARedA_RedAwaitRedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeRedBRedB --
MODULE SystemSmSingleLaneBridgeRedBRedB ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeRedBRedB_RedBwaitRedB , SmSingleLaneBridgeRedBRedB_RedBonRedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 : SmSingleLaneBridgeRedBRedB_RedBwaitRedB;
_sm.t3 : SmSingleLaneBridgeRedBRedB_RedBonRedB;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedBRedB_RedBwaitRedB;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueABlueA --
MODULE SystemSmSingleLaneBridgeBlueABlueA ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA , SmSingleLaneBridgeBlueABlueA_BlueAonBlueA , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 : SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA;
_sm.t5 : SmSingleLaneBridgeBlueABlueA_BlueAonBlueA;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueBBlueB --
MODULE SystemSmSingleLaneBridgeBlueBBlueB ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB , SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t8 : SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB;
_sm.t7 : SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeStatusBridgeStatus --
MODULE SystemSmSingleLaneBridgeBridgeStatusBridgeStatus ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed , SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t11 | _sm.t13 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty;
_sm.t9 | _sm.t15 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed;
_sm.t10 | _sm.t16 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue;
_sm.t12 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed;
_sm.t14 : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeRedCoordEntRedCoordEnt --
MODULE SystemSmSingleLaneBridgeRedCoordEntRedCoordEnt ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA , SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t18 : SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA;
_sm.t17 : SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeRedCoordExitRedCoordExit --
MODULE SystemSmSingleLaneBridgeRedCoordExitRedCoordExit ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA , SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t20 : SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA;
_sm.t19 : SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt --
MODULE SystemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA , SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t22 : SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA;
_sm.t21 : SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSmSingleLaneBridgeBlueCoordExitBlueCoordExit --
MODULE SystemSmSingleLaneBridgeBlueCoordExitBlueCoordExit ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA , SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t24 : SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA;
_sm.t23 : SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB;
_sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA;
TRUE : state;
esac;
-- This defines a NuSMV module for SystemSm_Machine --
MODULE SystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
systemSm : SystemSm( systemSmSingleLaneBridgeRedARedA , systemSmSingleLaneBridgeRedBRedB , systemSmSingleLaneBridgeBlueABlueA , systemSmSingleLaneBridgeBlueBBlueB , systemSmSingleLaneBridgeBridgeStatusBridgeStatus , systemSmSingleLaneBridgeRedCoordEntRedCoordEnt , systemSmSingleLaneBridgeRedCoordExitRedCoordExit , systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt , systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit );
systemSmSingleLaneBridgeRedARedA : SystemSmSingleLaneBridgeRedARedA( systemSm );
systemSmSingleLaneBridgeRedBRedB : SystemSmSingleLaneBridgeRedBRedB( systemSm );
systemSmSingleLaneBridgeBlueABlueA : SystemSmSingleLaneBridgeBlueABlueA( systemSm );
systemSmSingleLaneBridgeBlueBBlueB : SystemSmSingleLaneBridgeBlueBBlueB( systemSm );
systemSmSingleLaneBridgeBridgeStatusBridgeStatus : SystemSmSingleLaneBridgeBridgeStatusBridgeStatus( systemSm );
systemSmSingleLaneBridgeRedCoordEntRedCoordEnt : SystemSmSingleLaneBridgeRedCoordEntRedCoordEnt( systemSm );
systemSmSingleLaneBridgeRedCoordExitRedCoordExit : SystemSmSingleLaneBridgeRedCoordExitRedCoordExit( systemSm );
systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt : SystemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt( systemSm );
systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit : SystemSmSingleLaneBridgeBlueCoordExitBlueCoordExit( systemSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
systemSm_Machine : SystemSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( systemSm_Machine.systemSm.state = Sm_SingleLaneBridge )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAwaitRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedARedA.state = SmSingleLaneBridgeRedARedA_RedAonRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBwaitRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedBRedB.state = SmSingleLaneBridgeRedBRedB_RedBonRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAwaitBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueABlueA.state = SmSingleLaneBridgeBlueABlueA_BlueAonBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBwaitBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueBBlueB.state = SmSingleLaneBridgeBlueBBlueB_BlueBonBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusempty )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneRed )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatusoneBlue )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoRed )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeStatusBridgeStatus_BridgeStatustwoBlue )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeRedCoordEntRedCoordEnt_redCoordEntcoordEntRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeRedCoordExitRedCoordExit.state = SmSingleLaneBridgeRedCoordExitRedCoordExit_redCoordExitcoordExitRedB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeBlueCoordEntBlueCoordEnt_blueCoordEntcoordEntBlueB )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueA )
CTLSPEC EF( systemSm_Machine.systemSmSingleLaneBridgeBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeBlueCoordExitBlueCoordExit_blueCoordExitcoordExitBlueB )
18
9
elevator_state_machine : cruise.umple.compiler.State@22263e1a[name:Idle,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,4]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@1c1b9de9[name:DoorClosingMovingUp,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,19]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@125c1134[name:DoorClosingMovingDown,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,21]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@1992b8b[name:Moving,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,34]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@16af0251[name:Stopping,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,57]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@561b21b8[name:DoorOpening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,35]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@243c4ffe[name:AtFloor,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,23]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@6c31ed81[name:DoorClosing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[32,39]
stateMachine = 272600e1 : 0
cruise.umple.compiler.State@2e2d7dc[name:CheckingNextDestination,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[36,22]
stateMachine = 272600e1 : 0
-- This file is generated from FlatElevator.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ElevatorElevator_state_machine --
MODULE ElevatorElevator_state_machine
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machine_Idle , Elevator_state_machine_DoorClosingMovingUp , Elevator_state_machine_DoorClosingMovingDown , Elevator_state_machine_Moving , Elevator_state_machine_Stopping , Elevator_state_machine_DoorOpening , Elevator_state_machine_AtFloor , Elevator_state_machine_DoorClosing , Elevator_state_machine_CheckingNextDestination };
event : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest , ev_null };
timer : integer;
floorRequested : boolean;
obstruction : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
elevator_state_machine_stable := !( event = ev_obstruction | event = ev_doorClosed | event = ev_approachedFloor | event = ev_approachingFloor | event = ev_doorOpeningRequest | event = ev_doorClosingRequest | event = ev_stopped | event = ev_upRequest | event = ev_started | event = ev_downRequest | event = ev_doorOpened | event = ev_timeoutAtFloorToDoorClosing | event = ev_noRequest );
t1 := event = ev_upRequest & state = Elevator_state_machine_Idle;
t2 := event = ev_downRequest & state = Elevator_state_machine_Idle;
t3 := event = ev_doorClosed & state = Elevator_state_machine_DoorClosingMovingUp;
t4 := event = ev_started & state = Elevator_state_machine_DoorClosingMovingUp;
t5 := event = ev_doorClosed & state = Elevator_state_machine_DoorClosingMovingDown;
t6 := event = ev_started & state = Elevator_state_machine_DoorClosingMovingDown;
t7 := event = ev_approachingFloor & state = Elevator_state_machine_Moving & g1;
t8 := event = ev_approachedFloor & state = Elevator_state_machine_Moving & g2;
t9 := event = ev_stopped & state = Elevator_state_machine_Stopping;
t10 := event = ev_doorOpened & state = Elevator_state_machine_DoorOpening;
t11 := event = ev_timeoutAtFloorToDoorClosing & state = Elevator_state_machine_AtFloor & g3;
t12 := event = ev_doorClosingRequest & state = Elevator_state_machine_AtFloor;
t13 := event = ev_obstruction & state = Elevator_state_machine_DoorClosing;
t14 := event = ev_doorOpeningRequest & state = Elevator_state_machine_DoorClosing;
t15 := event = ev_doorClosed & state = Elevator_state_machine_DoorClosing;
t16 := event = ev_upRequest & state = Elevator_state_machine_CheckingNextDestination;
t17 := event = ev_downRequest & state = Elevator_state_machine_CheckingNextDestination;
t18 := event = ev_noRequest & state = Elevator_state_machine_CheckingNextDestination;
g1 := !floorRequested;
g2 := floorRequested;
g3 := !obstruction;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Elevator_state_machine_Idle;
next( state ) := case
t18 : Elevator_state_machine_Idle;
t1 | t16 : Elevator_state_machine_DoorClosingMovingUp;
t2 | t17 : Elevator_state_machine_DoorClosingMovingDown;
t4 | t6 | t3 | t5 | t7 : Elevator_state_machine_Moving;
t8 : Elevator_state_machine_Stopping;
t13 | t9 | t14 : Elevator_state_machine_DoorOpening;
t10 : Elevator_state_machine_AtFloor;
t11 | t12 : Elevator_state_machine_DoorClosing;
t15 : Elevator_state_machine_CheckingNextDestination;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
elevator_state_machine_stable : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 100;
-- This part defines logic for the assignment of values to state variable "floorRequested" of this NuSMV module --
ASSIGN
init( floorRequested ) := FALSE;
-- This part defines logic for the assignment of values to state variable "obstruction" of this NuSMV module --
ASSIGN
init( obstruction ) := FALSE;
-- This defines a NuSMV module for ElevatorElevator_state_machine_Machine --
MODULE ElevatorElevator_state_machine_Machine
-- This part declares state variables for the given NuSMV module --
VAR
elevatorElevator_state_machine : ElevatorElevator_state_machine;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
elevatorElevator_state_machine_Machine : ElevatorElevator_state_machine_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Idle )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorClosingMovingUp )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorClosingMovingDown )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Moving )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Stopping )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorOpening )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_AtFloor )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_DoorClosing )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_CheckingNextDestination )
3
3
sm : cruise.umple.compiler.State@66a5f996[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 6cddb04c : 0
cruise.umple.compiler.State@1c6d65f7[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,20]
stateMachine = 6cddb04c : 0
cruise.umple.compiler.State@70f446c[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,20]
stateMachine = 6cddb04c : 0
-- This file is generated from SingleEventMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for XSm --
MODULE XSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 , Sm_s3 };
event : { ev_e , ev_null };
a : integer;
b : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e );
t1 := event = ev_e & state = Sm_s1 & g1;
t2 := event = ev_e & state = Sm_s1 & g2;
t3 := event = ev_e & state = Sm_s2 & g2;
g1 := a <= b;
g2 := a = b;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t3 : Sm_s1;
t1 : Sm_s2;
t2 : Sm_s3;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 4;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 5;
-- This defines a NuSMV module for XSm_Machine --
MODULE XSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
xSm : XSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
xSm_Machine : XSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s1 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s2 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s3 )
6
8
state : cruise.umple.compiler.State@6fa84885[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 452c8a6c : 2
cruise.umple.compiler.State@2dc0cbbc[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 452c8a6c : 0
state11 : cruise.umple.compiler.State@16b6493d[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 3bf7c70e : 0
cruise.umple.compiler.State@1aa945f6[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 3bf7c70e : 0
state12 : cruise.umple.compiler.State@319fe034[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,8]
stateMachine = 15c4b89b : 0
cruise.umple.compiler.State@100ed29a[name:state12state122,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,16]
stateMachine = 15c4b89b : 0
-- This file is generated from AbstractConcurrentSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state11state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t4 := event = ev_e5 & _stateState1State12State12.state != null;
t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t6 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state12state122;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t3 | t6 | t2 | t5 : State_state1;
t1 | t4 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state11state111 , StateState1State11State11_state11state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state11state111;
_state.t2 : StateState1State11State11_state11state112;
_state.state = State_state1 & state = null : StateState1State11State11_state11state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state12state121 , StateState1State12State12_state12state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t6 : StateState1State12State12_state12state121;
_state.t5 : StateState1State12State12_state12state122;
_state.state = State_state1 & state = null : StateState1State12State12_state12state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state122 )
3
3
s2 : cruise.umple.compiler.State@6621ab0c[name:s2a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = c1765ad : 0
cruise.umple.compiler.State@1fb947f6[name:s2b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,12]
stateMachine = c1765ad : 0
cruise.umple.compiler.State@54d93fce[name:s1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = c1765ad : 0
-- This file is generated from AbstractMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for MeS2 --
MODULE MeS2
-- This part declares state variables for the given NuSMV module --
VAR
state : { S2_s2a , S2_s2b , S2_s1 };
event : { ev_e1 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
s2_stable := !( event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = S2_s2a;
t2 := event = ev_e3 & state = S2_s2a;
t3 := event = ev_e3 & state = S2_s2b;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := S2_s2a;
next( state ) := case
t3 : S2_s2a;
t2 : S2_s2b;
t1 : S2_s1;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
s2_stable : { ev_e1 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for MeS2_Machine --
MODULE MeS2_Machine
-- This part declares state variables for the given NuSMV module --
VAR
meS2 : MeS2;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
meS2_Machine : MeS2_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( meS2_Machine.meS2.state = S2_s2a )
CTLSPEC EF( meS2_Machine.meS2.state = S2_s2b )
CTLSPEC EF( meS2_Machine.meS2.state = S2_s1 )
52
19
sm : cruise.umple.compiler.State@4c2cc99f[name:time,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,4]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@4da929ef[name:date,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@5fdb445b[name:paused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@75910e0e[name:running,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@28566aad[name:lapRunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@2c34c819[name:lapPaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[32,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@29c8a858[name:bothOff,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@54543211[name:chimeOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[46,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@4f4c3934[name:bothOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[50,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@45b244c4[name:alarmOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[54,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@2954be42[name:alarmTime,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,23]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@5c65d5c3[name:alarmHour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[64,29]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@72cec2e2[name:alarmMinute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@250d3c1b[name:second,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,12]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@29a73056[name:minute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[80,11]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@5b1e336c[name:hour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[85,11]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@5fc3333f[name:month,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[90,11]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@13623138[name:day,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[95,11]
stateMachine = 36dd68f1 : 0
cruise.umple.compiler.State@3579682[name:year,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[100,11]
stateMachine = 36dd68f1 : 0
-- This file is generated from DigitalWatchFlat.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for DigitalWatchSm --
MODULE DigitalWatchSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_time , Sm_date , Sm_paused , Sm_running , Sm_lapRunning , Sm_lapPaused , Sm_bothOff , Sm_chimeOn , Sm_bothOn , Sm_alarmOn , Sm_alarmTime , Sm_alarmHour , Sm_alarmMinute , Sm_second , Sm_minute , Sm_hour , Sm_month , Sm_day , Sm_year };
event : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 , ev_null };
day : integer;
month : integer;
year : integer;
hour : integer;
minute : integer;
second : integer;
alarmHour : integer;
alarmMinute : integer;
alarmSecond : integer;
timer : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_s3 | event = ev_notS2 | event = ev_s1 | event = ev_s3during2Secs | event = ev_notS1 | event = ev_s2 );
t1 := event = ev_s1 & state = Sm_time;
t2 := event = ev_s2 & state = Sm_time;
t3 := event = ev_s3 & state = Sm_time;
t4 := event = ev_s3during2Secs & state = Sm_time;
t5 := event = ev_notS1 & state = Sm_date;
t6 := event = ev_s2 & state = Sm_paused;
t7 := event = ev_s3 & state = Sm_paused;
t8 := event = ev_s1 & state = Sm_paused;
t9 := event = ev_s1 & state = Sm_running;
t10 := event = ev_s3 & state = Sm_running;
t11 := event = ev_s2 & state = Sm_running;
t12 := event = ev_s2 & state = Sm_lapRunning;
t13 := event = ev_s3 & state = Sm_lapRunning;
t14 := event = ev_s1 & state = Sm_lapRunning;
t15 := event = ev_s1 & state = Sm_lapPaused;
t16 := event = ev_s2 & state = Sm_lapPaused;
t17 := event = ev_s3 & state = Sm_lapPaused;
t18 := event = ev_notS2 & state = Sm_bothOff;
t19 := event = ev_s1 & state = Sm_bothOff;
t20 := event = ev_notS2 & state = Sm_chimeOn;
t21 := event = ev_s1 & state = Sm_chimeOn;
t22 := event = ev_notS2 & state = Sm_bothOn;
t23 := event = ev_s1 & state = Sm_bothOn;
t24 := event = ev_s1 & state = Sm_alarmOn;
t25 := event = ev_notS2 & state = Sm_alarmOn;
t26 := event = ev_s1 & state = Sm_alarmTime;
t27 := event = ev_s2 & state = Sm_alarmTime;
t28 := event = ev_s3 & state = Sm_alarmTime;
t29 := event = ev_s2 & state = Sm_alarmHour;
t30 := event = ev_s1 & state = Sm_alarmHour;
t31 := event = ev_s3 & state = Sm_alarmHour;
t32 := event = ev_s1 & state = Sm_alarmMinute;
t33 := event = ev_s2 & state = Sm_alarmMinute;
t34 := event = ev_s3 & state = Sm_alarmMinute;
t35 := event = ev_s2 & state = Sm_second;
t36 := event = ev_s3 & state = Sm_second;
t37 := event = ev_s1 & state = Sm_second;
t38 := event = ev_s2 & state = Sm_minute;
t39 := event = ev_s3 & state = Sm_minute;
t40 := event = ev_s1 & state = Sm_minute;
t41 := event = ev_s2 & state = Sm_hour;
t42 := event = ev_s3 & state = Sm_hour;
t43 := event = ev_s1 & state = Sm_hour;
t44 := event = ev_s2 & state = Sm_month;
t45 := event = ev_s3 & state = Sm_month;
t46 := event = ev_s1 & state = Sm_month;
t47 := event = ev_s2 & state = Sm_day;
t48 := event = ev_s3 & state = Sm_day;
t49 := event = ev_s1 & state = Sm_day;
t50 := event = ev_s1 & state = Sm_year;
t51 := event = ev_s2 & state = Sm_year;
t52 := event = ev_s3 & state = Sm_year;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_time;
next( state ) := case
t7 | t13 | t18 | t22 | t36 | t42 | t48 | t5 | t10 | t17 | t20 | t25 | t39 | t45 | t52 : Sm_time;
t1 : Sm_date;
t3 | t9 | t6 | t16 : Sm_paused;
t8 | t12 : Sm_running;
t11 | t15 : Sm_lapRunning;
t14 : Sm_lapPaused;
t2 | t24 : Sm_bothOff;
t19 : Sm_chimeOn;
t21 : Sm_bothOn;
t23 : Sm_alarmOn;
t4 : Sm_alarmTime;
t29 | t27 | t32 : Sm_alarmHour;
t30 | t26 | t33 : Sm_alarmMinute;
t31 | t35 | t28 | t34 | t50 : Sm_second;
t37 | t38 : Sm_minute;
t40 | t41 : Sm_hour;
t43 | t44 : Sm_month;
t46 | t47 : Sm_day;
t49 | t51 : Sm_year;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "day" of this NuSMV module --
ASSIGN
init( day ) := 0;
-- This part defines logic for the assignment of values to state variable "month" of this NuSMV module --
ASSIGN
init( month ) := 0;
-- This part defines logic for the assignment of values to state variable "year" of this NuSMV module --
ASSIGN
init( year ) := 2014;
-- This part defines logic for the assignment of values to state variable "hour" of this NuSMV module --
ASSIGN
init( hour ) := 0;
-- This part defines logic for the assignment of values to state variable "minute" of this NuSMV module --
ASSIGN
init( minute ) := 0;
-- This part defines logic for the assignment of values to state variable "second" of this NuSMV module --
ASSIGN
init( second ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmHour" of this NuSMV module --
ASSIGN
init( alarmHour ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmMinute" of this NuSMV module --
ASSIGN
init( alarmMinute ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmSecond" of this NuSMV module --
ASSIGN
init( alarmSecond ) := 0;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 0;
-- This defines a NuSMV module for DigitalWatchSm_Machine --
MODULE DigitalWatchSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm : DigitalWatchSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm_Machine : DigitalWatchSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_time )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_date )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_paused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_running )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_lapRunning )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_lapPaused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_bothOff )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chimeOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_bothOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmTime )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmHour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmMinute )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_second )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_minute )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_month )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_day )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_year )
8
9
state : cruise.umple.compiler.State@77199818[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 72216f0b : 2
cruise.umple.compiler.State@3fa13835[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 72216f0b : 0
state11 : cruise.umple.compiler.State@78edbe01[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 438f205c : 0
cruise.umple.compiler.State@3a2f4611[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 438f205c : 0
state12 : cruise.umple.compiler.State@cf9a1f1[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,8]
stateMachine = 19710bd9 : 0
cruise.umple.compiler.State@23c6556b[name:state122state1221,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,16]
stateMachine = 19710bd9 : 0
-- This file is generated from nestedConcurrentMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state11state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t4 := event = ev_e5 & _stateState1State12State12.state != null;
t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t6 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t7 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122state1221;
t8 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state122state1221;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t3 | t7 | t5 | t2 | t8 | t6 : State_state1;
t1 | t4 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state11state111 , StateState1State11State11_state11state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state11state111;
_state.t2 : StateState1State11State11_state11state112;
_state.state = State_state1 & state = null : StateState1State11State11_state11state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state12state121 , StateState1State12State12_state122state1221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t4 : null;
_state.t7 | _state.t8 : StateState1State12State12_state12state121;
_state.t5 | _state.t6 : StateState1State12State12_state122state1221;
_state.state = State_state1 & state = null : StateState1State12State12_state12state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122state1221 )
5
5
sm : cruise.umple.compiler.State@518e6d6c[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 280fa441 : 0
cruise.umple.compiler.State@77d771a2[name:s21s211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 280fa441 : 0
cruise.umple.compiler.State@5be17e53[name:s2s22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 280fa441 : 0
-- This file is generated from MultiLevelStateMachineExampleCase2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s21s211 , Sm_s2s22 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e2 & state = Sm_s21s211;
t4 := event = ev_e3 & state = Sm_s21s211;
t5 := event = ev_e1 & state = Sm_s21s211;
t6 := event = ev_e2 & state = Sm_s2s22;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 | t6 | t3 | t5 : Sm_s1;
t2 : Sm_s21s211;
t4 : Sm_s2s22;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s21s211 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s22 )
23
11
status : cruise.umple.compiler.State@13b0755e[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@19f3c1f7[name:InProgress,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,27]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@75acb326[name:EvaluationByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,36]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@65263248[name:VerifiedByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,18]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@6816b0cb[name:SubmittedByInstitution,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,16]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@6f6d2847[name:UnderAdministrativeReview,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,25]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@7fc8930f[name:UnderExpertReview,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,31]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@2b284acc[name:AwaitingFinalDecision,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[35,45]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@76e5278a[name:Accepted,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[46,21]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@70cc0601[name:Rejected,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[48,16]
stateMachine = 21259314 : 0
cruise.umple.compiler.State@4b27a3fc[name:Withdrawn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,18]
stateMachine = 21259314 : 0
-- This file is generated from GrantApplication.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for GrantApplicationStatus --
MODULE GrantApplicationStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Planned , Status_InProgress , Status_EvaluationByInstitution , Status_VerifiedByInstitution , Status_SubmittedByInstitution , Status_UnderAdministrativeReview , Status_UnderExpertReview , Status_AwaitingFinalDecision , Status_Accepted , Status_Rejected , Status_Withdrawn };
event : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw , ev_null };
adminCheckOk : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_returnToInstitition | event = ev_submit | event = ev_tryAgain | event = ev_returnToResearcher | event = ev_bypassExpertReviewDueToMinorChanges | event = ev_createApplication | event = ev_reject | event = ev_editByInstitution | event = ev_finalAccept | event = ev_reOpen | event = ev_expertReviewsReturned | event = ev_verified | event = ev_acceptForReview | event = ev_acceptForExpertReview | event = ev_editByResearcher | event = ev_minorRevisionsNeeded | event = ev_researcherDeclaresComplete | event = ev_submissionCheck | event = ev_withdraw );
t1 := event = ev_createApplication & state = Status_Planned;
t2 := event = ev_editByResearcher & state = Status_InProgress;
t3 := event = ev_researcherDeclaresComplete & state = Status_InProgress;
t4 := event = ev_returnToResearcher & state = Status_EvaluationByInstitution;
t5 := event = ev_editByInstitution & state = Status_EvaluationByInstitution;
t6 := event = ev_verified & state = Status_EvaluationByInstitution;
t7 := event = ev_reOpen & state = Status_VerifiedByInstitution;
t8 := event = ev_submit & state = Status_VerifiedByInstitution;
t9 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g1;
t10 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g2;
t11 := event = ev_withdraw & state = Status_SubmittedByInstitution;
t12 := event = ev_acceptForReview & state = Status_SubmittedByInstitution;
t13 := event = ev_returnToInstitition & state = Status_UnderAdministrativeReview;
t14 := event = ev_acceptForExpertReview & state = Status_UnderAdministrativeReview;
t15 := event = ev_bypassExpertReviewDueToMinorChanges & state = Status_UnderAdministrativeReview;
t16 := event = ev_withdraw & state = Status_UnderAdministrativeReview;
t17 := event = ev_expertReviewsReturned & state = Status_UnderExpertReview;
t18 := event = ev_withdraw & state = Status_UnderExpertReview;
t19 := event = ev_minorRevisionsNeeded & state = Status_AwaitingFinalDecision;
t20 := event = ev_finalAccept & state = Status_AwaitingFinalDecision;
t21 := event = ev_reject & state = Status_AwaitingFinalDecision;
t22 := event = ev_tryAgain & state = Status_Rejected;
t23 := event = ev_tryAgain & state = Status_Withdrawn;
g1 := (adminCheckOk & (!adminCheckOk));
g2 := !adminCheckOk;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Planned;
next( state ) := case
t2 | t22 | t1 | t4 | t23 : Status_InProgress;
t3 | t7 | t13 | t5 | t10 | t19 : Status_EvaluationByInstitution;
t6 : Status_VerifiedByInstitution;
t8 | t9 : Status_SubmittedByInstitution;
t12 : Status_UnderAdministrativeReview;
t14 : Status_UnderExpertReview;
t15 | t17 : Status_AwaitingFinalDecision;
t20 : Status_Accepted;
t21 : Status_Rejected;
t16 | t11 | t18 : Status_Withdrawn;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "adminCheckOk" of this NuSMV module --
ASSIGN
init( adminCheckOk ) := FALSE;
-- This defines a NuSMV module for GrantApplicationStatus_Machine --
MODULE GrantApplicationStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
grantApplicationStatus : GrantApplicationStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
grantApplicationStatus_Machine : GrantApplicationStatus_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( grantApplicationStatus_Machine.grantApplicationStatus.t9 & grantApplicationStatus_Machine.grantApplicationStatus.t10 -> next( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_SubmittedByInstitution & grantApplicationStatus_Machine.grantApplicationStatus.state = Status_EvaluationByInstitution ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Planned )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_InProgress )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_EvaluationByInstitution )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_VerifiedByInstitution )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_SubmittedByInstitution )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_UnderAdministrativeReview )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_UnderExpertReview )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_AwaitingFinalDecision )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Accepted )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Rejected )
CTLSPEC EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Withdrawn )
7
5
status : cruise.umple.compiler.State@4f90b4c9[name:Open,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,6]
stateMachine = 16fc3be9 : 0
cruise.umple.compiler.State@5afd2f4e[name:Closing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,33]
stateMachine = 16fc3be9 : 0
cruise.umple.compiler.State@3e5f458f[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,25]
stateMachine = 16fc3be9 : 0
cruise.umple.compiler.State@74239871[name:Opening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,30]
stateMachine = 16fc3be9 : 0
cruise.umple.compiler.State@377d66f[name:HalfOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,30]
stateMachine = 16fc3be9 : 0
-- This file is generated from ExampleFile.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for GarageDoorStatus --
MODULE GarageDoorStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Open , Status_Closing , Status_Closed , Status_Opening , Status_HalfOpen };
event : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_reachTop | event = ev_reachBottom | event = ev_buttonOrObstacle );
t1 := event = ev_buttonOrObstacle & state = Status_Open;
t2 := event = ev_buttonOrObstacle & state = Status_Closing;
t3 := event = ev_reachBottom & state = Status_Closing;
t4 := event = ev_buttonOrObstacle & state = Status_Closed;
t5 := event = ev_reachTop & state = Status_Opening;
t6 := event = ev_buttonOrObstacle & state = Status_Opening;
t7 := event = ev_buttonOrObstacle & state = Status_HalfOpen;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Open;
next( state ) := case
t5 : Status_Open;
t1 : Status_Closing;
t3 : Status_Closed;
t4 | t2 | t7 : Status_Opening;
t6 : Status_HalfOpen;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for GarageDoorStatus_Machine --
MODULE GarageDoorStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
garageDoorStatus : GarageDoorStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
garageDoorStatus_Machine : GarageDoorStatus_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Open )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Closing )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Closed )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Opening )
CTLSPEC EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_HalfOpen )
8
7
sm : cruise.umple.compiler.State@5f709e71[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,5]
stateMachine = 6a2b30b9 : 0
cruise.umple.compiler.State@302ab67e[name:s2s2a,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,8]
stateMachine = 6a2b30b9 : 0
cruise.umple.compiler.State@28058dd0[name:s2s2b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,14]
stateMachine = 6a2b30b9 : 0
cruise.umple.compiler.State@735d1db7[name:s2s2c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,16]
stateMachine = 6a2b30b9 : 0
cruise.umple.compiler.State@4040559d[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[16,16]
stateMachine = 6a2b30b9 : 0
cruise.umple.compiler.State@253c82ad[name:s4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 6a2b30b9 : 0
-- This file is generated from NestedMachine.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2s2a , Sm_s2s2b , Sm_s2s2c , Sm_s3 , Sm_s4 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e3 & state = Sm_s1;
t4 := event = ev_e1 & state = Sm_s2s2a;
t5 := event = ev_e3 & state = Sm_s2s2a;
t6 := event = ev_e1 & state = Sm_s2s2b;
t7 := event = ev_e3 & state = Sm_s2s2b;
t8 := event = ev_e4 & state = Sm_s2s2b;
t9 := event = ev_e2 & state = Sm_s2s2b;
t10 := event = ev_e1 & state = Sm_s2s2c;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t6 | t4 | t10 : Sm_s1;
t1 | t7 : Sm_s2s2a;
t2 | t5 : Sm_s2s2b;
t9 : Sm_s2s2c;
t8 : Sm_s3;
t3 : Sm_s4;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s2a )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s2b )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s2c )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s3 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s4 )
2
3
sm : cruise.umple.compiler.State@55a430b2[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 57064d38 : 0
cruise.umple.compiler.State@2667a238[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,19]
stateMachine = 57064d38 : 0
cruise.umple.compiler.State@4a9cb9d8[name:s3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,20]
stateMachine = 57064d38 : 0
-- This file is generated from SimpleCaseOfNondeterminism.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for XSm --
MODULE XSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 , Sm_s3 };
event : { ev_e , ev_null };
a : integer;
b : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e );
t1 := event = ev_e & state = Sm_s1 & g1;
t2 := event = ev_e & state = Sm_s1 & g2;
g1 := a > 1;
g2 := b < 1;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 : Sm_s2;
t2 : Sm_s3;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 4;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 5;
-- This defines a NuSMV module for XSm_Machine --
MODULE XSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
xSm : XSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
xSm_Machine : XSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s1 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s2 )
CTLSPEC EF( xSm_Machine.xSm.state = Sm_s3 )
25
22
heatSystem : cruise.umple.compiler.State@4d73b25b[name:heatSys,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,3]
stateMachine = 24c8b86 : 3
room : cruise.umple.compiler.State@c21c296[name:noHeatReqidleNoHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,6]
stateMachine = 13ecedf6 : 0
cruise.umple.compiler.State@435d74ba[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,61]
stateMachine = 13ecedf6 : 0
cruise.umple.compiler.State@252bc7ec[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[44,6]
stateMachine = 13ecedf6 : 0
cruise.umple.compiler.State@279c94ad[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[45,60]
stateMachine = 13ecedf6 : 0
Controller : cruise.umple.compiler.State@53eb4ef5[name:Controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[59,5]
stateMachine = 7b3b0896 : 0
cruise.umple.compiler.State@d4a4ba[name:ControllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,6]
stateMachine = 7b3b0896 : 0
cruise.umple.compiler.State@432e61f1[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[71,7]
stateMachine = 7b3b0896 : 0
cruise.umple.compiler.State@4a3b0387[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[72,26]
stateMachine = 7b3b0896 : 0
cruise.umple.compiler.State@6967cdee[name:Controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,22]
stateMachine = 7b3b0896 : 0
furnace : cruise.umple.compiler.State@4c33450c[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[89,5]
stateMachine = 7ca29492 : 0
cruise.umple.compiler.State@6e1787ba[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[92,5]
stateMachine = 7ca29492 : 0
cruise.umple.compiler.State@39482f2b[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[90,48]
stateMachine = 7ca29492 : 0
cruise.umple.compiler.State@6f05062b[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[88,21]
stateMachine = 7ca29492 : 0
-- This file is generated from myTemporaryTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for HeatingSystemHeatSystem --
MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysRoomRoom , _heatSystemHeatSysControllerController , _heatSystemHeatSysFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystem_heatSys , null };
event : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , ev_t17 , ev_t19 , ev_null };
tooCold : boolean;
tooHot : boolean;
requestHeat : boolean;
furnaceTimer : integer;
furnaceStartupTime : integer;
valvePos : integer;
waitedForWarm : integer;
warmUpTimer : integer;
coolDownTimer : integer;
waitedForCool : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
heatSystem_stable := !( event = ev_t5 | event = ev_furnaceReset | event = ev_furnaceRunning | event = ev_t21 | event = ev_t23 | event = ev_t22 | event = ev_activate | event = ev_t18 | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_heatSwitchOff | event = ev_t24 | event = ev_t15 | event = ev_userReset | event = ev_t19 );
t1 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat & g1;
t2 := event = ev_t17 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g2;
t3 := event = ev_t18 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g3;
t4 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g4;
t5 := event = ev_t20 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g5;
t6 := event = ev_t21 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat & g6;
t7 := event = ev_t19 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g7;
t8 := event = ev_t22 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g8;
t9 := event = ev_t24 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g9;
t10 := event = ev_t23 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g10;
t11 := event = ev_heatSwitchOn & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff;
t12 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle;
t13 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle;
t14 := event = ev_activate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle & g11;
t15 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater;
t16 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater;
t17 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater & g12;
t18 := event = ev_furnaceRunning & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater;
t19 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun;
t20 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun;
t21 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun & g12;
t22 := event = ev_furnaceReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror;
t23 := event = ev_userReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror;
t24 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
t25 := event = ev_activate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
t26 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun;
t27 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun;
t28 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct;
t29 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct;
t30 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g13;
t31 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g14;
t32 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr;
g1 := tooCold;
g2 := waitedForWarm < warmUpTimer;
g3 := valvePos != 2 & warmUpTimer = waitedForWarm;
g4 := !tooCold;
g5 := waitedForwarm = warmUpTimer & valvePos = 2 & tooCold;
g6 := tooHot;
g7 := waitedForCool = coolDownTimer & valvePos = 0 & tooHot;
g8 := !tooHot;
g9 := valvePos != 0 & coolDownTimer = waitedForCool;
g10 := waitedForCool < coolDownTimer;
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceStartupTime < furnaceTimer;
g14 := furnaceTimer = furnaceStartupTime;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := HeatSystem_heatSys;
next( state ) := case
t4 | t1 | t3 | t8 | t9 | t12 | t19 | t23 | t17 | t14 | t13 | t20 | t27 | t31 | t30 | t26 | t7 | t2 | t5 | t6 | t10 | t15 | t22 | t11 | t21 | t18 | t16 | t32 | t29 | t25 | t24 | t28 : HeatSystem_heatSys;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
heatSystem_stable : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , ev_t17 , ev_t19 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "tooCold" of this NuSMV module --
ASSIGN
init( tooCold ) := FALSE;
-- This part defines logic for the assignment of values to state variable "tooHot" of this NuSMV module --
ASSIGN
init( tooHot ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceStartupTime" of this NuSMV module --
ASSIGN
init( furnaceStartupTime ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysRoomRoom --
MODULE HeatingSystemHeatSystemHeatSysRoomRoom ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat , HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat , HeatSystemHeatSysRoomRoom_heatReqidleHeat , HeatSystemHeatSysRoomRoom_heatReqwaitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t4 | _heatSystem.t7 : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat;
_heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat;
_heatSystem.t5 | _heatSystem.t8 : HeatSystemHeatSysRoomRoom_heatReqidleHeat;
_heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysRoomRoom_heatReqwaitForCool;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysControllerController --
MODULE HeatingSystemHeatSystemHeatSysControllerController ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysControllerController_Controlleroff , HeatSystemHeatSysControllerController_ControllerOnidle , HeatSystemHeatSysControllerController_heaterActiveactHeater , HeatSystemHeatSysControllerController_heaterActiveheaterRun , HeatSystemHeatSysControllerController_Controllererror , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t15 | _heatSystem.t22 | _heatSystem.t12 | _heatSystem.t19 | _heatSystem.t23 : HeatSystemHeatSysControllerController_Controlleroff;
_heatSystem.t17 | _heatSystem.t11 | _heatSystem.t21 : HeatSystemHeatSysControllerController_ControllerOnidle;
_heatSystem.t14 : HeatSystemHeatSysControllerController_heaterActiveactHeater;
_heatSystem.t18 : HeatSystemHeatSysControllerController_heaterActiveheaterRun;
_heatSystem.t16 | _heatSystem.t13 | _heatSystem.t20 : HeatSystemHeatSysControllerController_Controllererror;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysControllerController_Controlleroff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnace --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnace ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct , HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t27 | _heatSystem.t32 | _heatSystem.t29 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
_heatSystem.t31 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun;
_heatSystem.t25 | _heatSystem.t30 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct;
_heatSystem.t26 | _heatSystem.t24 | _heatSystem.t28 : HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystem_Machine --
MODULE HeatingSystemHeatSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem : HeatingSystemHeatSystem( heatingSystemHeatSystemHeatSysRoomRoom , heatingSystemHeatSystemHeatSysControllerController , heatingSystemHeatSystemHeatSysFurnaceFurnace );
heatingSystemHeatSystemHeatSysRoomRoom : HeatingSystemHeatSystemHeatSysRoomRoom( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysControllerController : HeatingSystemHeatSystemHeatSysControllerController( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem_Machine : HeatingSystemHeatSystem_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystem.state = HeatSystem_heatSys )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr )
39
26
sm : cruise.umple.compiler.State@419df81e[name:regulartime,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,6]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@611c9d31[name:regulardate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,14]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@1d8cfad5[name:updatesecond,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,8]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@337fac72[name:updateminute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,15]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@1aacde34[name:updatehour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,15]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@1fdc2d45[name:updatemonth,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,15]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@65fc2639[name:updateday,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[37,15]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@2bae0ac8[name:updateyear,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[41,15]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@570f2cf7[name:chronoNormalpaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[55,8]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@29478556[name:chronoNormalrunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[56,16]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@2d0ea3a9[name:chronometerlapRunning,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[61,16]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@76ad048a[name:chronometerlapPaused,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,14]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@586be63c[name:alarmStatusbothOff,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[77,6]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@4d13b552[name:alarmStatuschimeOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[78,14]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@15d844b2[name:alarmStatusbothOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[81,14]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@bcf8bd7[name:alarmStatusalarmOn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[84,14]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@c92d694[name:alarmUpdatealarmTime,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,25]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@5cfb4b71[name:hourMinuteUpdatealarmHour,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[96,31]
stateMachine = 50cf26b7 : 0
cruise.umple.compiler.State@b517988[name:hourMinuteUpdatealarmMinute,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[95,14]
stateMachine = 50cf26b7 : 0
-- This file is generated from NestedWatch.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for DigitalWatchSm --
MODULE DigitalWatchSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_regulartime , Sm_regulardate , Sm_updatesecond , Sm_updateminute , Sm_updatehour , Sm_updatemonth , Sm_updateday , Sm_updateyear , Sm_chronoNormalpaused , Sm_chronoNormalrunning , Sm_chronometerlapRunning , Sm_chronometerlapPaused , Sm_alarmStatusbothOff , Sm_alarmStatuschimeOn , Sm_alarmStatusbothOn , Sm_alarmStatusalarmOn , Sm_alarmUpdatealarmTime , Sm_hourMinuteUpdatealarmHour , Sm_hourMinuteUpdatealarmMinute };
event : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 , ev_null };
day : integer;
month : integer;
year : integer;
hour : integer;
minute : integer;
second : integer;
alarmHour : integer;
alarmMinute : integer;
alarmSecond : integer;
timer : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_s3 | event = ev_notS2 | event = ev_s1 | event = ev_s3during2Secs | event = ev_notS1 | event = ev_s2 );
t1 := event = ev_s1 & state = Sm_regulartime;
t2 := event = ev_s2 & state = Sm_regulartime;
t3 := event = ev_s3 & state = Sm_regulartime;
t4 := event = ev_s3during2Secs & state = Sm_regulartime;
t5 := event = ev_notS1 & state = Sm_regulardate;
t6 := event = ev_s3 & state = Sm_updatesecond;
t7 := event = ev_s2 & state = Sm_updatesecond;
t8 := event = ev_s1 & state = Sm_updatesecond;
t9 := event = ev_s3 & state = Sm_updateminute;
t10 := event = ev_s2 & state = Sm_updateminute;
t11 := event = ev_s1 & state = Sm_updateminute;
t12 := event = ev_s3 & state = Sm_updatehour;
t13 := event = ev_s2 & state = Sm_updatehour;
t14 := event = ev_s1 & state = Sm_updatehour;
t15 := event = ev_s3 & state = Sm_updatemonth;
t16 := event = ev_s2 & state = Sm_updatemonth;
t17 := event = ev_s1 & state = Sm_updatemonth;
t18 := event = ev_s3 & state = Sm_updateday;
t19 := event = ev_s2 & state = Sm_updateday;
t20 := event = ev_s1 & state = Sm_updateday;
t21 := event = ev_s3 & state = Sm_updateyear;
t22 := event = ev_s1 & state = Sm_updateyear;
t23 := event = ev_s2 & state = Sm_updateyear;
t24 := event = ev_s3 & state = Sm_chronoNormalpaused;
t25 := event = ev_s2 & state = Sm_chronoNormalpaused;
t26 := event = ev_s1 & state = Sm_chronoNormalpaused;
t27 := event = ev_s3 & state = Sm_chronoNormalrunning;
t28 := event = ev_s1 & state = Sm_chronoNormalrunning;
t29 := event = ev_s2 & state = Sm_chronoNormalrunning;
t30 := event = ev_s3 & state = Sm_chronometerlapRunning;
t31 := event = ev_s2 & state = Sm_chronometerlapRunning;
t32 := event = ev_s1 & state = Sm_chronometerlapRunning;
t33 := event = ev_s3 & state = Sm_chronometerlapPaused;
t34 := event = ev_s1 & state = Sm_chronometerlapPaused;
t35 := event = ev_s2 & state = Sm_chronometerlapPaused;
t36 := event = ev_notS2 & state = Sm_alarmStatusbothOff;
t37 := event = ev_s1 & state = Sm_alarmStatusbothOff;
t38 := event = ev_notS2 & state = Sm_alarmStatuschimeOn;
t39 := event = ev_s1 & state = Sm_alarmStatuschimeOn;
t40 := event = ev_notS2 & state = Sm_alarmStatusbothOn;
t41 := event = ev_s1 & state = Sm_alarmStatusbothOn;
t42 := event = ev_notS2 & state = Sm_alarmStatusalarmOn;
t43 := event = ev_s1 & state = Sm_alarmStatusalarmOn;
t44 := event = ev_s3 & state = Sm_alarmUpdatealarmTime;
t45 := event = ev_s1 & state = Sm_alarmUpdatealarmTime;
t46 := event = ev_s2 & state = Sm_alarmUpdatealarmTime;
t47 := event = ev_s3 & state = Sm_hourMinuteUpdatealarmHour;
t48 := event = ev_s2 & state = Sm_hourMinuteUpdatealarmHour;
t49 := event = ev_s1 & state = Sm_hourMinuteUpdatealarmHour;
t50 := event = ev_s3 & state = Sm_hourMinuteUpdatealarmMinute;
t51 := event = ev_s1 & state = Sm_hourMinuteUpdatealarmMinute;
t52 := event = ev_s2 & state = Sm_hourMinuteUpdatealarmMinute;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_regulartime;
next( state ) := case
t27 | t33 | t38 | t42 | t6 | t12 | t18 | t24 | t30 | t36 | t40 | t5 | t9 | t15 | t21 : Sm_regulartime;
t1 : Sm_regulardate;
t47 | t7 | t44 | t50 | t22 : Sm_updatesecond;
t8 | t10 : Sm_updateminute;
t11 | t13 : Sm_updatehour;
t14 | t16 : Sm_updatemonth;
t17 | t19 : Sm_updateday;
t20 | t23 : Sm_updateyear;
t3 | t25 | t35 | t28 : Sm_chronoNormalpaused;
t31 | t26 : Sm_chronoNormalrunning;
t34 | t29 : Sm_chronometerlapRunning;
t32 : Sm_chronometerlapPaused;
t2 | t43 : Sm_alarmStatusbothOff;
t37 : Sm_alarmStatuschimeOn;
t39 : Sm_alarmStatusbothOn;
t41 : Sm_alarmStatusalarmOn;
t4 : Sm_alarmUpdatealarmTime;
t48 | t46 | t51 : Sm_hourMinuteUpdatealarmHour;
t49 | t45 | t52 : Sm_hourMinuteUpdatealarmMinute;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "day" of this NuSMV module --
ASSIGN
init( day ) := 0;
-- This part defines logic for the assignment of values to state variable "month" of this NuSMV module --
ASSIGN
init( month ) := 0;
-- This part defines logic for the assignment of values to state variable "year" of this NuSMV module --
ASSIGN
init( year ) := 2014;
-- This part defines logic for the assignment of values to state variable "hour" of this NuSMV module --
ASSIGN
init( hour ) := 0;
-- This part defines logic for the assignment of values to state variable "minute" of this NuSMV module --
ASSIGN
init( minute ) := 0;
-- This part defines logic for the assignment of values to state variable "second" of this NuSMV module --
ASSIGN
init( second ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmHour" of this NuSMV module --
ASSIGN
init( alarmHour ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmMinute" of this NuSMV module --
ASSIGN
init( alarmMinute ) := 0;
-- This part defines logic for the assignment of values to state variable "alarmSecond" of this NuSMV module --
ASSIGN
init( alarmSecond ) := 0;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 0;
-- This defines a NuSMV module for DigitalWatchSm_Machine --
MODULE DigitalWatchSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm : DigitalWatchSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
digitalWatchSm_Machine : DigitalWatchSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_regulartime )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_regulardate )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updatesecond )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updateminute )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updatehour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updatemonth )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updateday )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_updateyear )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronoNormalpaused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronoNormalrunning )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronometerlapRunning )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronometerlapPaused )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatusbothOff )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatuschimeOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatusbothOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatusalarmOn )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmUpdatealarmTime )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hourMinuteUpdatealarmHour )
CTLSPEC EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hourMinuteUpdatealarmMinute )
20
10
sm : cruise.umple.compiler.State@6818c0a6[name:ZxZa,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,10]
stateMachine = 42be0eca : 0
cruise.umple.compiler.State@b15da69[name:ZxXa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,18]
stateMachine = 42be0eca : 0
cruise.umple.compiler.State@48ca44cd[name:ZxabAa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,18]
stateMachine = 42be0eca : 0
cruise.umple.compiler.State@6679a082[name:ZxabBa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,16]
stateMachine = 42be0eca : 0
cruise.umple.compiler.State@54832ad9[name:Da,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,16]
stateMachine = 42be0eca : 0
cruise.umple.compiler.State@71e064b2[name:GeGa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,11]
stateMachine = 42be0eca : 0
cruise.umple.compiler.State@6b16aa6f[name:GeEa,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,11]
stateMachine = 42be0eca : 0
-- This file is generated from BigStateMachineTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BigStateMachineTestSm --
MODULE BigStateMachineTestSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_ZxZa , Sm_ZxXa , Sm_ZxabAa , Sm_ZxabBa , Sm_Da , Sm_GeGa , Sm_GeEa };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e3 & state = Sm_ZxZa;
t2 := event = ev_e2 & state = Sm_ZxZa;
t3 := event = ev_e5 & state = Sm_ZxZa;
t4 := event = ev_e1 & state = Sm_ZxZa;
t5 := event = ev_e4 & state = Sm_ZxZa;
t6 := event = ev_e5 & state = Sm_ZxXa;
t7 := event = ev_e1 & state = Sm_ZxXa;
t8 := event = ev_e4 & state = Sm_ZxXa;
t9 := event = ev_e5 & state = Sm_ZxabAa;
t10 := event = ev_e3 & state = Sm_ZxabAa;
t11 := event = ev_e1 & state = Sm_ZxabAa;
t12 := event = ev_e4 & state = Sm_ZxabAa;
t13 := event = ev_e3 & state = Sm_ZxabBa;
t14 := event = ev_e1 & state = Sm_ZxabBa;
t15 := event = ev_e4 & state = Sm_ZxabBa;
t16 := event = ev_e5 & state = Sm_Da;
t17 := event = ev_e2 & state = Sm_Da;
t18 := event = ev_e1 & state = Sm_GeGa;
t19 := event = ev_e1 & state = Sm_GeEa;
t20 := event = ev_e2 & state = Sm_GeEa;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_ZxZa;
next( state ) := case
t16 | t1 : Sm_ZxXa;
t2 : Sm_ZxabAa;
t10 | t18 : Sm_ZxabBa;
t9 : Sm_Da;
t13 | t3 | t6 | t19 | t12 | t15 | t5 | t8 | t20 : Sm_GeGa;
t11 | t4 | t17 | t14 | t7 : Sm_GeEa;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BigStateMachineTestSm_Machine --
MODULE BigStateMachineTestSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm : BigStateMachineTestSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm_Machine : BigStateMachineTestSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxZa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxXa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabAa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabBa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Da )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeGa )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeEa )
17
9
state : cruise.umple.compiler.State@20382851[name:planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,4]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@6b29771f[name:planeAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,21]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@4f991f00[name:waitingForNextLeg,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,4]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@2e02cc02[name:boarding,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,28]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@524a96f5[name:closedAtGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,26]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@72fb922c[name:underway,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,28]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@751df26c[name:disembarking,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,18]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@4dc74211[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[37,43]
stateMachine = cee1b4c : 0
cruise.umple.compiler.State@4bbc9862[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,16]
stateMachine = cee1b4c : 0
-- This file is generated from FlatSpecificFlight.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for SpecificFlightState --
MODULE SpecificFlightState
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_planned , State_planeAssigned , State_waitingForNextLeg , State_boarding , State_closedAtGate , State_underway , State_disembarking , State_completed , State_cancelled };
event : { ev_cancel , ev_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate , ev_null };
finished : boolean;
empty : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_boardingComplete | event = ev_assignPlane | event = ev_evacuate | event = ev_changePlane | event = ev_cancel | event = ev_passengersOut | event = ev_permissionToDepart | event = ev_readyForPassengers | event = ev_arriveAtGate );
t1 := event = ev_assignPlane & state = State_planned;
t2 := event = ev_cancel & state = State_planned;
t3 := event = ev_changePlane & state = State_planeAssigned;
t4 := event = ev_readyForPassengers & state = State_planeAssigned;
t5 := event = ev_cancel & state = State_planeAssigned;
t6 := event = ev_readyForPassengers & state = State_waitingForNextLeg;
t7 := event = ev_evacuate & state = State_waitingForNextLeg;
t8 := event = ev_evacuate & state = State_boarding;
t9 := event = ev_boardingComplete & state = State_boarding;
t10 := event = ev_evacuate & state = State_closedAtGate;
t11 := event = ev_permissionToDepart & state = State_closedAtGate;
t12 := event = ev_evacuate & state = State_underway;
t13 := event = ev_arriveAtGate & state = State_underway;
t14 := event = ev_evacuate & state = State_disembarking;
t15 := event = ev_passengersOut & state = State_disembarking & g1;
t16 := event = ev_passengersOut & state = State_disembarking & g2;
t17 := event = ev_passengersOut & state = State_disembarking & g3;
g1 := !empty;
g2 := !finished & empty;
g3 := finished & empty;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_planned;
next( state ) := case
t3 : State_planned;
t1 | t16 : State_planeAssigned;
t15 : State_waitingForNextLeg;
t4 | t6 : State_boarding;
t9 : State_closedAtGate;
t11 : State_underway;
t7 | t10 | t13 | t8 | t12 | t14 : State_disembarking;
t17 : State_completed;
t2 | t5 : State_cancelled;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_cancel , ev_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "finished" of this NuSMV module --
ASSIGN
init( finished ) := FALSE;
-- This part defines logic for the assignment of values to state variable "empty" of this NuSMV module --
ASSIGN
init( empty ) := FALSE;
-- This defines a NuSMV module for SpecificFlightState_Machine --
MODULE SpecificFlightState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
specificFlightState : SpecificFlightState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
specificFlightState_Machine : SpecificFlightState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t16 -> next( specificFlightState_Machine.specificFlightState.state = State_waitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_planeAssigned ) )
INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_waitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_completed ) )
INVARSPEC ( specificFlightState_Machine.specificFlightState.t16 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_planeAssigned & specificFlightState_Machine.specificFlightState.state = State_completed ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planned )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planeAssigned )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_waitingForNextLeg )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_boarding )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_closedAtGate )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_underway )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_disembarking )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_completed )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_cancelled )
7
5
state : cruise.umple.compiler.State@2dad7323[name:newBooking,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 20bd3082 : 0
cruise.umple.compiler.State@6d03404e[name:seatAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,20]
stateMachine = 20bd3082 : 0
cruise.umple.compiler.State@664f1c53[name:checkedIn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,17]
stateMachine = 20bd3082 : 0
cruise.umple.compiler.State@20bd4fd2[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,16]
stateMachine = 20bd3082 : 0
cruise.umple.compiler.State@69cd4267[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,18]
stateMachine = 20bd3082 : 0
-- This file is generated from Test.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BookingState --
MODULE BookingState
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed };
event : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_cance | event = ev_assignSeat | event = ev_cancel | event = ev_checkIn | event = ev_complete );
t1 := event = ev_assignSeat & state = State_newBooking;
t2 := event = ev_cancel & state = State_newBooking;
t3 := event = ev_cancel & state = State_seatAssigned;
t4 := event = ev_checkIn & state = State_seatAssigned;
t5 := event = ev_cance & state = State_seatAssigned;
t6 := event = ev_cancel & state = State_checkedIn;
t7 := event = ev_complete & state = State_checkedIn;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_newBooking;
next( state ) := case
t1 : State_seatAssigned;
t4 : State_checkedIn;
t2 | t5 | t3 | t6 : State_cancelled;
t7 : State_completed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BookingState_Machine --
MODULE BookingState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bookingState : BookingState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bookingState_Machine : BookingState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bookingState_Machine.bookingState.state = State_newBooking )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_seatAssigned )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_checkedIn )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_cancelled )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_completed )
6
5
state : cruise.umple.compiler.State@4c6a5712[name:newBooking,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 73c71083 : 0
cruise.umple.compiler.State@4cef1ea6[name:seatAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,20]
stateMachine = 73c71083 : 0
cruise.umple.compiler.State@3f2731e5[name:checkedIn,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,17]
stateMachine = 73c71083 : 0
cruise.umple.compiler.State@21eb33d4[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,16]
stateMachine = 73c71083 : 0
cruise.umple.compiler.State@6a636c62[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,18]
stateMachine = 73c71083 : 0
-- This file is generated from ExampleFile1.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BookingState --
MODULE BookingState
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed };
event : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_cancel | event = ev_assignSeat | event = ev_checkIn | event = ev_complete );
t1 := event = ev_assignSeat & state = State_newBooking;
t2 := event = ev_cancel & state = State_newBooking;
t3 := event = ev_cancel & state = State_seatAssigned;
t4 := event = ev_checkIn & state = State_seatAssigned;
t5 := event = ev_cancel & state = State_checkedIn;
t6 := event = ev_complete & state = State_checkedIn;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_newBooking;
next( state ) := case
t1 : State_seatAssigned;
t4 : State_checkedIn;
t3 | t2 | t5 : State_cancelled;
t6 : State_completed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BookingState_Machine --
MODULE BookingState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bookingState : BookingState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bookingState_Machine : BookingState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bookingState_Machine.bookingState.state = State_newBooking )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_seatAssigned )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_checkedIn )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_cancelled )
CTLSPEC EF( bookingState_Machine.bookingState.state = State_completed )
16
10
lockState : cruise.umple.compiler.State@1dbb3001[name:BothDoorsClosedLockFull,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,4]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@718aa49a[name:OpeningUpperGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,38]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@4992e34f[name:UpperGateOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[16,28]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@d6de944[name:ClosingUpperGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[21,64]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@49a6b730[name:LoweringWater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,36]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@6dac64ea[name:BothDoorsClosedLockEmpty,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[35,4]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@33fa6a8b[name:OpeningLowerGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[31,37]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@513f8279[name:LowerGateOpen,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[42,28]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@2d5cb059[name:ClosingLowerGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[47,60]
stateMachine = 184b8899 : 0
cruise.umple.compiler.State@23591a2c[name:RaisingWater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,38]
stateMachine = 184b8899 : 0
-- This file is generated from ExampleFile2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for LockLockState --
MODULE LockLockState
-- This part declares state variables for the given NuSMV module --
VAR
state : { LockState_BothDoorsClosedLockFull , LockState_OpeningUpperGate , LockState_UpperGateOpen , LockState_ClosingUpperGate , LockState_LoweringWater , LockState_BothDoorsClosedLockEmpty , LockState_OpeningLowerGate , LockState_LowerGateOpen , LockState_ClosingLowerGate , LockState_RaisingWater };
event : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes , ev_null };
boatGoingDown : boolean;
boatGoingUp : boolean;
boatBlockingGate : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
lockState_stable := !( event = ev_boatRequestsToEnterAndGoDown | event = ev_boatInLockRequestingToGoDown | event = ev_upperGateFullyOpen | event = ev_boatInLockRequestingToGoUp | event = ev_boatRequestsToEnterAndGoUp | event = ev_upperGateFullyClosed | event = ev_waterLevelMatchesUpStream | event = ev_lowerGateFullyClosed | event = ev_lowerGateFullyOpen | event = ev_waterLevelMatchesDownStream | event = ev_after3minutes );
t1 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockFull;
t2 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockFull;
t3 := event = ev_upperGateFullyOpen & state = LockState_OpeningUpperGate;
t4 := event = ev_boatInLockRequestingToGoDown & state = LockState_UpperGateOpen;
t5 := event = ev_after3minutes & state = LockState_UpperGateOpen & g1;
t6 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g2;
t7 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g3;
t8 := event = ev_waterLevelMatchesDownStream & state = LockState_LoweringWater;
t9 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockEmpty;
t10 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockEmpty;
t11 := event = ev_lowerGateFullyOpen & state = LockState_OpeningLowerGate;
t12 := event = ev_boatInLockRequestingToGoUp & state = LockState_LowerGateOpen;
t13 := event = ev_after3minutes & state = LockState_LowerGateOpen & g1;
t14 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g4;
t15 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g5;
t16 := event = ev_waterLevelMatchesUpStream & state = LockState_RaisingWater;
g1 := !boatBlockingGate;
g2 := !boatGoingDown;
g3 := boatGoingDown;
g4 := !boatGoingUp;
g5 := boatGoingUp;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := LockState_BothDoorsClosedLockFull;
next( state ) := case
t6 : LockState_BothDoorsClosedLockFull;
t1 | t16 : LockState_OpeningUpperGate;
t3 : LockState_UpperGateOpen;
t4 | t5 : LockState_ClosingUpperGate;
t2 | t7 : LockState_LoweringWater;
t14 : LockState_BothDoorsClosedLockEmpty;
t8 | t9 : LockState_OpeningLowerGate;
t11 : LockState_LowerGateOpen;
t12 | t13 : LockState_ClosingLowerGate;
t10 | t15 : LockState_RaisingWater;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
lockState_stable : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "boatGoingDown" of this NuSMV module --
ASSIGN
init( boatGoingDown ) := FALSE;
-- This part defines logic for the assignment of values to state variable "boatGoingUp" of this NuSMV module --
ASSIGN
init( boatGoingUp ) := FALSE;
-- This part defines logic for the assignment of values to state variable "boatBlockingGate" of this NuSMV module --
ASSIGN
init( boatBlockingGate ) := FALSE;
-- This defines a NuSMV module for LockLockState_Machine --
MODULE LockLockState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
lockLockState : LockLockState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
lockLockState_Machine : LockLockState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( lockLockState_Machine.lockLockState.t6 & lockLockState_Machine.lockLockState.t7 -> next( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockFull & lockLockState_Machine.lockLockState.state = LockState_LoweringWater ) )
INVARSPEC ( lockLockState_Machine.lockLockState.t14 & lockLockState_Machine.lockLockState.t15 -> next( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty & lockLockState_Machine.lockLockState.state = LockState_RaisingWater ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockFull )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_OpeningUpperGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_UpperGateOpen )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_ClosingUpperGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_LoweringWater )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_OpeningLowerGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_LowerGateOpen )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_ClosingLowerGate )
CTLSPEC EF( lockLockState_Machine.lockLockState.state = LockState_RaisingWater )
18
13
elevator_state_machine : cruise.umple.compiler.State@1b316cac[name:Idle,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,4]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@df80af2[name:PrepareUpDoorClosingMovingUp,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,6]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@6619692e[name:PrepareDownDoorClosingMovingDown,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,6]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@765d2d4d[name:InMotionMoving,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,17]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@377fca35[name:InMotionStopping,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,57]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@7a9df9b2[name:OnFloorDoorOpening,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,35]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@57e0bfd6[name:OnFloorAtFloor,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[35,23]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@48c8c722[name:OnFloorDoorClosing,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,39]
stateMachine = 737652a9 : 0
cruise.umple.compiler.State@12f826c[name:OnFloorCheckingNextDestination,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[42,22]
stateMachine = 737652a9 : 0
-- This file is generated from Elevator.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ElevatorElevator_state_machine --
MODULE ElevatorElevator_state_machine
-- This part declares state variables for the given NuSMV module --
VAR
state : { Elevator_state_machine_Idle , Elevator_state_machine_PrepareUpDoorClosingMovingUp , Elevator_state_machine_PrepareDownDoorClosingMovingDown , Elevator_state_machine_InMotionMoving , Elevator_state_machine_InMotionStopping , Elevator_state_machine_OnFloorDoorOpening , Elevator_state_machine_OnFloorAtFloor , Elevator_state_machine_OnFloorDoorClosing , Elevator_state_machine_OnFloorCheckingNextDestination };
event : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest , ev_null };
timer : integer;
floorRequested : boolean;
obstruction : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
elevator_state_machine_stable := !( event = ev_obstruction | event = ev_doorClosed | event = ev_approachedFloor | event = ev_approachingFloor | event = ev_doorOpeningRequest | event = ev_doorClosingRequest | event = ev_stopped | event = ev_upRequest | event = ev_started | event = ev_downRequest | event = ev_doorOpened | event = ev_timeoutAtFloorToDoorClosing | event = ev_noRequest );
t1 := event = ev_upRequest & state = Elevator_state_machine_Idle;
t2 := event = ev_downRequest & state = Elevator_state_machine_Idle;
t3 := event = ev_started & state = Elevator_state_machine_PrepareUpDoorClosingMovingUp;
t4 := event = ev_doorClosed & state = Elevator_state_machine_PrepareUpDoorClosingMovingUp;
t5 := event = ev_started & state = Elevator_state_machine_PrepareDownDoorClosingMovingDown;
t6 := event = ev_doorClosed & state = Elevator_state_machine_PrepareDownDoorClosingMovingDown;
t7 := event = ev_approachingFloor & state = Elevator_state_machine_InMotionMoving & g1;
t8 := event = ev_approachedFloor & state = Elevator_state_machine_InMotionMoving & g2;
t9 := event = ev_stopped & state = Elevator_state_machine_InMotionStopping;
t10 := event = ev_doorOpened & state = Elevator_state_machine_OnFloorDoorOpening;
t11 := event = ev_timeoutAtFloorToDoorClosing & state = Elevator_state_machine_OnFloorAtFloor & g3;
t12 := event = ev_doorClosingRequest & state = Elevator_state_machine_OnFloorAtFloor;
t13 := event = ev_obstruction & state = Elevator_state_machine_OnFloorDoorClosing;
t14 := event = ev_doorOpeningRequest & state = Elevator_state_machine_OnFloorDoorClosing;
t15 := event = ev_doorClosed & state = Elevator_state_machine_OnFloorDoorClosing;
t16 := event = ev_upRequest & state = Elevator_state_machine_OnFloorCheckingNextDestination;
t17 := event = ev_downRequest & state = Elevator_state_machine_OnFloorCheckingNextDestination;
t18 := event = ev_noRequest & state = Elevator_state_machine_OnFloorCheckingNextDestination;
g1 := !floorRequested;
g2 := floorRequested;
g3 := !obstruction;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Elevator_state_machine_Idle;
next( state ) := case
t18 : Elevator_state_machine_Idle;
t1 | t16 : Elevator_state_machine_PrepareUpDoorClosingMovingUp;
t2 | t17 : Elevator_state_machine_PrepareDownDoorClosingMovingDown;
t5 | t6 | t3 | t4 | t7 : Elevator_state_machine_InMotionMoving;
t8 : Elevator_state_machine_InMotionStopping;
t13 | t9 | t14 : Elevator_state_machine_OnFloorDoorOpening;
t10 : Elevator_state_machine_OnFloorAtFloor;
t11 | t12 : Elevator_state_machine_OnFloorDoorClosing;
t15 : Elevator_state_machine_OnFloorCheckingNextDestination;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
elevator_state_machine_stable : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
ASSIGN
init( timer ) := 100;
-- This part defines logic for the assignment of values to state variable "floorRequested" of this NuSMV module --
ASSIGN
init( floorRequested ) := FALSE;
-- This part defines logic for the assignment of values to state variable "obstruction" of this NuSMV module --
ASSIGN
init( obstruction ) := FALSE;
-- This defines a NuSMV module for ElevatorElevator_state_machine_Machine --
MODULE ElevatorElevator_state_machine_Machine
-- This part declares state variables for the given NuSMV module --
VAR
elevatorElevator_state_machine : ElevatorElevator_state_machine;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
elevatorElevator_state_machine_Machine : ElevatorElevator_state_machine_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Idle )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareUpDoorClosingMovingUp )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareDownDoorClosingMovingDown )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_InMotionMoving )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_InMotionStopping )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorDoorOpening )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorAtFloor )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorDoorClosing )
CTLSPEC EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloorCheckingNextDestination )
1
2
sm : cruise.umple.compiler.State@1cbb6037[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,4]
stateMachine = 2cfd91b9 : 0
cruise.umple.compiler.State@491cceb4[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,27]
stateMachine = 2cfd91b9 : 0
-- This file is generated from ConstantTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemSm --
MODULE CruiseControlSystemSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_a , ev_null };
c : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_a );
t1 := event = ev_a & state = Sm_s1;
aa := 5;
bb := 5;
cc := 5.00;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_a };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 0;
-- This defines a NuSMV module for CruiseControlSystemSm_Machine --
MODULE CruiseControlSystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm : CruiseControlSystemSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 )
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 )
13
10
state : cruise.umple.compiler.State@de4bee9[name:planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,4]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@400c0d26[name:planeAssigned,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,21]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@1b261005[name:activeWithPassengerswaitingForNextLeg,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,6]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@339de67e[name:activeWithPassengersboarding,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,28]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@55704859[name:activeWithPassengersclosedAtGate,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,28]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@75351aec[name:activeWithPassengersunderway,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,30]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@5e388a77[name:activeWithPassengersdisembarking,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,18]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@24a29d8[name:completed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,45]
stateMachine = 62509b77 : 0
cruise.umple.compiler.State@55af9b48[name:cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,16]
stateMachine = 62509b77 : 0
-- This file is generated from SpecificFlight.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for SpecificFlightState --
MODULE SpecificFlightState
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_planned , State_planeAssigned , State_activeWithPassengerswaitingForNextLeg , State_activeWithPassengersboarding , State_activeWithPassengersclosedAtGate , State_activeWithPassengersunderway , State_activeWithPassengersdisembarking , State_completed , State_cancelled };
event : { ev_cancel , ev_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate , ev_null };
finished : boolean;
empty : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_boardingComplete | event = ev_assignPlane | event = ev_evacuate | event = ev_changePlane | event = ev_cancel | event = ev_passengersOut | event = ev_permissionToDepart | event = ev_readyForPassengers | event = ev_arriveAtGate );
t1 := event = ev_assignPlane & state = State_planned;
t2 := event = ev_cancel & state = State_planned;
t3 := event = ev_changePlane & state = State_planeAssigned;
t4 := event = ev_readyForPassengers & state = State_planeAssigned;
t5 := event = ev_cancel & state = State_planeAssigned;
t6 := event = ev_evacuate & state = State_activeWithPassengerswaitingForNextLeg;
t7 := event = ev_readyForPassengers & state = State_activeWithPassengerswaitingForNextLeg;
t8 := event = ev_evacuate & state = State_activeWithPassengersboarding;
t9 := event = ev_boardingComplete & state = State_activeWithPassengersboarding;
t10 := event = ev_evacuate & state = State_activeWithPassengersclosedAtGate;
t11 := event = ev_permissionToDepart & state = State_activeWithPassengersclosedAtGate;
t12 := event = ev_evacuate & state = State_activeWithPassengersunderway;
t13 := event = ev_arriveAtGate & state = State_activeWithPassengersunderway;
t14 := event = ev_evacuate & state = State_activeWithPassengersdisembarking;
t15 := event = ev_passengersOut & state = State_activeWithPassengersdisembarking & g1;
t16 := event = ev_passengersOut & state = State_activeWithPassengersdisembarking & g2;
t17 := event = ev_passengersOut & state = State_activeWithPassengersdisembarking & g3;
g1 := !empty;
g2 := !finished & empty;
g3 := finished & empty;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_planned;
next( state ) := case
t3 : State_planned;
t1 | t16 : State_planeAssigned;
t15 : State_activeWithPassengerswaitingForNextLeg;
t4 | t7 : State_activeWithPassengersboarding;
t9 : State_activeWithPassengersclosedAtGate;
t11 : State_activeWithPassengersunderway;
t6 | t10 | t14 | t8 | t12 | t13 : State_activeWithPassengersdisembarking;
t17 : State_completed;
t2 | t5 : State_cancelled;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_cancel , ev_boardingComplete , ev_passengersOut , ev_assignPlane , ev_permissionToDepart , ev_evacuate , ev_readyForPassengers , ev_changePlane , ev_arriveAtGate };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "finished" of this NuSMV module --
ASSIGN
init( finished ) := FALSE;
-- This part defines logic for the assignment of values to state variable "empty" of this NuSMV module --
ASSIGN
init( empty ) := FALSE;
-- This defines a NuSMV module for SpecificFlightState_Machine --
MODULE SpecificFlightState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
specificFlightState : SpecificFlightState;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
specificFlightState_Machine : SpecificFlightState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t16 -> next( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengerswaitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_planeAssigned ) )
INVARSPEC ( specificFlightState_Machine.specificFlightState.t15 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengerswaitingForNextLeg & specificFlightState_Machine.specificFlightState.state = State_completed ) )
INVARSPEC ( specificFlightState_Machine.specificFlightState.t16 & specificFlightState_Machine.specificFlightState.t17 -> next( specificFlightState_Machine.specificFlightState.state = State_planeAssigned & specificFlightState_Machine.specificFlightState.state = State_completed ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planned )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_planeAssigned )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengerswaitingForNextLeg )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersboarding )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersclosedAtGate )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersunderway )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_activeWithPassengersdisembarking )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_completed )
CTLSPEC EF( specificFlightState_Machine.specificFlightState.state = State_cancelled )
11
5
status : cruise.umple.compiler.State@72bd8702[name:Planned,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 2620d0dc : 0
cruise.umple.compiler.State@18f90bd8[name:OpenNotEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,26]
stateMachine = 2620d0dc : 0
cruise.umple.compiler.State@1ff9d66b[name:OpenEnoughStudents,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,33]
stateMachine = 2620d0dc : 0
cruise.umple.compiler.State@1e2c701[name:Cancelled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,16]
stateMachine = 2620d0dc : 0
cruise.umple.compiler.State@21e441d1[name:Closed,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[21,27]
stateMachine = 2620d0dc : 0
-- This file is generated from CourseSection.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CourseSectionStatus --
MODULE CourseSectionStatus
-- This part declares state variables for the given NuSMV module --
VAR
state : { Status_Planned , Status_OpenNotEnoughStudents , Status_OpenEnoughStudents , Status_Cancelled , Status_Closed };
event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
status_stable := !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration );
t1 := event = ev_cancel & state = Status_Planned;
t2 := event = ev_openRegistration & state = Status_Planned;
t3 := event = ev_requestToRegister & state = Status_OpenNotEnoughStudents;
t4 := event = ev_closeRegistration & state = Status_OpenNotEnoughStudents;
t5 := event = ev_cancel & state = Status_OpenNotEnoughStudents;
t6 := event = ev_classSizeExceedsMinimum & state = Status_OpenNotEnoughStudents;
t7 := event = ev_requestToRegister & state = Status_OpenEnoughStudents;
t8 := event = ev_cancel & state = Status_OpenEnoughStudents;
t9 := event = ev_closeRegistration & state = Status_OpenEnoughStudents;
t10 := event = ev_classSizeExceedsMaximum & state = Status_OpenEnoughStudents;
t11 := event = ev_cancel & state = Status_Closed;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Status_Planned;
next( state ) := case
t2 | t3 : Status_OpenNotEnoughStudents;
t6 | t7 : Status_OpenEnoughStudents;
t4 | t8 | t1 | t5 | t11 : Status_Cancelled;
t9 | t10 : Status_Closed;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
status_stable : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CourseSectionStatus_Machine --
MODULE CourseSectionStatus_Machine
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus : CourseSectionStatus;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
courseSectionStatus_Machine : CourseSectionStatus_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Planned )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenNotEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenEnoughStudents )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Cancelled )
CTLSPEC EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Closed )
43
25
cruiseControlSystem : cruise.umple.compiler.State@4cc1f8d3[name:adaptiveControlSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,6]
stateMachine = 2a9eb44d : 5
cruise.umple.compiler.State@46135aba[name:terminal,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,24]
stateMachine = 2a9eb44d : 0
cruiseController : cruise.umple.compiler.State@25a218a[name:inactivetempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,32]
stateMachine = 411e5672 : 0
cruise.umple.compiler.State@1efdaec0[name:tempStatetempState_1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,39]
stateMachine = 411e5672 : 0
cruise.umple.compiler.State@42e7e12f[name:cruisingtempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,12]
stateMachine = 411e5672 : 0
cruise.umple.compiler.State@11e2de88[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,21]
stateMachine = 411e5672 : 0
cruise.umple.compiler.State@227ca700[name:standbytempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[42,15]
stateMachine = 411e5672 : 0
cruise.umple.compiler.State@51049621[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[48,21]
stateMachine = 411e5672 : 0
speedControl : cruise.umple.compiler.State@2c17ebb7[name:speedControldisabled,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[58,4]
stateMachine = 2b867623 : 0
cruise.umple.compiler.State@6c8590f4[name:speedControlenabled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[62,22]
stateMachine = 2b867623 : 0
cruise.umple.compiler.State@1945b6db[name:speedControltempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,14]
stateMachine = 2b867623 : 0
sensorScan : cruise.umple.compiler.State@a1cac17[name:sensorScan,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[75,2]
stateMachine = 1233f419 : 0
inputSpeed : cruise.umple.compiler.State@5271c49b[name:inputSpeedcheckSpeed,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[88,15]
stateMachine = 66b65360 : 0
throttle : cruise.umple.compiler.State@92537b5[name:throttletempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[97,18]
stateMachine = 43b89b4 : 0
-- This file is generated from AdaptiveCruiseControlWithTerminalState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem --
MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystem_adaptiveControlSystem , CruiseControlSystem_terminal };
event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_term , ev_clearSpeed , ev_on , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
cruiseControlSystem_stable := !( event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_clearSpeed | event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_term | event = ev_on );
t1 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state != null;
t2 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
t3 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
t4 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
t5 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
t6 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
t7 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
t8 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1;
t9 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1;
t10 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1;
t11 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1;
t12 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState;
t13 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState;
t14 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState;
t15 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState;
t16 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState;
t17 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t18 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t19 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t20 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t21 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t22 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t23 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState;
t24 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState;
t25 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState;
t26 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t27 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t28 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
t29 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state != null;
t30 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled;
t31 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled;
t32 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled;
t33 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled;
t34 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled;
t35 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled;
t36 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled;
t37 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t38 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t39 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t40 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t41 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t42 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t43 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t44 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
t45 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t46 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t47 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t48 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed;
t49 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
t50 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
t51 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := CruiseControlSystem_adaptiveControlSystem;
next( state ) := case
t2 | t9 | t17 | t18 | t19 | t20 | t26 | t27 | t49 | t21 | t28 | t6 | t11 | t10 | t30 | t32 | t5 | t35 | t38 | t40 | t42 | t46 | t45 | t8 | t12 | t13 | t14 | t15 | t23 | t24 | t34 | t16 | t25 | t3 | t4 | t22 | t7 | t31 | t36 | t33 | t37 | t39 | t41 | t43 | t50 | t48 : CruiseControlSystem_adaptiveControlSystem;
t29 | t47 | t1 | t44 | t51 : CruiseControlSystem_terminal;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_term , ev_clearSpeed , ev_on };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1 , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState , CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 : null;
_cruiseControlSystem.t8 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 | _cruiseControlSystem.t15 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t34 | _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t17 | _cruiseControlSystem.t18 | _cruiseControlSystem.t19 | _cruiseControlSystem.t20 | _cruiseControlSystem.t26 | _cruiseControlSystem.t27 | _cruiseControlSystem.t49 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
_cruiseControlSystem.t16 | _cruiseControlSystem.t25 | _cruiseControlSystem.t3 | _cruiseControlSystem.t21 | _cruiseControlSystem.t28 | _cruiseControlSystem.t6 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1;
_cruiseControlSystem.t11 | _cruiseControlSystem.t4 | _cruiseControlSystem.t22 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState;
_cruiseControlSystem.t10 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2;
_cruiseControlSystem.t7 : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled , CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled , CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControltempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t34 | _cruiseControlSystem.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t49 : null;
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t31 | _cruiseControlSystem.t36 : CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled;
_cruiseControlSystem.t33 | _cruiseControlSystem.t5 | _cruiseControlSystem.t35 : CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t34 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 | _cruiseControlSystem.t49 : null;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t34 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 | _cruiseControlSystem.t49 : null;
_cruiseControlSystem.t45 | _cruiseControlSystem.t48 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_throttletempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t44 | _cruiseControlSystem.t51 | _cruiseControlSystem.t34 | _cruiseControlSystem.t29 | _cruiseControlSystem.t47 | _cruiseControlSystem.t5 | _cruiseControlSystem.t49 : null;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_throttletempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine --
MODULE CruiseControlSystemCruiseControlSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t49 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t48 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_terminal )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_inactivetempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempStatetempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_cruisingtempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_standbytempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemCruiseControllerCruiseController_tempState_1tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControldisabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControlenabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemSpeedControlSpeedControl_speedControltempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemCruiseControlSystemSensorScan_sensorScan )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_inputSpeedcheckSpeed )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_throttletempState )
9
12
state : cruise.umple.compiler.State@26a5775f[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 4bcb45e4 : 2
cruise.umple.compiler.State@5f478e42[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 4bcb45e4 : 0
state11 : cruise.umple.compiler.State@2e8ff687[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 231d7386 : 0
cruise.umple.compiler.State@3268f664[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 231d7386 : 0
state12 : cruise.umple.compiler.State@51be4bf5[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,8]
stateMachine = 54b48b : 0
cruise.umple.compiler.State@481d6644[name:state12state122,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,16]
stateMachine = 54b48b : 2
state1221 : cruise.umple.compiler.State@3d3362f5[name:state1221state12211,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 1e717745 : 0
state1222 : cruise.umple.compiler.State@3ba468ec[name:state1222state12221,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[29,14]
stateMachine = 1828069a : 0
-- This file is generated from AndCrossFromDeeplyNestedStateCase2.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State12state122State1221State1221 , _stateState1State12State12State12state122State1222State1222 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e6 , ev_e1 , ev_e2 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e6 | event = ev_e2 | event = ev_e5 | event = ev_e1 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state11state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t5 := event = ev_e5 & _stateState1State12State12.state != null;
t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t8 := event = ev_e2 & _stateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211;
t9 := event = ev_e6 & _stateState1State12State12State12state122State1222State1222.state = StateState1State12State12State12state122State1222State1222_state1222state12221;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t2 | t9 | t4 | t3 | t8 | t6 | t7 : State_state1;
t1 | t5 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e6 , ev_e1 , ev_e2 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state11state111 , StateState1State11State11_state11state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state11state111;
_state.t8 | _state.t2 | _state.t9 : StateState1State11State11_state11state112;
_state.state = State_state1 & state = null : StateState1State11State11_state11state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state12state121 , StateState1State12State12_state12state122 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t8 | _state.t5 | _state.t9 : null;
_state.t4 | _state.t6 | _state.t7 : StateState1State12State12_state12state122;
_state.state = State_state1 & state = null : StateState1State12State12_state12state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State12state122State1221State1221 --
MODULE AStateState1State12State12State12state122State1221State1221 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State12state122State1221State1221_state1221state12211 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
_state.t4 | _state.t7 : StateState1State12State12State12state122State1221State1221_state1221state12211;
_stateState1State12State12.state = StateState1State12State12_state12state122 & state = null : StateState1State12State12State12state122State1221State1221_state1221state12211;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12State12state122State1222State1222 --
MODULE AStateState1State12State12State12state122State1222State1222 ( _state , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12State12state122State1222State1222_state1222state12221 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
_stateState1State12State12.state = StateState1State12State12_state12state122 & state = null : StateState1State12State12State12state122State1222State1222_state1222state12221;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State12state122State1221State1221 , aStateState1State12State12State12state122State1222State1222 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
aStateState1State12State12State12state122State1221State1221 : AStateState1State12State12State12state122State1221State1221( aState , aStateState1State12State12 );
aStateState1State12State12State12state122State1222State1222 : AStateState1State12State12State12state122State1222State1222( aState , aStateState1State12State12 );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state122 ) )
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t8 -> next( aState_Machine.aStateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state122 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State12state122State1221State1221.state = StateState1State12State12State12state122State1221State1221_state1221state12211 )
CTLSPEC EF( aState_Machine.aStateState1State12State12State12state122State1222State1222.state = StateState1State12State12State12state122State1222State1222_state1222state12221 )
10
10
state : cruise.umple.compiler.State@49ffd0cb[name:state1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 1254e9a7 : 2
cruise.umple.compiler.State@262c75a3[name:state2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,14]
stateMachine = 1254e9a7 : 0
state11 : cruise.umple.compiler.State@1881ef74[name:state11state111,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 2fcf1d27 : 0
cruise.umple.compiler.State@1ae3d0a8[name:state11state112,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 2fcf1d27 : 0
state12 : cruise.umple.compiler.State@5fa73f3a[name:state12state121,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,8]
stateMachine = 484a91f5 : 0
cruise.umple.compiler.State@1f3b8bfe[name:state1221state12211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 484a91f5 : 0
-- This file is generated from AndCrossFromDeeplyNestedState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_state1 , State_state2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e5 & _stateState1State11State11.state != null;
t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state11state111;
t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state11state112;
t5 := event = ev_e5 & _stateState1State12State12.state != null;
t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state12state121;
t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state1221state12211;
t9 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state1221state12211;
t10 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state1221state12211;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_state1;
next( state ) := case
t3 | t10 | t9 | t6 | t2 | t8 | t4 | t7 : State_state1;
t1 | t5 : State_state2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State11State11_state11state111 , StateState1State11State11_state11state112 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t4 : null;
_state.t3 : StateState1State11State11_state11state111;
_state.t2 | _state.t10 : StateState1State11State11_state11state112;
_state.state = State_state1 & state = null : StateState1State11State11_state11state111;
TRUE : state;
esac;
-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateState1State12State12_state12state121 , StateState1State12State12_state1221state12211 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t5 | _state.t1 | _state.t10 : null;
_state.t8 | _state.t9 : StateState1State12State12_state12state121;
_state.t6 | _state.t4 | _state.t7 : StateState1State12State12_state1221state12211;
_state.state = State_state1 & state = null : StateState1State12State12_state12state121;
TRUE : state;
esac;
-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aState : AState( aStateState1State11State11 , aStateState1State12State12 );
aStateState1State11State11 : AStateState1State11State11( aState );
aStateState1State12State12 : AStateState1State12State12( aState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aState_Machine : AState_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aState_Machine.aState.t4 & aState_Machine.aState.t10 -> next( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state1221state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aState_Machine.aState.state = State_state1 )
CTLSPEC EF( aState_Machine.aState.state = State_state2 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state111 )
CTLSPEC EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state11state112 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state12state121 )
CTLSPEC EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state1221state12211 )
18
16
Sm : cruise.umple.compiler.State@563434b4[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 40977fab : 0
cruise.umple.compiler.State@326c526a[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,4]
stateMachine = 40977fab : 3
A : cruise.umple.compiler.State@2094a7be[name:Aa1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,8]
stateMachine = 57f2a68c : 0
cruise.umple.compiler.State@2c63f1fe[name:Aa2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,16]
stateMachine = 57f2a68c : 0
cruise.umple.compiler.State@7c4c091a[name:Aa3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,16]
stateMachine = 57f2a68c : 0
B : cruise.umple.compiler.State@7960e87a[name:Bb1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,10]
stateMachine = 3be4e71c : 0
cruise.umple.compiler.State@83b0d9f[name:Bb2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,18]
stateMachine = 3be4e71c : 0
cruise.umple.compiler.State@14a3d15b[name:Bb3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,18]
stateMachine = 3be4e71c : 0
cruise.umple.compiler.State@6afed88d[name:Bb4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[30,18]
stateMachine = 3be4e71c : 0
C : cruise.umple.compiler.State@763e1ec9[name:Cc1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[39,10]
stateMachine = 26b9a264 : 0
cruise.umple.compiler.State@2c1a86e1[name:Cc2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[41,18]
stateMachine = 26b9a264 : 0
cruise.umple.compiler.State@303c195f[name:Cc3,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 26b9a264 : 0
cruise.umple.compiler.State@36f291c7[name:Cc4,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[46,18]
stateMachine = 26b9a264 : 0
-- This file is generated from ArbitraryExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for TestSmSm --
MODULE TestSmSm ( _smS2AA , _smS2BB , _smS2CC )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
Sm_stable := !( event = ev_e1 | event = ev_e2 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e1 & _smS2AA.state = SmS2AA_Aa1;
t3 := event = ev_e2 & _smS2AA.state = SmS2AA_Aa1;
t4 := event = ev_e2 & _smS2AA.state = SmS2AA_Aa2;
t5 := event = ev_e1 & _smS2AA.state = SmS2AA_Aa2;
t6 := event = ev_e1 & _smS2AA.state = SmS2AA_Aa3;
t7 := event = ev_e2 & _smS2BB.state = SmS2BB_Bb1;
t8 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb1;
t9 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb2;
t10 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb3;
t11 := event = ev_e1 & _smS2BB.state = SmS2BB_Bb4;
t12 := event = ev_e2 & _smS2BB.state = SmS2BB_Bb4;
t13 := event = ev_e1 & _smS2CC.state = SmS2CC_Cc1;
t14 := event = ev_e2 & _smS2CC.state = SmS2CC_Cc1;
t15 := event = ev_e1 & _smS2CC.state = SmS2CC_Cc3;
t16 := event = ev_e2 & _smS2CC.state = SmS2CC_Cc3;
t17 := event = ev_e1 & _smS2CC.state = SmS2CC_Cc4;
t18 := event = ev_e2 & _smS2CC.state = SmS2CC_Cc4;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t4 : Sm_s1;
t6 | t5 | t9 | t12 | t11 | t14 | t17 | t13 | t2 | t3 | t18 | t8 | t7 | t10 | t15 | t1 | t16 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
Sm_stable : { ev_e1 , ev_e2 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for TestSmSmS2AA --
MODULE TestSmSmS2AA ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2AA_Aa1 , SmS2AA_Aa2 , SmS2AA_Aa3 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 : null;
_sm.t2 | _sm.t6 : SmS2AA_Aa2;
_sm.t5 | _sm.t3 | _sm.t18 : SmS2AA_Aa3;
_sm.state = Sm_s2 & state = null : SmS2AA_Aa1;
TRUE : state;
esac;
-- This defines a NuSMV module for TestSmSmS2BB --
MODULE TestSmSmS2BB ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2BB_Bb1 , SmS2BB_Bb2 , SmS2BB_Bb3 , SmS2BB_Bb4 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t18 : null;
_sm.t9 : SmS2BB_Bb1;
_sm.t8 | _sm.t12 : SmS2BB_Bb2;
_sm.t7 | _sm.t11 : SmS2BB_Bb3;
_sm.t10 : SmS2BB_Bb4;
_sm.state = Sm_s2 & state = null : SmS2BB_Bb1;
TRUE : state;
esac;
-- This defines a NuSMV module for TestSmSmS2CC --
MODULE TestSmSmS2CC ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2CC_Cc1 , SmS2CC_Cc2 , SmS2CC_Cc3 , SmS2CC_Cc4 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t18 : null;
_sm.t15 | _sm.t14 | _sm.t17 : SmS2CC_Cc2;
_sm.t1 | _sm.t13 : SmS2CC_Cc3;
_sm.t16 : SmS2CC_Cc4;
_sm.state = Sm_s2 & state = null : SmS2CC_Cc1;
TRUE : state;
esac;
-- This defines a NuSMV module for TestSmSm_Machine --
MODULE TestSmSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
testSmSm : TestSmSm( testSmSmS2AA , testSmSmS2BB , testSmSmS2CC );
testSmSmS2AA : TestSmSmS2AA( testSmSm );
testSmSmS2BB : TestSmSmS2BB( testSmSm );
testSmSmS2CC : TestSmSmS2CC( testSmSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
testSmSm_Machine : TestSmSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb3 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb2 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t14 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc2 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t16 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc4 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t4 & testSmSm_Machine.testSmSm.t18 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb3 ) )
INVARSPEC ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb2 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( testSmSm_Machine.testSmSm.state = Sm_s1 )
CTLSPEC EF( testSmSm_Machine.testSmSm.state = Sm_s2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa1 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_Aa3 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb1 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb3 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_Bb4 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc1 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc2 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc3 )
CTLSPEC EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_Cc4 )
38
24
cruiseControlSystem : cruise.umple.compiler.State@42b2319c[name:adaptiveControlSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,6]
stateMachine = 40c65a03 : 5
cruiseController : cruise.umple.compiler.State@105f875f[name:inactivetempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,32]
stateMachine = 1babd50e : 0
cruise.umple.compiler.State@48c63936[name:tempStatetempState_1,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,39]
stateMachine = 1babd50e : 0
cruise.umple.compiler.State@3aa2646f[name:cruisingtempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,12]
stateMachine = 1babd50e : 0
cruise.umple.compiler.State@562b791b[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,21]
stateMachine = 1babd50e : 0
cruise.umple.compiler.State@136dc575[name:standbytempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[41,15]
stateMachine = 1babd50e : 0
cruise.umple.compiler.State@6a1b51a7[name:tempState_1tempState_2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[47,21]
stateMachine = 1babd50e : 0
speedControl : cruise.umple.compiler.State@43b3d197[name:speedControldisabled,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[56,4]
stateMachine = 4edd8b5b : 0
cruise.umple.compiler.State@3366a998[name:speedControlenabled,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[60,22]
stateMachine = 4edd8b5b : 0
cruise.umple.compiler.State@3c0403a[name:speedControltempState,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,14]
stateMachine = 4edd8b5b : 0
sensorScan : cruise.umple.compiler.State@5ea206bc[name:sensorScan,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[73,2]
stateMachine = 7c87c960 : 0
inputSpeed : cruise.umple.compiler.State@7a2b8501[name:inputSpeedcheckSpeed,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[85,15]
stateMachine = 7b6bcbee : 0
throttle : cruise.umple.compiler.State@3532b5d9[name:throttletempState,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[93,18]
stateMachine = 77bca6d6 : 0
-- This file is generated from AdaptiveCruiseControlSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem --
MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemControlCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControl , _cruiseControlSystemAdaptiveControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystem_adaptiveControlSystem , null };
event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
cruiseControlSystem_stable := !( event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_clearSpeed | event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_on );
t1 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
t2 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
t3 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
t4 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t5 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t6 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t7 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t8 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
t9 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t10 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t11 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
t12 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
t13 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
t14 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
t15 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
t16 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
t17 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
t18 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
t19 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
t20 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
t21 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t22 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t23 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t24 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
t25 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t26 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t27 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
t28 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
t29 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t30 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t31 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t32 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t33 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t34 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t35 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
t36 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
t37 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
t38 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
t39 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
t40 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := CruiseControlSystem_adaptiveControlSystem;
next( state ) := case
t29 | t31 | t33 | t35 | t40 | t4 | t1 | t3 | t14 | t18 | t5 | t7 | t16 | t10 | t19 | t22 | t27 | t26 | t25 | t37 | t30 | t32 | t34 | t38 | t2 | t9 | t12 | t13 | t17 | t20 | t6 | t8 | t15 | t11 | t21 | t23 | t24 | t28 | t36 | t39 : CruiseControlSystem_adaptiveControlSystem;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
_cruiseControlSystem.t3 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
_cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
_cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
_cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t1 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t3 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t14 | _cruiseControlSystem.t3 : null;
_cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t6 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
_cruiseControlSystem.t8 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t17 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t15 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 : null;
_cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 : null;
_cruiseControlSystem.t10 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
_cruiseControlSystem.t11 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t20 | _cruiseControlSystem.t10 | _cruiseControlSystem.t18 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 : null;
_cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
_cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
_cruiseControlSystem.t26 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
_cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
_cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemControl_control , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControl_control;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControl_control;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t36 | _cruiseControlSystem.t37 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
_cruiseControlSystem.t39 : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
_cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
TRUE : state;
esac;
-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine --
MODULE CruiseControlSystemCruiseControlSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem );
cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t1 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t36 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t8 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t11 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t6 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t35 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t7 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
INVARSPEC ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed )
CTLSPEC EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState )
5
5
sm : cruise.umple.compiler.State@4be7661[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 349c9bfa : 0
cruise.umple.compiler.State@1479c527[name:s21s211,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,8]
stateMachine = 349c9bfa : 0
cruise.umple.compiler.State@4c55d3ce[name:s2s22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,14]
stateMachine = 349c9bfa : 0
-- This file is generated from MultiLevelStateMachineExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s21s211 , Sm_s2s22 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e2 & state = Sm_s21s211;
t4 := event = ev_e3 & state = Sm_s21s211;
t5 := event = ev_e1 & state = Sm_s21s211;
t6 := event = ev_e2 & state = Sm_s2s22;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 | t6 | t3 | t5 : Sm_s1;
t2 : Sm_s21s211;
t4 : Sm_s2s22;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s21s211 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2s22 )
25
22
heatSystem : cruise.umple.compiler.State@5b84007e[name:heatSys,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,3]
stateMachine = 5961fad1 : 3
room : cruise.umple.compiler.State@1e275478[name:noHeatReqidleNoHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,6]
stateMachine = 42e1bfe1 : 0
cruise.umple.compiler.State@399dc033[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[34,61]
stateMachine = 42e1bfe1 : 0
cruise.umple.compiler.State@6ffc12a3[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[44,6]
stateMachine = 42e1bfe1 : 0
cruise.umple.compiler.State@4bdc0fb0[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[45,60]
stateMachine = 42e1bfe1 : 0
Controller : cruise.umple.compiler.State@48dbf9d[name:Controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[59,5]
stateMachine = 53466b67 : 0
cruise.umple.compiler.State@5ca012a6[name:ControllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[65,6]
stateMachine = 53466b67 : 0
cruise.umple.compiler.State@772a370d[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[71,7]
stateMachine = 53466b67 : 0
cruise.umple.compiler.State@1eb21f22[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[72,26]
stateMachine = 53466b67 : 0
cruise.umple.compiler.State@7e4f42c0[name:Controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[63,22]
stateMachine = 53466b67 : 0
furnace : cruise.umple.compiler.State@22265a8d[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[89,5]
stateMachine = 492939b : 0
cruise.umple.compiler.State@ad7d724[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[92,5]
stateMachine = 492939b : 0
cruise.umple.compiler.State@e8acdfc[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[90,48]
stateMachine = 492939b : 0
cruise.umple.compiler.State@1e680c92[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[88,21]
stateMachine = 492939b : 0
-- This file is generated from FurnaceControlSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for HeatingSystemHeatSystem --
MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysRoomRoom , _heatSystemHeatSysControllerController , _heatSystemHeatSysFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystem_heatSys , null };
event : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , ev_t17 , ev_t19 , ev_null };
tooCold : boolean;
tooHot : boolean;
requestHeat : boolean;
furnaceTimer : integer;
furnaceStartupTime : integer;
valvePos : integer;
waitedForWarm : integer;
warmUpTimer : integer;
coolDownTimer : integer;
waitedForCool : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
heatSystem_stable := !( event = ev_t5 | event = ev_furnaceReset | event = ev_furnaceRunning | event = ev_t21 | event = ev_t23 | event = ev_t22 | event = ev_activate | event = ev_t18 | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_heatSwitchOff | event = ev_t24 | event = ev_t15 | event = ev_userReset | event = ev_t19 );
t1 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat & g1;
t2 := event = ev_t17 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g2;
t3 := event = ev_t18 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g3;
t4 := event = ev_t15 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g4;
t5 := event = ev_t20 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat & g5;
t6 := event = ev_t21 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat & g6;
t7 := event = ev_t19 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g7;
t8 := event = ev_t22 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g8;
t9 := event = ev_t24 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g9;
t10 := event = ev_t23 & _heatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool & g10;
t11 := event = ev_heatSwitchOn & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff;
t12 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle;
t13 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle;
t14 := event = ev_activate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle & g11;
t15 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater;
t16 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater;
t17 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater & g12;
t18 := event = ev_furnaceRunning & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater;
t19 := event = ev_heatSwitchOff & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun;
t20 := event = ev_furnaceFault & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun;
t21 := event = ev_deactivate & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun & g12;
t22 := event = ev_furnaceReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror;
t23 := event = ev_userReset & _heatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror;
t24 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
t25 := event = ev_activate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
t26 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun;
t27 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun;
t28 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct;
t29 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct;
t30 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g13;
t31 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct & g14;
t32 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr;
g1 := tooCold;
g2 := waitedForWarm < warmUpTimer;
g3 := valvePos != 2 & warmUpTimer = waitedForWarm;
g4 := !tooCold;
g5 := waitedForwarm = warmUpTimer & valvePos = 2 & tooCold;
g6 := tooHot;
g7 := waitedForCool = coolDownTimer & valvePos = 0 & tooHot;
g8 := !tooHot;
g9 := valvePos != 0 & coolDownTimer = waitedForCool;
g10 := waitedForCool < coolDownTimer;
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceStartupTime < furnaceTimer;
g14 := furnaceTimer = furnaceStartupTime;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := HeatSystem_heatSys;
next( state ) := case
t4 | t1 | t3 | t8 | t9 | t12 | t19 | t23 | t17 | t14 | t13 | t20 | t27 | t31 | t30 | t26 | t7 | t2 | t5 | t6 | t10 | t15 | t22 | t11 | t21 | t18 | t16 | t32 | t29 | t25 | t24 | t28 : HeatSystem_heatSys;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
heatSystem_stable : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_t23 , ev_heatSwitchOff , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_t18 , ev_userReset , ev_t17 , ev_t19 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "tooCold" of this NuSMV module --
ASSIGN
init( tooCold ) := FALSE;
-- This part defines logic for the assignment of values to state variable "tooHot" of this NuSMV module --
ASSIGN
init( tooHot ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceStartupTime" of this NuSMV module --
ASSIGN
init( furnaceStartupTime ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysRoomRoom --
MODULE HeatingSystemHeatSystemHeatSysRoomRoom ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat , HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat , HeatSystemHeatSysRoomRoom_heatReqidleHeat , HeatSystemHeatSysRoomRoom_heatReqwaitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t4 | _heatSystem.t7 : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat;
_heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat;
_heatSystem.t5 | _heatSystem.t8 : HeatSystemHeatSysRoomRoom_heatReqidleHeat;
_heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysRoomRoom_heatReqwaitForCool;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysControllerController --
MODULE HeatingSystemHeatSystemHeatSysControllerController ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysControllerController_Controlleroff , HeatSystemHeatSysControllerController_ControllerOnidle , HeatSystemHeatSysControllerController_heaterActiveactHeater , HeatSystemHeatSysControllerController_heaterActiveheaterRun , HeatSystemHeatSysControllerController_Controllererror , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t15 | _heatSystem.t22 | _heatSystem.t12 | _heatSystem.t19 | _heatSystem.t23 : HeatSystemHeatSysControllerController_Controlleroff;
_heatSystem.t17 | _heatSystem.t11 | _heatSystem.t21 : HeatSystemHeatSysControllerController_ControllerOnidle;
_heatSystem.t14 : HeatSystemHeatSysControllerController_heaterActiveactHeater;
_heatSystem.t18 : HeatSystemHeatSysControllerController_heaterActiveheaterRun;
_heatSystem.t16 | _heatSystem.t13 | _heatSystem.t20 : HeatSystemHeatSysControllerController_Controllererror;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysControllerController_Controlleroff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnace --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnace ( _heatSystem )
-- This part declares state variables for the given NuSMV module --
VAR
state : { HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun , HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct , HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_heatSystem.t27 | _heatSystem.t32 | _heatSystem.t29 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
_heatSystem.t31 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun;
_heatSystem.t25 | _heatSystem.t30 : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct;
_heatSystem.t26 | _heatSystem.t24 | _heatSystem.t28 : HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr;
_heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatingSystemHeatSystem_Machine --
MODULE HeatingSystemHeatSystem_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem : HeatingSystemHeatSystem( heatingSystemHeatSystemHeatSysRoomRoom , heatingSystemHeatSystemHeatSysControllerController , heatingSystemHeatSystemHeatSysFurnaceFurnace );
heatingSystemHeatSystemHeatSysRoomRoom : HeatingSystemHeatSystemHeatSysRoomRoom( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysControllerController : HeatingSystemHeatSystemHeatSysControllerController( heatingSystemHeatSystem );
heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
heatingSystemHeatSystem_Machine : HeatingSystemHeatSystem_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystem.state = HeatSystem_heatSys )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqidleNoHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_noHeatReqwaitForHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqidleHeat )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysRoomRoom.state = HeatSystemHeatSysRoomRoom_heatReqwaitForCool )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controlleroff )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_ControllerOnidle )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveactHeater )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_heaterActiveheaterRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysControllerController.state = HeatSystemHeatSysControllerController_Controllererror )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceOff )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceRun )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormalfurnaceAct )
CTLSPEC EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnacefurnaceErr )
8
15
sm : cruise.umple.compiler.State@7cb84fb5[name:stable,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 65cfd565 : 0
cruise.umple.compiler.State@3940c41c[name:Counter,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[6,12]
stateMachine = 65cfd565 : 3
Bit1 : cruise.umple.compiler.State@2bfe51d5[name:Bit1Bit11,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,8]
stateMachine = 158566f8 : 0
cruise.umple.compiler.State@e7afdd0[name:Bit1Bit12,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,16]
stateMachine = 158566f8 : 0
Bit2 : cruise.umple.compiler.State@3125a827[name:Bit2Bit21,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[19,8]
stateMachine = 680c372f : 0
cruise.umple.compiler.State@56803e70[name:Bit2Bit22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,16]
stateMachine = 680c372f : 0
Status : cruise.umple.compiler.State@f4dcd0d[name:StatusCounting,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[28,9]
stateMachine = 13b52853 : 2
cruise.umple.compiler.State@1a89d045[name:StatusMax,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[23,16]
stateMachine = 13b52853 : 0
Bit3 : cruise.umple.compiler.State@4d2d0eda[name:Bit3Bit31,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[30,13]
stateMachine = 2ce987d7 : 0
Bit4 : cruise.umple.compiler.State@16a4d5a9[name:Bit4Bit41,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[31,21]
stateMachine = 427b24c0 : 0
-- This file is generated from EnhancedBitCounter.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smCounterBit1Bit1 , _smCounterBit2Bit2 , _smCounterStatusStatus , _smCounterStatusStatusStatusCountingBit3Bit3 , _smCounterStatusStatusStatusCountingBit4Bit4 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_stable , Sm_Counter };
event : { ev_reset , ev_e0 , ev_e1 , ev_e2 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_reset | event = ev_e1 | event = ev_e0 | event = ev_e2 );
t1 := event = ev_e0 & state = Sm_stable;
t2 := event = ev_e1 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit11;
t3 := event = ev_e2 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit12;
t4 := event = ev_e1 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit21;
t5 := event = ev_e2 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit22;
t6 := event = ev_reset & _smCounterStatusStatus.state = SmCounterStatusStatus_StatusMax;
t7 := event = ev_e1 & _smCounterStatusStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31;
t8 := event = ev_e2 & _smCounterStatusStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_stable;
next( state ) := case
t1 | t2 | t6 | t7 | t3 | t4 | t8 | t5 : Sm_Counter;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_reset , ev_e0 , ev_e1 , ev_e2 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmCounterBit1Bit1 --
MODULE ASmCounterBit1Bit1 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterBit1Bit1_Bit1Bit11 , SmCounterBit1Bit1_Bit1Bit12 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t5 : null;
_sm.t3 : SmCounterBit1Bit1_Bit1Bit11;
_sm.t2 : SmCounterBit1Bit1_Bit1Bit12;
_sm.state = Sm_Counter & state = null : SmCounterBit1Bit1_Bit1Bit11;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterBit2Bit2 --
MODULE ASmCounterBit2Bit2 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterBit2Bit2_Bit2Bit21 , SmCounterBit2Bit2_Bit2Bit22 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t5 : null;
_sm.t4 : SmCounterBit2Bit2_Bit2Bit22;
_sm.state = Sm_Counter & state = null : SmCounterBit2Bit2_Bit2Bit21;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterStatusStatus --
MODULE ASmCounterStatusStatus ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterStatusStatus_StatusCounting , SmCounterStatusStatus_StatusMax , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 : null;
_sm.t8 | _sm.t6 | _sm.t7 : SmCounterStatusStatus_StatusCounting;
_sm.t5 : SmCounterStatusStatus_StatusMax;
_sm.state = Sm_Counter & state = null : SmCounterStatusStatus_StatusCounting;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterStatusStatusStatusCountingBit3Bit3 --
MODULE ASmCounterStatusStatusStatusCountingBit3Bit3 ( _sm , _smCounterStatusStatus )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t7 : null;
_sm.t8 : SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31;
_smCounterStatusStatus.state = SmCounterStatusStatus_StatusCounting & state = null : SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmCounterStatusStatusStatusCountingBit4Bit4 --
MODULE ASmCounterStatusStatusStatusCountingBit4Bit4 ( _sm , _smCounterStatusStatus )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t6 | _sm.t8 : null;
_sm.t7 : SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41;
_smCounterStatusStatus.state = SmCounterStatusStatus_StatusCounting & state = null : SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmCounterBit1Bit1 , aSmCounterBit2Bit2 , aSmCounterStatusStatus , aSmCounterStatusStatusStatusCountingBit3Bit3 , aSmCounterStatusStatusStatusCountingBit4Bit4 );
aSmCounterBit1Bit1 : ASmCounterBit1Bit1( aSm );
aSmCounterBit2Bit2 : ASmCounterBit2Bit2( aSm );
aSmCounterStatusStatus : ASmCounterStatusStatus( aSm );
aSmCounterStatusStatusStatusCountingBit3Bit3 : ASmCounterStatusStatusStatusCountingBit3Bit3( aSm , aSmCounterStatusStatus );
aSmCounterStatusStatusStatusCountingBit4Bit4 : ASmCounterStatusStatusStatusCountingBit4Bit4( aSm , aSmCounterStatusStatus );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t3 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusMax & aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit11 ) )
INVARSPEC ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t8 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusMax & aSm_Machine.aSmCounterStatusStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31 ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_stable )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_Counter )
CTLSPEC EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit11 )
CTLSPEC EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit1Bit12 )
CTLSPEC EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit21 )
CTLSPEC EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit2Bit22 )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusCounting )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_StatusMax )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusStatusCountingBit3Bit3_Bit3Bit31 )
CTLSPEC EF( aSm_Machine.aSmCounterStatusStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusStatusCountingBit4Bit4_Bit4Bit41 )
24
22
sm : cruise.umple.compiler.State@7e941cc8[name:heatingSystem,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,2]
stateMachine = 78605670 : 3
room : cruise.umple.compiler.State@6022cf7e[name:noHeatReqidleNotHeat,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,6]
stateMachine = 5d05bb29 : 0
cruise.umple.compiler.State@3298e1d[name:noHeatReqwaitForHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,76]
stateMachine = 5d05bb29 : 0
cruise.umple.compiler.State@79009bde[name:heatReqidleHeat,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[37,6]
stateMachine = 5d05bb29 : 0
cruise.umple.compiler.State@faff2bf[name:heatReqwaitForCool,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[38,76]
stateMachine = 5d05bb29 : 0
controller : cruise.umple.compiler.State@7f83cc90[name:controlleroff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[50,5]
stateMachine = 3015fc1b : 0
cruise.umple.compiler.State@4db65fac[name:controllerOnidle,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[56,6]
stateMachine = 3015fc1b : 0
cruise.umple.compiler.State@3d7c76af[name:heaterActiveactHeater,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[61,7]
stateMachine = 3015fc1b : 0
cruise.umple.compiler.State@5cfadadc[name:heaterActiveheaterRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[62,36]
stateMachine = 3015fc1b : 0
cruise.umple.compiler.State@4310007c[name:controllererror,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[55,22]
stateMachine = 3015fc1b : 0
furnace : cruise.umple.compiler.State@3c247c8d[name:furnaceNormalfurnaceOff,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[76,5]
stateMachine = 6233bca8 : 0
cruise.umple.compiler.State@6895b608[name:furnaceNormalfurnaceAct,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[77,58]
stateMachine = 6233bca8 : 0
cruise.umple.compiler.State@2b454886[name:furnaceNormalfurnaceRun,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[82,75]
stateMachine = 6233bca8 : 0
cruise.umple.compiler.State@349a8977[name:furnacefurnaceErr,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[75,21]
stateMachine = 6233bca8 : 0
-- This file is generated from RoomHeatingSystem.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for HeatControlSystemSm --
MODULE HeatControlSystemSm ( _smHeatingSystemRoomRoom , _smHeatingSystemControllerController , _smHeatingSystemFurnaceFurnace )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_heatingSystem , null };
event : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault , ev_null };
furnaceStartUpTime : integer;
furnaceTimer : integer;
setTemp : integer;
actualTemp : integer;
waitedForWarm : integer;
warmUpTimer : integer;
valvePos : integer;
waitedForCool : integer;
coolDownTimer : integer;
furnaceRunning : boolean;
activate : boolean;
deactivate : boolean;
requestHeat : boolean;
furnaceReset : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_heatSwitchOff | event = ev_userReset | event = ev_heatSwitchOn | event = ev___autotransition__ | event = ev_furnaceFault );
t1 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & g1;
t2 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g2;
t3 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g3;
t4 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g4;
t5 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & g5;
t6 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat & g6;
t7 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g7;
t8 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g8;
t9 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g9;
t10 := event = ev___autotransition__ & _smHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & g10;
t11 := event = ev_heatSwitchOn & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controlleroff;
t12 := event = ev_heatSwitchOff & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle;
t13 := event = ev_furnaceFault & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle;
t14 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle & g11;
t15 := event = ev_heatSwitchOff & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater;
t16 := event = ev_furnaceFault & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater;
t17 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater & g12;
t18 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater & g13;
t19 := event = ev_heatSwitchOff & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun;
t20 := event = ev_furnaceFault & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun;
t21 := event = ev___autotransition__ & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun & g12;
t22 := event = ev_userReset & _smHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllererror;
t23 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff;
t24 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff & g14;
t25 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct;
t26 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & g15;
t27 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & g16;
t28 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & g17;
t29 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun;
t30 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun & g15;
t31 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnacefurnaceErr & g18;
g1 := (setTemp - actualTemp) > 2;
g2 := waitedForWarm < warmUpTimer;
g3 := (valvePos != 2) & (waitedForWarm = warmUpTimer);
g4 := ((setTemp - actualTemp) <= 2);
g5 := (waitedForWarm = warmUpTimer) & (valvePos = 2) & ((setTemp - actualTemp) > 2);
g6 := (actualTemp - setTemp) > 2;
g7 := (valvePos != 0) & (coolDownTimer = waitedForCool);
g8 := (valvePos = 0) & (coolDownTimer = waitedForCool) & ((actualTemp - setTemp) > 2);
g9 := waitedForCool < coolDownTimer;
g10 := ((actualTemp - setTemp) <= 2);
g11 := requestHeat = TRUE;
g12 := requestHeat = FALSE;
g13 := furnaceRunning = TRUE;
g14 := activate = TRUE;
g15 := deactivate = TRUE;
g16 := furnaceStartUpTime < furnaceTimer;
g17 := furnaceStartUpTime = furnaceTimer;
g18 := furnaceReset = TRUE;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_heatingSystem;
next( state ) := case
t8 | t2 | t5 | t6 | t9 | t15 | t22 | t17 | t14 | t13 | t20 | t26 | t24 | t28 | t25 | t4 | t1 | t3 | t10 | t7 | t12 | t19 | t11 | t21 | t18 | t16 | t31 | t30 | t27 | t23 | t29 : Sm_heatingSystem;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "furnaceStartUpTime" of this NuSMV module --
ASSIGN
init( furnaceStartUpTime ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
ASSIGN
init( furnaceTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "setTemp" of this NuSMV module --
ASSIGN
init( setTemp ) := 0;
-- This part defines logic for the assignment of values to state variable "actualTemp" of this NuSMV module --
ASSIGN
init( actualTemp ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
ASSIGN
init( waitedForWarm ) := 0;
-- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
ASSIGN
init( warmUpTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
ASSIGN
init( valvePos ) := 0;
-- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
ASSIGN
init( waitedForCool ) := 0;
-- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
ASSIGN
init( coolDownTimer ) := 0;
-- This part defines logic for the assignment of values to state variable "furnaceRunning" of this NuSMV module --
ASSIGN
init( furnaceRunning ) := FALSE;
-- This part defines logic for the assignment of values to state variable "activate" of this NuSMV module --
ASSIGN
init( activate ) := FALSE;
-- This part defines logic for the assignment of values to state variable "deactivate" of this NuSMV module --
ASSIGN
init( deactivate ) := FALSE;
-- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
ASSIGN
init( requestHeat ) := FALSE;
-- This part defines logic for the assignment of values to state variable "furnaceReset" of this NuSMV module --
ASSIGN
init( furnaceReset ) := FALSE;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemRoomRoom --
MODULE HeatControlSystemSmHeatingSystemRoomRoom ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemRoomRoom_noHeatReqidleNotHeat , SmHeatingSystemRoomRoom_noHeatReqwaitForHeat , SmHeatingSystemRoomRoom_heatReqidleHeat , SmHeatingSystemRoomRoom_heatReqwaitForCool , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t4 | _sm.t8 : SmHeatingSystemRoomRoom_noHeatReqidleNotHeat;
_sm.t2 | _sm.t1 | _sm.t3 : SmHeatingSystemRoomRoom_noHeatReqwaitForHeat;
_sm.t5 | _sm.t10 : SmHeatingSystemRoomRoom_heatReqidleHeat;
_sm.t7 | _sm.t6 | _sm.t9 : SmHeatingSystemRoomRoom_heatReqwaitForCool;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemRoomRoom_noHeatReqidleNotHeat;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemControllerController --
MODULE HeatControlSystemSmHeatingSystemControllerController ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemControllerController_controlleroff , SmHeatingSystemControllerController_controllerOnidle , SmHeatingSystemControllerController_heaterActiveactHeater , SmHeatingSystemControllerController_heaterActiveheaterRun , SmHeatingSystemControllerController_controllererror , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t12 | _sm.t19 | _sm.t15 | _sm.t22 : SmHeatingSystemControllerController_controlleroff;
_sm.t17 | _sm.t11 | _sm.t21 : SmHeatingSystemControllerController_controllerOnidle;
_sm.t14 : SmHeatingSystemControllerController_heaterActiveactHeater;
_sm.t18 : SmHeatingSystemControllerController_heaterActiveheaterRun;
_sm.t16 | _sm.t13 | _sm.t20 : SmHeatingSystemControllerController_controllererror;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemControllerController_controlleroff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemFurnaceFurnace --
MODULE HeatControlSystemSmHeatingSystemFurnaceFurnace ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff , SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct , SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun , SmHeatingSystemFurnaceFurnace_furnacefurnaceErr , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t26 | _sm.t31 | _sm.t30 : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff;
_sm.t24 | _sm.t27 : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct;
_sm.t28 : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun;
_sm.t25 | _sm.t23 | _sm.t29 : SmHeatingSystemFurnaceFurnace_furnacefurnaceErr;
_sm.state = Sm_heatingSystem & state = null : SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff;
TRUE : state;
esac;
-- This defines a NuSMV module for HeatControlSystemSm_Machine --
MODULE HeatControlSystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
heatControlSystemSm : HeatControlSystemSm( heatControlSystemSmHeatingSystemRoomRoom , heatControlSystemSmHeatingSystemControllerController , heatControlSystemSmHeatingSystemFurnaceFurnace );
heatControlSystemSmHeatingSystemRoomRoom : HeatControlSystemSmHeatingSystemRoomRoom( heatControlSystemSm );
heatControlSystemSmHeatingSystemControllerController : HeatControlSystemSmHeatingSystemControllerController( heatControlSystemSm );
heatControlSystemSmHeatingSystemFurnaceFurnace : HeatControlSystemSmHeatingSystemFurnaceFurnace( heatControlSystemSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
heatControlSystemSm_Machine : HeatControlSystemSm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t4 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t8 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t9 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t9 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t17 & heatControlSystemSm_Machine.heatControlSystemSm.t18 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t26 & heatControlSystemSm_Machine.heatControlSystemSm.t27 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t26 & heatControlSystemSm_Machine.heatControlSystemSm.t28 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun ) )
INVARSPEC ( heatControlSystemSm_Machine.heatControlSystemSm.t27 & heatControlSystemSm_Machine.heatControlSystemSm.t28 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSm.state = Sm_heatingSystem )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqidleNotHeat )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_noHeatReqwaitForHeat )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqidleHeat )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemRoomRoom.state = SmHeatingSystemRoomRoom_heatReqwaitForCool )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controlleroff )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllerOnidle )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveactHeater )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_heaterActiveheaterRun )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemControllerController.state = SmHeatingSystemControllerController_controllererror )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceOff )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceAct )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormalfurnaceRun )
CTLSPEC EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnacefurnaceErr )
35
17
state : cruise.umple.compiler.State@608707d[name:neutral,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,4]
stateMachine = 28a210fb : 0
cruise.umple.compiler.State@8cc7489[name:reverse,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,23]
stateMachine = 28a210fb : 0
cruise.umple.compiler.State@7553ad52[name:firstfirst_one,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[32,4]
stateMachine = 28a210fb : 0
cruise.umple.compiler.State@301da01d[name:firstfirst_two,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[33,11]
stateMachine = 28a210fb : 2
cruise.umple.compiler.State@8004b2d[name:drivesecond,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[17,22]
stateMachine = 28a210fb : 0
cruise.umple.compiler.State@63031e98[name:drivethird,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[67,44]
stateMachine = 28a210fb : 0
first_two_one : cruise.umple.compiler.State@b521697[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 = 569242a8 : 0
first_two_two : cruise.umple.compiler.State@5cc12274[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 = 274d10aa : 0
cruise.umple.compiler.State@3c304c7a[name:first_two_twos21,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[49,20]
stateMachine = 274d10aa : 0
cruise.umple.compiler.State@78f3ce56[name:first_two_twos22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[51,18]
stateMachine = 274d10aa : 0
cruise.umple.compiler.State@2df491be[name:s24s31,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[54,21]
stateMachine = 274d10aa : 0
cruise.umple.compiler.State@62f30cea[name:s24s32,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[57,20]
stateMachine = 274d10aa : 0
-- This file is generated from CarTransmission.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CarTransmissionState --
MODULE CarTransmissionState ( _stateFirstfirst_twoFirst_two_oneFirst_two_one , _stateFirstfirst_twoFirst_two_twoFirst_two_two )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_neutral , State_reverse , State_firstfirst_one , State_firstfirst_two , State_drivesecond , State_drivethird };
event : { ev_e11 , ev_e10 , ev_selectFirst , ev_selectNeutral , ev_dropBelowSecondSpeed , ev_selectReverse , ev_e1 , ev_e2 , ev_e3 , ev_e5 , ev_e7 , ev_selectDrive , ev_e9 , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , ev_dropBelowThirdSpeed , ev_null };
driveSelected : boolean;
notdriveSelected : boolean;
a : integer;
b : integer;
c : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e10 | event = ev_selectNeutral | event = ev_selectReverse | event = ev_e2 | event = ev_e5 | event = ev_selectDrive | event = ev_reachSecondSpeed | event = ev_reachThirdSpeed | event = ev_e11 | event = ev_selectFirst | event = ev_dropBelowSecondSpeed | event = ev_e1 | event = ev_e3 | event = ev_e7 | event = ev_e9 | event = ev_selectSecond | event = ev_dropBelowThirdSpeed );
t1 := event = ev_selectReverse & state = State_neutral;
t2 := event = ev_selectDrive & state = State_neutral;
t3 := event = ev_selectFirst & state = State_neutral;
t4 := event = ev_selectSecond & state = State_neutral;
t5 := event = ev_selectNeutral & state = State_reverse;
t6 := event = ev_selectNeutral & state = State_firstfirst_one;
t7 := event = ev_selectFirst & state = State_firstfirst_one;
t8 := event = ev_selectSecond & state = State_firstfirst_one;
t9 := event = ev_reachSecondSpeed & state = State_firstfirst_one & g1;
t10 := event = ev_e1 & state = State_firstfirst_one;
t11 := event = ev_selectNeutral & state = State_firstfirst_two;
t12 := event = ev_selectFirst & state = State_firstfirst_two;
t13 := event = ev_selectSecond & state = State_firstfirst_two;
t14 := event = ev_reachSecondSpeed & state = State_firstfirst_two & g1;
t15 := event = ev_selectNeutral & state = State_drivesecond;
t16 := event = ev_selectFirst & state = State_drivesecond;
t17 := event = ev_selectSecond & state = State_drivesecond;
t18 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g2;
t19 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g3;
t20 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g4;
t21 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g5;
t22 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g6;
t23 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g7;
t24 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g8;
t25 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g9;
t26 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g10;
t27 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g11;
t28 := event = ev_dropBelowSecondSpeed & state = State_drivesecond & g12;
t29 := event = ev_reachThirdSpeed & state = State_drivesecond & g13;
t30 := event = ev_selectNeutral & state = State_drivethird;
t31 := event = ev_selectFirst & state = State_drivethird;
t32 := event = ev_selectSecond & state = State_drivethird;
t33 := event = ev_dropBelowThirdSpeed & state = State_drivethird & g12;
t34 := event = ev_dropBelowThirdSpeed & state = State_drivethird;
t35 := event = ev_e1 & _stateFirstfirst_twoFirst_two_oneFirst_two_one.state != null;
t36 := event = ev_e2 & _stateFirstfirst_twoFirst_two_oneFirst_two_one.state != null;
t37 := event = ev_e1 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state != null;
t38 := event = ev_e2 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one;
t39 := event = ev_e5 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21;
t40 := event = ev_e7 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22;
t41 := event = ev_e11 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22;
t42 := event = ev_e2 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31;
t43 := event = ev_e3 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31;
t44 := event = ev_e9 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31;
t45 := event = ev_e10 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31;
t46 := event = ev_e2 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32;
t47 := event = ev_e3 & _stateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32;
g1 := driveSelected;
g2 := ((a > b) | (driveSelected & ((b < a) | (c >= b))));
g3 := ((a + c) > b);
g4 := (a - c) > b;
g5 := (a - c) > (b + 2);
g6 := (a - c) > (b * 2);
g7 := ((a - c) > (b * 2)) & driveSelected;
g8 := ((a - c) > (b * 2)) | ((a - c) > (b * 2));
g9 := ((a - c) > (b * 2)) | ((a - c) > (b^2));
g10 := ((a - c) > (b * 2)) | driveSelected;
g11 := ((a - c) > (b * 2)) != ((a - c) > (b^2));
g12 := ((a - c) > (b * 2)) = ((a - c) > (b^2));
g13 := !driveSelected;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_neutral;
next( state ) := case
t6 | t15 | t5 | t11 | t30 : State_neutral;
t1 : State_reverse;
t3 | t12 | t31 | t19 | t21 | t23 | t25 | t27 | t2 | t7 | t16 | t18 | t20 | t22 | t24 | t26 | t28 : State_firstfirst_one;
t10 | t37 | t38 | t43 | t39 | t44 | t46 | t35 | t36 | t40 | t47 | t41 | t42 | t45 : State_firstfirst_two;
t8 | t17 | t9 | t33 | t4 | t13 | t32 | t14 | t34 : State_drivesecond;
t29 : State_drivethird;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e11 , ev_e10 , ev_selectFirst , ev_selectNeutral , ev_dropBelowSecondSpeed , ev_selectReverse , ev_e1 , ev_e2 , ev_e3 , ev_e5 , ev_e7 , ev_selectDrive , ev_e9 , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , ev_dropBelowThirdSpeed };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "driveSelected" of this NuSMV module --
ASSIGN
init( driveSelected ) := FALSE;
-- This part defines logic for the assignment of values to state variable "notdriveSelected" of this NuSMV module --
ASSIGN
init( notdriveSelected ) := FALSE;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 5;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 3;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 2;
-- This defines a NuSMV module for CarTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one --
MODULE CarTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateFirstfirst_twoFirst_two_oneFirst_two_one_first_two_onefirst_two_one_one , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t3 | _state.t5 | _state.t7 | _state.t9 | _state.t11 | _state.t13 | _state.t15 | _state.t17 | _state.t19 | _state.t21 | _state.t23 | _state.t25 | _state.t27 | _state.t29 | _state.t31 | _state.t33 | _state.t35 | _state.t2 | _state.t4 | _state.t6 | _state.t8 | _state.t10 | _state.t12 | _state.t14 | _state.t16 | _state.t18 | _state.t20 | _state.t22 | _state.t24 | _state.t26 | _state.t28 | _state.t30 | _state.t32 | _state.t34 | _state.t37 : null;
_state.state = State_firstfirst_two & state = null : StateFirstfirst_twoFirst_two_oneFirst_two_one_first_two_onefirst_two_one_one;
TRUE : state;
esac;
-- This defines a NuSMV module for CarTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two --
MODULE CarTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one , StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21 , StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22 , StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31 , StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t1 | _state.t3 | _state.t5 | _state.t7 | _state.t9 | _state.t11 | _state.t13 | _state.t15 | _state.t17 | _state.t19 | _state.t21 | _state.t23 | _state.t25 | _state.t27 | _state.t29 | _state.t31 | _state.t33 | _state.t35 | _state.t2 | _state.t4 | _state.t6 | _state.t8 | _state.t10 | _state.t12 | _state.t14 | _state.t16 | _state.t18 | _state.t20 | _state.t22 | _state.t24 | _state.t26 | _state.t28 | _state.t30 | _state.t32 | _state.t34 | _state.t37 : null;
_state.t38 | _state.t43 | _state.t40 | _state.t47 : StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21;
_state.t39 : StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22;
_state.t41 | _state.t44 : StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31;
_state.t46 | _state.t42 | _state.t45 : StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32;
_state.state = State_firstfirst_two & state = null : StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one;
TRUE : state;
esac;
-- This defines a NuSMV module for CarTransmissionState_Machine --
MODULE CarTransmissionState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
carTransmissionState : CarTransmissionState( carTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one , carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two );
carTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one : CarTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one( carTransmissionState );
carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two : CarTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two( carTransmissionState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
carTransmissionState_Machine : CarTransmissionState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_neutral )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_reverse )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_firstfirst_one )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_firstfirst_two )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_drivesecond )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionState.state = State_drivethird )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_oneFirst_two_one.state = StateFirstfirst_twoFirst_two_oneFirst_two_one_first_two_onefirst_two_one_one )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twofirst_two_two_one )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos21 )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_first_two_twos22 )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s31 )
CTLSPEC EF( carTransmissionState_Machine.carTransmissionStateFirstfirst_twoFirst_two_twoFirst_two_two.state = StateFirstfirst_twoFirst_two_twoFirst_two_two_s24s32 )
13
10
sm : cruise.umple.compiler.State@11caa21d[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 1b0db8b1 : 0
cruise.umple.compiler.State@74cf0dd9[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 1b0db8b1 : 2
s21 : cruise.umple.compiler.State@3bb29351[name:s21a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,8]
stateMachine = 7f2c0470 : 0
cruise.umple.compiler.State@992f314[name:s21b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[11,16]
stateMachine = 7f2c0470 : 0
cruise.umple.compiler.State@5bf963a[name:s21c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,16]
stateMachine = 7f2c0470 : 0
s22 : cruise.umple.compiler.State@2a38b5c7[name:s22d,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,8]
stateMachine = 35283b74 : 0
cruise.umple.compiler.State@2bbc6496[name:s22e,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[26,16]
stateMachine = 35283b74 : 0
cruise.umple.compiler.State@52cb399d[name:s22f,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,16]
stateMachine = 35283b74 : 0
-- This file is generated from OutgoingTransitionOfConcurrentState.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2S21S21 , _smS2S22S22 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e4 & state = Sm_s2;
t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21a;
t4 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21b;
t5 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21b;
t6 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21c;
t7 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21c;
t8 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22d;
t9 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22d;
t10 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_s22d;
t11 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22e;
t12 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22f;
t13 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22f;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t7 | t2 | t13 : Sm_s1;
t1 | t3 | t5 | t12 | t10 | t4 | t6 | t9 | t8 | t11 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2S21S21 --
MODULE ASmS2S21S21 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S21S21_s21a , SmS2S21S21_s21b , SmS2S21S21_s21c , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t7 | _sm.t2 | _sm.t13 : null;
_sm.t4 : SmS2S21S21_s21a;
_sm.t3 | _sm.t6 : SmS2S21S21_s21b;
_sm.t5 : SmS2S21S21_s21c;
_sm.state = Sm_s2 & state = null : SmS2S21S21_s21a;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmS2S22S22 --
MODULE ASmS2S22S22 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S22S22_s22d , SmS2S22S22_s22e , SmS2S22S22_s22f , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t7 | _sm.t2 | _sm.t13 : null;
_sm.t9 | _sm.t12 : SmS2S22S22_s22e;
_sm.t10 | _sm.t8 | _sm.t11 : SmS2S22S22_s22f;
_sm.state = Sm_s2 & state = null : SmS2S22S22_s22d;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2S21S21 , aSmS2S22S22 );
aSmS2S21S21 : ASmS2S21S21( aSm );
aSmS2S22S22 : ASmS2S22S22( aSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aSm_Machine.aSm.t7 & aSm_Machine.aSm.t9 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e ) )
INVARSPEC ( aSm_Machine.aSm.t13 & aSm_Machine.aSm.t4 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21a ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21a )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21b )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21c )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22d )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22f )
3
2
sm : cruise.umple.compiler.State@6c826924[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,4]
stateMachine = 2809e7ab : 0
cruise.umple.compiler.State@1159a049[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,58]
stateMachine = 2809e7ab : 0
-- This file is generated from JavaDataTypes.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ExampleSm --
MODULE ExampleSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
a : integer;
b : integer;
c : real;
d : real;
e : real;
h : boolean;
f : integer;
g : integer;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e1 & state = Sm_s1 & g1;
t2 := event = ev_e2 & state = Sm_s1;
t3 := event = ev_e3 & state = Sm_s1;
g1 := h = TRUE;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t2 | t1 | t3 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
ASSIGN
init( a ) := 10;
-- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
ASSIGN
init( b ) := 20;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 0.566;
-- This part defines logic for the assignment of values to state variable "d" of this NuSMV module --
ASSIGN
init( d ) := 0.566;
-- This part defines logic for the assignment of values to state variable "e" of this NuSMV module --
ASSIGN
init( e ) := 0.566;
-- This part defines logic for the assignment of values to state variable "h" of this NuSMV module --
ASSIGN
init( h ) := FALSE;
-- This part defines logic for the assignment of values to state variable "f" of this NuSMV module --
ASSIGN
init( f ) := 0;
-- This part defines logic for the assignment of values to state variable "g" of this NuSMV module --
ASSIGN
init( g ) := 0;
-- This defines a NuSMV module for ExampleSm_Machine --
MODULE ExampleSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
exampleSm : ExampleSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
exampleSm_Machine : ExampleSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( exampleSm_Machine.exampleSm.state = Sm_s1 )
CTLSPEC EF( exampleSm_Machine.exampleSm.state = Sm_s2 )
15
10
sm : cruise.umple.compiler.State@7e6bfd2[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[3,4]
stateMachine = 49e8f283 : 0
cruise.umple.compiler.State@490f4b14[name:s2,isConcurrent:true,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[4,12]
stateMachine = 49e8f283 : 2
s21 : cruise.umple.compiler.State@7931cea2[name:s21a,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[9,8]
stateMachine = 4b9be679 : 0
cruise.umple.compiler.State@45e97963[name:s21b,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[10,16]
stateMachine = 4b9be679 : 0
cruise.umple.compiler.State@768dcd21[name:s21c,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,16]
stateMachine = 4b9be679 : 0
s22 : cruise.umple.compiler.State@1be598c[name:s22d,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[24,8]
stateMachine = 1582dfec : 0
cruise.umple.compiler.State@1bae8e5e[name:s22e,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,16]
stateMachine = 1582dfec : 0
cruise.umple.compiler.State@352bccf[name:s22f,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[25,16]
stateMachine = 1582dfec : 0
-- This file is generated from OutgoingTransitionOfConcurrentStateWithAndCross1.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2S21S21 , _smS2S22S22 )
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_s1;
t2 := event = ev_e4 & state = Sm_s2;
t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21a;
t4 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21b;
t5 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21b;
t6 := event = ev_e3 & _smS2S21S21.state = SmS2S21S21_s21b;
t7 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_s21c;
t8 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_s21c;
t9 := event = ev_e5 & _smS2S22S22.state != null;
t10 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22d;
t11 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22d;
t12 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_s22d;
t13 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22e;
t14 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_s22f;
t15 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_s22f;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t2 | t9 | t8 | t15 : Sm_s1;
t4 | t7 | t6 | t14 | t12 | t1 | t3 | t5 | t11 | t10 | t13 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ASmS2S21S21 --
MODULE ASmS2S21S21 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S21S21_s21a , SmS2S21S21_s21b , SmS2S21S21_s21c , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t1 | _sm.t8 | _sm.t15 | _sm.t2 | _sm.t9 | _sm.t6 : null;
_sm.t4 : SmS2S21S21_s21a;
_sm.t3 | _sm.t7 : SmS2S21S21_s21b;
_sm.t5 : SmS2S21S21_s21c;
_sm.state = Sm_s2 & state = null : SmS2S21S21_s21a;
TRUE : state;
esac;
-- This defines a NuSMV module for ASmS2S22S22 --
MODULE ASmS2S22S22 ( _sm )
-- This part declares state variables for the given NuSMV module --
VAR
state : { SmS2S22S22_s22d , SmS2S22S22_s22e , SmS2S22S22_s22f , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_sm.t2 | _sm.t9 | _sm.t1 | _sm.t8 | _sm.t15 : null;
_sm.t11 | _sm.t6 | _sm.t14 : SmS2S22S22_s22e;
_sm.t12 | _sm.t10 | _sm.t13 : SmS2S22S22_s22f;
_sm.state = Sm_s2 & state = null : SmS2S22S22_s22d;
TRUE : state;
esac;
-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
aSm : ASm( aSmS2S21S21 , aSmS2S22S22 );
aSmS2S21S21 : ASmS2S21S21( aSm );
aSmS2S22S22 : ASmS2S22S22( aSm );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
aSm_Machine : ASm_Machine;
-- The following properties are specified to certify that this model is free of non-determinism.
INVARSPEC ( aSm_Machine.aSm.t8 & aSm_Machine.aSm.t11 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e ) )
INVARSPEC ( aSm_Machine.aSm.t15 & aSm_Machine.aSm.t4 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21a ) )
INVARSPEC ( aSm_Machine.aSm.t6 & aSm_Machine.aSm.t12 -> next( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22f ) )
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s1 )
CTLSPEC EF( aSm_Machine.aSm.state = Sm_s2 )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21a )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21b )
CTLSPEC EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_s21c )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22d )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22e )
CTLSPEC EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_s22f )
13
10
sm : cruise.umple.compiler.State@45bf1ee3[name:ZxZ,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,7]
stateMachine = 57e273e0 : 0
cruise.umple.compiler.State@3396d2a6[name:ZxX,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[14,16]
stateMachine = 57e273e0 : 0
cruise.umple.compiler.State@1ed43328[name:ZxabA,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,17]
stateMachine = 57e273e0 : 0
cruise.umple.compiler.State@23216e17[name:ZxabB,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[22,15]
stateMachine = 57e273e0 : 0
cruise.umple.compiler.State@679864e0[name:D,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[21,15]
stateMachine = 57e273e0 : 0
cruise.umple.compiler.State@629e9957[name:GeG,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[18,15]
stateMachine = 57e273e0 : 0
cruise.umple.compiler.State@5decbb5f[name:GeE,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[27,11]
stateMachine = 57e273e0 : 0
-- This file is generated from BigStateMachineWithNakedTransition.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for BigStateMachineTestSm --
MODULE BigStateMachineTestSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_ZxZ , Sm_ZxX , Sm_ZxabA , Sm_ZxabB , Sm_D , Sm_GeG , Sm_GeE };
event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
t1 := event = ev_e1 & state = Sm_ZxZ;
t2 := event = ev_e4 & state = Sm_ZxZ;
t3 := event = ev_e5 & state = Sm_ZxZ;
t4 := event = ev_e3 & state = Sm_ZxZ;
t5 := event = ev_e2 & state = Sm_ZxZ;
t6 := event = ev_e1 & state = Sm_ZxX;
t7 := event = ev_e4 & state = Sm_ZxX;
t8 := event = ev_e5 & state = Sm_ZxX;
t9 := event = ev_e1 & state = Sm_ZxabA;
t10 := event = ev_e4 & state = Sm_ZxabA;
t11 := event = ev_e5 & state = Sm_ZxabA;
t12 := event = ev_e3 & state = Sm_ZxabA;
t13 := event = ev_e1 & state = Sm_ZxabB;
t14 := event = ev_e4 & state = Sm_ZxabB;
t15 := event = ev_e3 & state = Sm_ZxabB;
t16 := event = ev_e5 & state = Sm_D;
t17 := event = ev_e2 & state = Sm_D;
t18 := event = ev_e1 & state = Sm_GeG;
t19 := event = ev_e1 & state = Sm_GeE;
t20 := event = ev_e2 & state = Sm_GeE;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_ZxZ;
next( state ) := case
t16 | t4 : Sm_ZxX;
t5 : Sm_ZxabA;
t12 | t18 : Sm_ZxabB;
t11 : Sm_D;
t7 | t14 | t8 | t19 | t2 | t10 | t3 | t15 | t20 : Sm_GeG;
t6 | t13 | t1 | t9 | t17 : Sm_GeE;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for BigStateMachineTestSm_Machine --
MODULE BigStateMachineTestSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm : BigStateMachineTestSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
bigStateMachineTestSm_Machine : BigStateMachineTestSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxZ )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxX )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabA )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_ZxabB )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_D )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeG )
CTLSPEC EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_GeE )
9
11
state : cruise.umple.compiler.State@162bc9e8[name:s1,isConcurrent:true,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[5,4]
stateMachine = 5ec2462 : 2
cruise.umple.compiler.State@5d81bc79[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[8,20]
stateMachine = 5ec2462 : 0
A : cruise.umple.compiler.State@c9dcfcd[name:As11,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,8]
stateMachine = 4431233f : 0
cruise.umple.compiler.State@201ac0ef[name:As12,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[7,20]
stateMachine = 4431233f : 0
B : cruise.umple.compiler.State@70a8d2e1[name:Bs21,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,8]
stateMachine = 12a9889e : 0
cruise.umple.compiler.State@5fcc792f[name:Bs22,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,20]
stateMachine = 12a9889e : 0
cruise.umple.compiler.State@2927d781[name:s24s31,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[15,17]
stateMachine = 12a9889e : 0
cruise.umple.compiler.State@1fae279e[name:s24s32,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[20,34]
stateMachine = 12a9889e : 0
-- This file is generated from concurrentMachineExample.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for ExampleState --
MODULE ExampleState ( _stateS1AA , _stateS1BB )
-- This part declares state variables for the given NuSMV module --
VAR
state : { State_s1 , State_s2 };
event : { ev_e5 , ev_e7 , ev_e11 , ev_e9 , ev_e10 , ev_e1 , ev_e2 , ev_e3 , ev_null };
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
state_stable := !( event = ev_e5 | event = ev_e11 | event = ev_e10 | event = ev_e2 | event = ev_e7 | event = ev_e9 | event = ev_e1 | event = ev_e3 );
t1 := event = ev_e2 & _stateS1AA.state = StateS1AA_As11;
t2 := event = ev_e1 & _stateS1AA.state = StateS1AA_As12;
t3 := event = ev_e5 & _stateS1BB.state = StateS1BB_Bs21;
t4 := event = ev_e7 & _stateS1BB.state = StateS1BB_Bs22;
t5 := event = ev_e11 & _stateS1BB.state = StateS1BB_Bs22;
t6 := event = ev_e3 & _stateS1BB.state = StateS1BB_s24s31;
t7 := event = ev_e1 & _stateS1BB.state = StateS1BB_s24s31;
t8 := event = ev_e9 & _stateS1BB.state = StateS1BB_s24s31;
t9 := event = ev_e10 & _stateS1BB.state = StateS1BB_s24s31;
t10 := event = ev_e3 & _stateS1BB.state = StateS1BB_s24s32;
t11 := event = ev_e1 & _stateS1BB.state = StateS1BB_s24s32;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := State_s1;
next( state ) := case
t1 | t6 | t3 | t8 | t4 | t10 | t5 | t9 : State_s1;
t7 | t2 | t11 : State_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
state_stable : { ev_e5 , ev_e7 , ev_e11 , ev_e9 , ev_e10 , ev_e1 , ev_e2 , ev_e3 };
TRUE : ev_null;
esac;
-- This defines a NuSMV module for ExampleStateS1AA --
MODULE ExampleStateS1AA ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateS1AA_As11 , StateS1AA_As12 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t7 | _state.t2 | _state.t11 : null;
_state.t1 : StateS1AA_As12;
_state.state = State_s1 & state = null : StateS1AA_As11;
TRUE : state;
esac;
-- This defines a NuSMV module for ExampleStateS1BB --
MODULE ExampleStateS1BB ( _state )
-- This part declares state variables for the given NuSMV module --
VAR
state : { StateS1BB_Bs21 , StateS1BB_Bs22 , StateS1BB_s24s31 , StateS1BB_s24s32 , null };
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := null;
next( state ) := case
_state.t7 | _state.t2 | _state.t11 : null;
_state.t6 | _state.t4 | _state.t10 : StateS1BB_Bs21;
_state.t3 : StateS1BB_Bs22;
_state.t5 | _state.t8 : StateS1BB_s24s31;
_state.t9 : StateS1BB_s24s32;
_state.state = State_s1 & state = null : StateS1BB_Bs21;
TRUE : state;
esac;
-- This defines a NuSMV module for ExampleState_Machine --
MODULE ExampleState_Machine
-- This part declares state variables for the given NuSMV module --
VAR
exampleState : ExampleState( exampleStateS1AA , exampleStateS1BB );
exampleStateS1AA : ExampleStateS1AA( exampleState );
exampleStateS1BB : ExampleStateS1BB( exampleState );
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
exampleState_Machine : ExampleState_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( exampleState_Machine.exampleState.state = State_s1 )
CTLSPEC EF( exampleState_Machine.exampleState.state = State_s2 )
CTLSPEC EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_As11 )
CTLSPEC EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_As12 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_Bs21 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_Bs22 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s24s31 )
CTLSPEC EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s24s32 )
1
2
sm : cruise.umple.compiler.State@2703fabd[name:s1,isConcurrent:false,isStartState:true,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[12,4]
stateMachine = 34672fb : 0
cruise.umple.compiler.State@3387d45e[name:s2,isConcurrent:false,isStartState:false,isInternal:false,isHistoryState:false,isDeepHistoryState:false,finalState:false,isVisited:false,displayColor:]
position=[13,27]
stateMachine = 34672fb : 0
-- This file is generated from InputVarTest.ump --
-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.35.0.7523.c616a4dce modeling language! --
-- This defines a NuSMV module for CruiseControlSystemSm --
MODULE CruiseControlSystemSm
-- This part declares state variables for the given NuSMV module --
VAR
state : { Sm_s1 , Sm_s2 };
event : { ev_a , ev_null };
c : integer;
-- This part declares input variables for the given NuSMV module --
IVAR
ayo : integer;
bayo : real;
baro : boolean;
-- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
DEFINE
sm_stable := !( event = ev_a );
t1 := event = ev_a & state = Sm_s1;
aa := 5;
bb := 5;
cc := 5.00;
-- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
ASSIGN
init( state ) := Sm_s1;
next( state ) := case
t1 : Sm_s2;
TRUE : state;
esac;
-- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
ASSIGN
init( event ) := ev_null;
next( event ) := case
sm_stable : { ev_a };
TRUE : ev_null;
esac;
-- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
ASSIGN
init( c ) := 0;
-- This defines a NuSMV module for CruiseControlSystemSm_Machine --
MODULE CruiseControlSystemSm_Machine
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm : CruiseControlSystemSm;
-- This defines a NuSMV module for main --
MODULE main
-- This part declares state variables for the given NuSMV module --
VAR
cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine;
-- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable.
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 )
CTLSPEC EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 )