-- This file is generated from CourseSectionNested.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for CourseSectionStatus --
MODULE CourseSectionStatus ( _statusOpen )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Status_Planned , Status_Open , Status_Cancelled , Status_Closed };
     event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     status_stable :=  !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration );
     t1 := event = ev_cancel & state = Status_Planned;
     t2 := event = ev_openRegistration & state = Status_Planned;
     t3 := event = ev_cancel & state = Status_Open;
     t4 := event = ev_cancel & state = Status_Closed;
     t5 := event = ev_requestToRegister & _statusOpen.state = StatusOpen_NotEnoughStudents;
     t6 := event = ev_closeRegistration & _statusOpen.state = StatusOpen_NotEnoughStudents;
     t7 := event = ev_classSizeExceedsMinimum & _statusOpen.state = StatusOpen_NotEnoughStudents;
     t8 := event = ev_requestToRegister & _statusOpen.state = StatusOpen_EnoughStudents;
     t9 := event = ev_closeRegistration & _statusOpen.state = StatusOpen_EnoughStudents;
     t10 := event = ev_classSizeExceedsMaximum & _statusOpen.state = StatusOpen_EnoughStudents;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Status_Planned;
     next( state ) := case
       t5 | t2 | t8 | t7 : Status_Open;
       t1 | t6 | t3 | t4 : Status_Cancelled;
       t9 | t10 : Status_Closed;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       status_stable : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for CourseSectionStatusOpen --
MODULE CourseSectionStatusOpen ( _status )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StatusOpen_NotEnoughStudents , StatusOpen_EnoughStudents , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _status.t1 | _status.t4 | _status.t6 | _status.t9 | _status.t3 | _status.t5 | _status.t8 | _status.t10 : null;
       _status.t2 : StatusOpen_NotEnoughStudents;
       _status.t7 : StatusOpen_EnoughStudents;
       _status.state = Status_Open & state = null : StatusOpen_NotEnoughStudents;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CourseSectionStatus_Machine --
MODULE CourseSectionStatus_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     courseSectionStatus : CourseSectionStatus( courseSectionStatusOpen );
     courseSectionStatusOpen : CourseSectionStatusOpen( courseSectionStatus );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     courseSectionStatus_Machine : CourseSectionStatus_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Planned )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Open )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Cancelled )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Closed )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatusOpen.state = StatusOpen_NotEnoughStudents )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatusOpen.state = StatusOpen_EnoughStudents )

-- This file is generated from AndCrossExample.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_state1 , State_state2 };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e5 & _stateState1State11State11.state != null;
     t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
     t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
     t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state112;
     t5 := event = ev_e5 & _stateState1State12State12.state != null;
     t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
     t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
     t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
     t9 := event = ev_e4 & _stateState1State12State12State122.state = StateState1State12State12State122_state1221;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_state1;
     next( state ) := case
       t2 | t9 | t4 | t3 | t8 | t6 | t7 : State_state1;
       t1 | t5 : State_state2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t5 | _state.t1 | _state.t4 : null;
       _state.t3 : StateState1State11State11_state111;
       _state.t2 : StateState1State11State11_state112;
       _state.state = State_state1 & state = null : StateState1State11State11_state111;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t5 : null;
       _state.t8 | _state.t9 : StateState1State12State12_state121;
       _state.t4 | _state.t6 | _state.t7 : StateState1State12State12_state122;
       _state.state = State_state1 & state = null : StateState1State12State12_state121;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12State122 --
MODULE AStateState1State12State12State122 ( _state , _stateState1State12State12 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12State122_state1221 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
       _state.t4 | _state.t7 : StateState1State12State12State122_state1221;
       _stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122_state1221;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122 );
     aStateState1State11State11 : AStateState1State11State11( aState );
     aStateState1State12State12 : AStateState1State12State12( aState );
     aStateState1State12State12State122 : AStateState1State12State12State122( aState , aStateState1State12State12 );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState_Machine : AState_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aState_Machine.aState.state = State_state1 )
   CTLSPEC   EF( aState_Machine.aState.state = State_state2 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 )

-- This file is generated from SingleLaneBridge.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for SystemSm --
MODULE SystemSm ( _smSingleLaneBridgeBridgeCar , _smSingleLaneBridgeBridgeCarRedCarRedA , _smSingleLaneBridgeBridgeCarRedCarRedARedA , _smSingleLaneBridgeBridgeCarRedCarRedB , _smSingleLaneBridgeBridgeCarRedCarRedBRedB , _smSingleLaneBridgeBridgeCarRedCar , _smSingleLaneBridgeBridgeCarBlueCarBlueA , _smSingleLaneBridgeBridgeCarBlueCarBlueABlueA , _smSingleLaneBridgeBridgeCarBlueCarBlueB , _smSingleLaneBridgeBridgeCarBlueCarBlueBBlueB , _smSingleLaneBridgeBridgeCarBlueCar , _smSingleLaneBridgeBridgeBridgeStatus , _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus , _smSingleLaneBridgeBridge , _smSingleLaneBridgeCoordCoordRed , _smSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt , _smSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit , _smSingleLaneBridgeCoordCoordBlue , _smSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt , _smSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit , _smSingleLaneBridgeCoord )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_SingleLaneBridge , null };
     event : { ev_inBlue , ev_entRedA , ev_exitBlueB , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_outRed , ev_enterRedB , ev_enterBlueA , ev_outBlue , ev_inRed , ev_exitRedA , ev_entBlueB , ev_exitRedB , ev_entBlueA , ev_null };
     numRed : integer;
     numBlue : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_inBlue | event = ev_exitBlueB | event = ev_enterBlueB | event = ev_enterRedA | event = ev_enterRedB | event = ev_outBlue | event = ev_exitRedA | event = ev_exitRedB | event = ev_entRedA | event = ev_exitBlueA | event = ev_entRedB | event = ev_outRed | event = ev_enterBlueA | event = ev_inRed | event = ev_entBlueB | event = ev_entBlueA );
     t1 := event = ev_enterRedA & _smSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA & g1;
     t2 := event = ev_exitRedA & _smSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA;
     t3 := event = ev_enterRedB & _smSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB & g1;
     t4 := event = ev_exitRedB & _smSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB;
     t5 := event = ev_enterBlueA & _smSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA & g2;
     t6 := event = ev_exitBlueA & _smSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA;
     t7 := event = ev_enterBlueB & _smSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB & g2;
     t8 := event = ev_exitBlueB & _smSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB;
     t9 := event = ev_inRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
     t10 := event = ev_inBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
     t11 := event = ev_outRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed;
     t12 := event = ev_inRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed;
     t13 := event = ev_outBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue;
     t14 := event = ev_inBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue;
     t15 := event = ev_outRed & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed;
     t16 := event = ev_outBlue & _smSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue;
     t17 := event = ev_entRedA & _smSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA;
     t18 := event = ev_entRedB & _smSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB;
     t19 := event = ev_exitRedA & _smSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA;
     t20 := event = ev_exitRedB & _smSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB;
     t21 := event = ev_entBlueA & _smSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA;
     t22 := event = ev_entBlueB & _smSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB;
     t23 := event = ev_exitBlueA & _smSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA;
     t24 := event = ev_exitBlueB & _smSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB;
     g1 := numRed < 2 & numBlue = 0;
     g2 := numBlue < 2 & numRed = 0;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_SingleLaneBridge;
     next( state ) := case
       t2 | t4 | t6 | t8 | t11 | t9 | t10 | t12 | t18 | t20 | t22 | t24 | t1 | t3 | t5 | t7 | t13 | t15 | t16 | t14 | t17 | t19 | t21 | t23 : Sm_SingleLaneBridge;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_inBlue , ev_entRedA , ev_exitBlueB , ev_exitBlueA , ev_enterBlueB , ev_entRedB , ev_enterRedA , ev_outRed , ev_enterRedB , ev_enterBlueA , ev_outBlue , ev_inRed , ev_exitRedA , ev_entBlueB , ev_exitRedB , ev_entBlueA };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "numRed" of this NuSMV module --
   ASSIGN
     init( numRed ) := 0;

   -- This part defines logic for the assignment of values to state variable "numBlue" of this NuSMV module --
   ASSIGN
     init( numBlue ) := 0;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCar --
MODULE SystemSmSingleLaneBridgeBridgeCar ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCar_Car , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 : SmSingleLaneBridgeBridgeCar_Car;
       _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridgeCar_Car;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedA --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedA ( _sm , _smSingleLaneBridgeBridgeCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarRedCarRedA_RedA , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t1 : SmSingleLaneBridgeBridgeCarRedCarRedA_RedA;
       _smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarRedCarRedA_RedA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedARedA --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedARedA ( _sm , _smSingleLaneBridgeBridgeCarRedCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA , SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 : SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA;
       _sm.t1 : SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA;
       _smSingleLaneBridgeBridgeCarRedCar.state = SmSingleLaneBridgeBridgeCarRedCar_RedCar & state = null : SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedB --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedB ( _sm , _smSingleLaneBridgeBridgeCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarRedCarRedB_RedB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t4 | _sm.t3 : SmSingleLaneBridgeBridgeCarRedCarRedB_RedB;
       _smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarRedCarRedB_RedB;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCarRedBRedB --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCarRedBRedB ( _sm , _smSingleLaneBridgeBridgeCarRedCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB , SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t4 : SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB;
       _sm.t3 : SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB;
       _smSingleLaneBridgeBridgeCarRedCar.state = SmSingleLaneBridgeBridgeCarRedCar_RedCar & state = null : SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarRedCar --
MODULE SystemSmSingleLaneBridgeBridgeCarRedCar ( _sm , _smSingleLaneBridgeBridge )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarRedCar_RedCar , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t4 | _sm.t1 | _sm.t3 : SmSingleLaneBridgeBridgeCarRedCar_RedCar;
       _smSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge & state = null : SmSingleLaneBridgeBridgeCarRedCar_RedCar;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueA --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueA ( _sm , _smSingleLaneBridgeBridgeCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 | _sm.t5 : SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA;
       _smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA ( _sm , _smSingleLaneBridgeBridgeCarBlueCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA , SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 : SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA;
       _sm.t5 : SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA;
       _smSingleLaneBridgeBridgeCarBlueCar.state = SmSingleLaneBridgeBridgeCarBlueCar_BlueCar & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueB --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueB ( _sm , _smSingleLaneBridgeBridgeCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t8 | _sm.t7 : SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB;
       _smSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB ( _sm , _smSingleLaneBridgeBridgeCarBlueCar )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB , SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t8 : SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB;
       _sm.t7 : SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB;
       _smSingleLaneBridgeBridgeCarBlueCar.state = SmSingleLaneBridgeBridgeCarBlueCar_BlueCar & state = null : SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeCarBlueCar --
MODULE SystemSmSingleLaneBridgeBridgeCarBlueCar ( _sm , _smSingleLaneBridgeBridge )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeCarBlueCar_BlueCar , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 | _sm.t8 | _sm.t5 | _sm.t7 : SmSingleLaneBridgeBridgeCarBlueCar_BlueCar;
       _smSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge & state = null : SmSingleLaneBridgeBridgeCarBlueCar_BlueCar;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeBridgeStatus --
MODULE SystemSmSingleLaneBridgeBridgeBridgeStatus ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t11 | _sm.t9 | _sm.t10 | _sm.t12 | _sm.t13 | _sm.t15 | _sm.t16 | _sm.t14 : SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus;
       _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus --
MODULE SystemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus ( _sm , _smSingleLaneBridgeBridge )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed , SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t11 | _sm.t13 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
       _sm.t9 | _sm.t15 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed;
       _sm.t10 | _sm.t16 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue;
       _sm.t12 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed;
       _sm.t14 : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue;
       _smSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge & state = null : SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeBridge --
MODULE SystemSmSingleLaneBridgeBridge ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeBridge_Bridge , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t11 | _sm.t9 | _sm.t10 | _sm.t12 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 | _sm.t13 | _sm.t15 | _sm.t16 | _sm.t14 : SmSingleLaneBridgeBridge_Bridge;
       _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeBridge_Bridge;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordRed --
MODULE SystemSmSingleLaneBridgeCoordCoordRed ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoordCoordRed_CoordRed , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t18 | _sm.t20 | _sm.t17 | _sm.t19 : SmSingleLaneBridgeCoordCoordRed_CoordRed;
       _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeCoordCoordRed_CoordRed;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt --
MODULE SystemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt ( _sm , _smSingleLaneBridgeCoordCoordRed )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA , SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t18 : SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA;
       _sm.t17 : SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB;
       _smSingleLaneBridgeCoordCoordRed.state = SmSingleLaneBridgeCoordCoordRed_CoordRed & state = null : SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit --
MODULE SystemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit ( _sm , _smSingleLaneBridgeCoordCoordRed )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA , SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t20 : SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA;
       _sm.t19 : SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB;
       _smSingleLaneBridgeCoordCoordRed.state = SmSingleLaneBridgeCoordCoordRed_CoordRed & state = null : SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordBlue --
MODULE SystemSmSingleLaneBridgeCoordCoordBlue ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoordCoordBlue_CoordBlue , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t22 | _sm.t24 | _sm.t21 | _sm.t23 : SmSingleLaneBridgeCoordCoordBlue_CoordBlue;
       _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeCoordCoordBlue_CoordBlue;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt --
MODULE SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt ( _sm , _smSingleLaneBridgeCoordCoordBlue )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA , SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t22 : SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA;
       _sm.t21 : SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB;
       _smSingleLaneBridgeCoordCoordBlue.state = SmSingleLaneBridgeCoordCoordBlue_CoordBlue & state = null : SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit --
MODULE SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit ( _sm , _smSingleLaneBridgeCoordCoordBlue )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA , SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t24 : SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA;
       _sm.t23 : SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB;
       _smSingleLaneBridgeCoordCoordBlue.state = SmSingleLaneBridgeCoordCoordBlue_CoordBlue & state = null : SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSmSingleLaneBridgeCoord --
MODULE SystemSmSingleLaneBridgeCoord ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmSingleLaneBridgeCoord_Coord , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t18 | _sm.t20 | _sm.t22 | _sm.t24 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t23 : SmSingleLaneBridgeCoord_Coord;
       _sm.state = Sm_SingleLaneBridge & state = null : SmSingleLaneBridgeCoord_Coord;
       TRUE : state;
     esac;

-- This defines a NuSMV module for SystemSm_Machine --
MODULE SystemSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     systemSm : SystemSm( systemSmSingleLaneBridgeBridgeCar , systemSmSingleLaneBridgeBridgeCarRedCarRedA , systemSmSingleLaneBridgeBridgeCarRedCarRedARedA , systemSmSingleLaneBridgeBridgeCarRedCarRedB , systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB , systemSmSingleLaneBridgeBridgeCarRedCar , systemSmSingleLaneBridgeBridgeCarBlueCarBlueA , systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA , systemSmSingleLaneBridgeBridgeCarBlueCarBlueB , systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB , systemSmSingleLaneBridgeBridgeCarBlueCar , systemSmSingleLaneBridgeBridgeBridgeStatus , systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus , systemSmSingleLaneBridgeBridge , systemSmSingleLaneBridgeCoordCoordRed , systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt , systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit , systemSmSingleLaneBridgeCoordCoordBlue , systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt , systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit , systemSmSingleLaneBridgeCoord );
     systemSmSingleLaneBridgeBridgeCar : SystemSmSingleLaneBridgeBridgeCar( systemSm );
     systemSmSingleLaneBridgeBridgeCarRedCarRedA : SystemSmSingleLaneBridgeBridgeCarRedCarRedA( systemSm , systemSmSingleLaneBridgeBridgeCar );
     systemSmSingleLaneBridgeBridgeCarRedCarRedARedA : SystemSmSingleLaneBridgeBridgeCarRedCarRedARedA( systemSm , systemSmSingleLaneBridgeBridgeCarRedCar );
     systemSmSingleLaneBridgeBridgeCarRedCarRedB : SystemSmSingleLaneBridgeBridgeCarRedCarRedB( systemSm , systemSmSingleLaneBridgeBridgeCar );
     systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB : SystemSmSingleLaneBridgeBridgeCarRedCarRedBRedB( systemSm , systemSmSingleLaneBridgeBridgeCarRedCar );
     systemSmSingleLaneBridgeBridgeCarRedCar : SystemSmSingleLaneBridgeBridgeCarRedCar( systemSm , systemSmSingleLaneBridgeBridge );
     systemSmSingleLaneBridgeBridgeCarBlueCarBlueA : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueA( systemSm , systemSmSingleLaneBridgeBridgeCar );
     systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA( systemSm , systemSmSingleLaneBridgeBridgeCarBlueCar );
     systemSmSingleLaneBridgeBridgeCarBlueCarBlueB : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueB( systemSm , systemSmSingleLaneBridgeBridgeCar );
     systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB : SystemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB( systemSm , systemSmSingleLaneBridgeBridgeCarBlueCar );
     systemSmSingleLaneBridgeBridgeCarBlueCar : SystemSmSingleLaneBridgeBridgeCarBlueCar( systemSm , systemSmSingleLaneBridgeBridge );
     systemSmSingleLaneBridgeBridgeBridgeStatus : SystemSmSingleLaneBridgeBridgeBridgeStatus( systemSm );
     systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus : SystemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus( systemSm , systemSmSingleLaneBridgeBridge );
     systemSmSingleLaneBridgeBridge : SystemSmSingleLaneBridgeBridge( systemSm );
     systemSmSingleLaneBridgeCoordCoordRed : SystemSmSingleLaneBridgeCoordCoordRed( systemSm );
     systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt : SystemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt( systemSm , systemSmSingleLaneBridgeCoordCoordRed );
     systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit : SystemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit( systemSm , systemSmSingleLaneBridgeCoordCoordRed );
     systemSmSingleLaneBridgeCoordCoordBlue : SystemSmSingleLaneBridgeCoordCoordBlue( systemSm );
     systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt : SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt( systemSm , systemSmSingleLaneBridgeCoordCoordBlue );
     systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit : SystemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit( systemSm , systemSmSingleLaneBridgeCoordCoordBlue );
     systemSmSingleLaneBridgeCoord : SystemSmSingleLaneBridgeCoord( systemSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     systemSm_Machine : SystemSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( systemSm_Machine.systemSm.state = Sm_SingleLaneBridge )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCar.state = SmSingleLaneBridgeBridgeCar_Car )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedA.state = SmSingleLaneBridgeBridgeCarRedCarRedA_RedA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_waitRedA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedARedA.state = SmSingleLaneBridgeBridgeCarRedCarRedARedA_onRedA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedB_RedB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_waitRedB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCarRedBRedB.state = SmSingleLaneBridgeBridgeCarRedCarRedBRedB_onRedB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarRedCar.state = SmSingleLaneBridgeBridgeCarRedCar_RedCar )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueA_BlueA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_waitBlueA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueABlueA.state = SmSingleLaneBridgeBridgeCarBlueCarBlueABlueA_onBlueA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueB_BlueB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_waitBlueB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB.state = SmSingleLaneBridgeBridgeCarBlueCarBlueBBlueB_onBlueB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeCarBlueCar.state = SmSingleLaneBridgeBridgeCarBlueCar_BlueCar )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatus_BridgeStatus )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_empty )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneRed )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_oneBlue )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoRed )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridgeBridgeStatusBridgeStatus.state = SmSingleLaneBridgeBridgeBridgeStatusBridgeStatus_twoBlue )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeBridge.state = SmSingleLaneBridgeBridge_Bridge )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRed.state = SmSingleLaneBridgeCoordCoordRed_CoordRed )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt.state = SmSingleLaneBridgeCoordCoordRedRedCoordEntRedCoordEnt_coordEntRedB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit.state = SmSingleLaneBridgeCoordCoordRedRedCoordExitRedCoordExit_coordExitRedB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlue.state = SmSingleLaneBridgeCoordCoordBlue_CoordBlue )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordEntBlueCoordEnt_coordEntBlueB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueA )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit.state = SmSingleLaneBridgeCoordCoordBlueBlueCoordExitBlueCoordExit_coordExitBlueB )
   CTLSPEC   EF( systemSm_Machine.systemSmSingleLaneBridgeCoord.state = SmSingleLaneBridgeCoord_Coord )

-- This file is generated from SingleEventMachine.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for XSm --
MODULE XSm

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 , Sm_s3 };
     event : { ev_e , ev_null };
     a : integer;
     b : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e );
     t1 := event = ev_e & state = Sm_s1 & g1;
     t2 := event = ev_e & state = Sm_s1 & g2;
     t3 := event = ev_e & state = Sm_s2 & g2;
     g1 := a <= b;
     g2 := a = b;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t3 : Sm_s1;
       t1 : Sm_s2;
       t2 : Sm_s3;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
   ASSIGN
     init( a ) := 4;

   -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
   ASSIGN
     init( b ) := 5;

-- This defines a NuSMV module for XSm_Machine --
MODULE XSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     xSm : XSm;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     xSm_Machine : XSm_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( xSm_Machine.xSm.state = Sm_s1 )
   CTLSPEC   EF( xSm_Machine.xSm.state = Sm_s2 )
   CTLSPEC   EF( xSm_Machine.xSm.state = Sm_s3 )

-- This file is generated from AbstractConcurrentSystem.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_state1 , State_state2 };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e5 & _stateState1State11State11.state != null;
     t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
     t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
     t4 := event = ev_e5 & _stateState1State12State12.state != null;
     t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
     t6 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_state1;
     next( state ) := case
       t3 | t6 | t2 | t5 : State_state1;
       t1 | t4 : State_state2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t4 : null;
       _state.t3 : StateState1State11State11_state111;
       _state.t2 : StateState1State11State11_state112;
       _state.state = State_state1 & state = null : StateState1State11State11_state111;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t4 : null;
       _state.t6 : StateState1State12State12_state121;
       _state.t5 : StateState1State12State12_state122;
       _state.state = State_state1 & state = null : StateState1State12State12_state121;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState : AState( aStateState1State11State11 , aStateState1State12State12 );
     aStateState1State11State11 : AStateState1State11State11( aState );
     aStateState1State12State12 : AStateState1State12State12( aState );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState_Machine : AState_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aState_Machine.aState.state = State_state1 )
   CTLSPEC   EF( aState_Machine.aState.state = State_state2 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )

-- This file is generated from AbstractMachine.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for MeS2 --
MODULE MeS2

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { S2_s2a , S2_s2b , S2_s1 };
     event : { ev_e1 , ev_e3 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     s2_stable :=  !( event = ev_e1 | event = ev_e3 );
     t1 := event = ev_e1 & state = S2_s2a;
     t2 := event = ev_e3 & state = S2_s2a;
     t3 := event = ev_e3 & state = S2_s2b;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := S2_s2a;
     next( state ) := case
       t3 : S2_s2a;
       t2 : S2_s2b;
       t1 : S2_s1;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       s2_stable : { ev_e1 , ev_e3 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for MeS2_Machine --
MODULE MeS2_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     meS2 : MeS2;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     meS2_Machine : MeS2_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( meS2_Machine.meS2.state = S2_s2a )
   CTLSPEC   EF( meS2_Machine.meS2.state = S2_s2b )
   CTLSPEC   EF( meS2_Machine.meS2.state = S2_s1 )

-- This file is generated from DigitalWatchFlat.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for DigitalWatchSm --
MODULE DigitalWatchSm

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_time , Sm_date , Sm_paused , Sm_running , Sm_lapRunning , Sm_lapPaused , Sm_bothOff , Sm_chimeOn , Sm_bothOn , Sm_alarmOn , Sm_alarmTime , Sm_alarmHour , Sm_alarmMinute , Sm_second , Sm_minute , Sm_hour , Sm_month , Sm_day , Sm_year };
     event : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 , ev_null };
     day : integer;
     month : integer;
     year : integer;
     hour : integer;
     minute : integer;
     second : integer;
     alarmHour : integer;
     alarmMinute : integer;
     alarmSecond : integer;
     timer : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_s3 | event = ev_notS2 | event = ev_s1 | event = ev_s3during2Secs | event = ev_notS1 | event = ev_s2 );
     t1 := event = ev_s1 & state = Sm_time;
     t2 := event = ev_s2 & state = Sm_time;
     t3 := event = ev_s3 & state = Sm_time;
     t4 := event = ev_s3during2Secs & state = Sm_time;
     t5 := event = ev_notS1 & state = Sm_date;
     t6 := event = ev_s1 & state = Sm_paused;
     t7 := event = ev_s2 & state = Sm_paused;
     t8 := event = ev_s3 & state = Sm_paused;
     t9 := event = ev_s1 & state = Sm_running;
     t10 := event = ev_s2 & state = Sm_running;
     t11 := event = ev_s3 & state = Sm_running;
     t12 := event = ev_s1 & state = Sm_lapRunning;
     t13 := event = ev_s2 & state = Sm_lapRunning;
     t14 := event = ev_s3 & state = Sm_lapRunning;
     t15 := event = ev_s1 & state = Sm_lapPaused;
     t16 := event = ev_s2 & state = Sm_lapPaused;
     t17 := event = ev_s3 & state = Sm_lapPaused;
     t18 := event = ev_notS2 & state = Sm_bothOff;
     t19 := event = ev_s1 & state = Sm_bothOff;
     t20 := event = ev_notS2 & state = Sm_chimeOn;
     t21 := event = ev_s1 & state = Sm_chimeOn;
     t22 := event = ev_notS2 & state = Sm_bothOn;
     t23 := event = ev_s1 & state = Sm_bothOn;
     t24 := event = ev_s1 & state = Sm_alarmOn;
     t25 := event = ev_notS2 & state = Sm_alarmOn;
     t26 := event = ev_s1 & state = Sm_alarmTime;
     t27 := event = ev_s2 & state = Sm_alarmTime;
     t28 := event = ev_s3 & state = Sm_alarmTime;
     t29 := event = ev_s1 & state = Sm_alarmHour;
     t30 := event = ev_s2 & state = Sm_alarmHour;
     t31 := event = ev_s3 & state = Sm_alarmHour;
     t32 := event = ev_s1 & state = Sm_alarmMinute;
     t33 := event = ev_s2 & state = Sm_alarmMinute;
     t34 := event = ev_s3 & state = Sm_alarmMinute;
     t35 := event = ev_s1 & state = Sm_second;
     t36 := event = ev_s2 & state = Sm_second;
     t37 := event = ev_s3 & state = Sm_second;
     t38 := event = ev_s1 & state = Sm_minute;
     t39 := event = ev_s2 & state = Sm_minute;
     t40 := event = ev_s3 & state = Sm_minute;
     t41 := event = ev_s1 & state = Sm_hour;
     t42 := event = ev_s2 & state = Sm_hour;
     t43 := event = ev_s3 & state = Sm_hour;
     t44 := event = ev_s1 & state = Sm_month;
     t45 := event = ev_s2 & state = Sm_month;
     t46 := event = ev_s3 & state = Sm_month;
     t47 := event = ev_s1 & state = Sm_day;
     t48 := event = ev_s2 & state = Sm_day;
     t49 := event = ev_s3 & state = Sm_day;
     t50 := event = ev_s1 & state = Sm_year;
     t51 := event = ev_s2 & state = Sm_year;
     t52 := event = ev_s3 & state = Sm_year;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_time;
     next( state ) := case
       t8 | t14 | t18 | t22 | t37 | t43 | t49 | t5 | t11 | t17 | t20 | t25 | t40 | t46 | t52 : Sm_time;
       t1 : Sm_date;
       t3 | t9 | t7 | t16 : Sm_paused;
       t6 | t13 : Sm_running;
       t10 | t15 : Sm_lapRunning;
       t12 : Sm_lapPaused;
       t2 | t24 : Sm_bothOff;
       t19 : Sm_chimeOn;
       t21 : Sm_bothOn;
       t23 : Sm_alarmOn;
       t4 : Sm_alarmTime;
       t30 | t27 | t32 : Sm_alarmHour;
       t29 | t26 | t33 : Sm_alarmMinute;
       t31 | t36 | t28 | t34 | t50 : Sm_second;
       t35 | t39 : Sm_minute;
       t38 | t42 : Sm_hour;
       t41 | t45 : Sm_month;
       t44 | t48 : Sm_day;
       t47 | t51 : Sm_year;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_s3 , ev_s3during2Secs , ev_notS2 , ev_notS1 , ev_s1 , ev_s2 };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "day" of this NuSMV module --
   ASSIGN
     init( day ) := 0;

   -- This part defines logic for the assignment of values to state variable "month" of this NuSMV module --
   ASSIGN
     init( month ) := 0;

   -- This part defines logic for the assignment of values to state variable "year" of this NuSMV module --
   ASSIGN
     init( year ) := 2014;

   -- This part defines logic for the assignment of values to state variable "hour" of this NuSMV module --
   ASSIGN
     init( hour ) := 0;

   -- This part defines logic for the assignment of values to state variable "minute" of this NuSMV module --
   ASSIGN
     init( minute ) := 0;

   -- This part defines logic for the assignment of values to state variable "second" of this NuSMV module --
   ASSIGN
     init( second ) := 0;

   -- This part defines logic for the assignment of values to state variable "alarmHour" of this NuSMV module --
   ASSIGN
     init( alarmHour ) := 0;

   -- This part defines logic for the assignment of values to state variable "alarmMinute" of this NuSMV module --
   ASSIGN
     init( alarmMinute ) := 0;

   -- This part defines logic for the assignment of values to state variable "alarmSecond" of this NuSMV module --
   ASSIGN
     init( alarmSecond ) := 0;

   -- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
   ASSIGN
     init( timer ) := 0;

-- This defines a NuSMV module for DigitalWatchSm_Machine --
MODULE DigitalWatchSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     digitalWatchSm : DigitalWatchSm;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     digitalWatchSm_Machine : DigitalWatchSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_time )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_date )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_paused )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_running )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_lapRunning )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_lapPaused )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_bothOff )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chimeOn )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_bothOn )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmOn )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmTime )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmHour )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmMinute )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_second )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_minute )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_hour )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_month )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_day )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_year )

-- This file is generated from nestedConcurrentMachine.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_state1 , State_state2 };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e5 & _stateState1State11State11.state != null;
     t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
     t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
     t4 := event = ev_e5 & _stateState1State12State12.state != null;
     t5 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
     t6 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
     t7 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
     t8 := event = ev_e4 & _stateState1State12State12State122.state = StateState1State12State12State122_state1221;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_state1;
     next( state ) := case
       t3 | t7 | t5 | t2 | t8 | t6 : State_state1;
       t1 | t4 : State_state2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t4 : null;
       _state.t3 : StateState1State11State11_state111;
       _state.t2 : StateState1State11State11_state112;
       _state.state = State_state1 & state = null : StateState1State11State11_state111;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t4 : null;
       _state.t7 | _state.t8 : StateState1State12State12_state121;
       _state.t5 | _state.t6 : StateState1State12State12_state122;
       _state.state = State_state1 & state = null : StateState1State12State12_state121;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12State122 --
MODULE AStateState1State12State12State122 ( _state , _stateState1State12State12 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12State122_state1221 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t5 | _state.t8 | _state.t7 | _state.t4 : null;
       _state.t6 : StateState1State12State12State122_state1221;
       _stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122_state1221;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122 );
     aStateState1State11State11 : AStateState1State11State11( aState );
     aStateState1State12State12 : AStateState1State12State12( aState );
     aStateState1State12State12State122 : AStateState1State12State12State122( aState , aStateState1State12State12 );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState_Machine : AState_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aState_Machine.aState.state = State_state1 )
   CTLSPEC   EF( aState_Machine.aState.state = State_state2 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 )

-- This file is generated from MultiLevelStateMachineExampleCase2.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2 , _smS2S21 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_e1 , ev_e2 , ev_e3 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
     t1 := event = ev_e1 & state = Sm_s1;
     t2 := event = ev_e2 & state = Sm_s1;
     t3 := event = ev_e2 & state = Sm_s2;
     t4 := event = ev_e3 & _smS2.state = SmS2_s21;
     t5 := event = ev_e1 & _smS2S21.state = SmS2S21_s211;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t3 | t1 | t5 : Sm_s1;
       t2 | t4 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e1 , ev_e2 , ev_e3 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ASmS2 --
MODULE ASmS2 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2_s21 , SmS2_s22 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t3 | _sm.t2 | _sm.t5 : null;
       _sm.t4 : SmS2_s22;
       _sm.state = Sm_s2 & state = null : SmS2_s21;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmS2S21 --
MODULE ASmS2S21 ( _sm , _smS2 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2S21_s211 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t5 | _sm.t4 | _sm.t3 : null;
       _smS2.state = SmS2_s21 & state = null : SmS2S21_s211;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm : ASm( aSmS2 , aSmS2S21 );
     aSmS2 : ASmS2( aSm );
     aSmS2S21 : ASmS2S21( aSm , aSmS2 );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm_Machine : ASm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s1 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s2 )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s21 )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s22 )
   CTLSPEC   EF( aSm_Machine.aSmS2S21.state = SmS2S21_s211 )

-- This file is generated from GrantApplication.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for GrantApplicationStatus --
MODULE GrantApplicationStatus

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Status_Planned , Status_InProgress , Status_EvaluationByInstitution , Status_VerifiedByInstitution , Status_SubmittedByInstitution , Status_UnderAdministrativeReview , Status_UnderExpertReview , Status_AwaitingFinalDecision , Status_Accepted , Status_Rejected , Status_Withdrawn };
     event : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw , ev_null };
     adminCheckOk : boolean;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     status_stable :=  !( event = ev_returnToInstitition | event = ev_submit | event = ev_tryAgain | event = ev_returnToResearcher | event = ev_bypassExpertReviewDueToMinorChanges | event = ev_createApplication | event = ev_reject | event = ev_editByInstitution | event = ev_finalAccept | event = ev_reOpen | event = ev_expertReviewsReturned | event = ev_verified | event = ev_acceptForReview | event = ev_acceptForExpertReview | event = ev_editByResearcher | event = ev_minorRevisionsNeeded | event = ev_researcherDeclaresComplete | event = ev_submissionCheck | event = ev_withdraw );
     t1 := event = ev_createApplication & state = Status_Planned;
     t2 := event = ev_researcherDeclaresComplete & state = Status_InProgress;
     t3 := event = ev_editByResearcher & state = Status_InProgress;
     t4 := event = ev_returnToResearcher & state = Status_EvaluationByInstitution;
     t5 := event = ev_verified & state = Status_EvaluationByInstitution;
     t6 := event = ev_editByInstitution & state = Status_EvaluationByInstitution;
     t7 := event = ev_reOpen & state = Status_VerifiedByInstitution;
     t8 := event = ev_submit & state = Status_VerifiedByInstitution;
     t9 := event = ev_withdraw & state = Status_SubmittedByInstitution;
     t10 := event = ev_acceptForReview & state = Status_SubmittedByInstitution;
     t11 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g1;
     t12 := event = ev_submissionCheck & state = Status_SubmittedByInstitution & g2;
     t13 := event = ev_acceptForExpertReview & state = Status_UnderAdministrativeReview;
     t14 := event = ev_bypassExpertReviewDueToMinorChanges & state = Status_UnderAdministrativeReview;
     t15 := event = ev_returnToInstitition & state = Status_UnderAdministrativeReview;
     t16 := event = ev_withdraw & state = Status_UnderAdministrativeReview;
     t17 := event = ev_expertReviewsReturned & state = Status_UnderExpertReview;
     t18 := event = ev_withdraw & state = Status_UnderExpertReview;
     t19 := event = ev_finalAccept & state = Status_AwaitingFinalDecision;
     t20 := event = ev_minorRevisionsNeeded & state = Status_AwaitingFinalDecision;
     t21 := event = ev_reject & state = Status_AwaitingFinalDecision;
     t22 := event = ev_tryAgain & state = Status_Rejected;
     t23 := event = ev_tryAgain & state = Status_Withdrawn;
     g1 := (adminCheckOk & (!adminCheckOk));
     g2 := !adminCheckOk;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Status_Planned;
     next( state ) := case
       t3 | t22 | t1 | t4 | t23 : Status_InProgress;
       t2 | t7 | t15 | t6 | t12 | t20 : Status_EvaluationByInstitution;
       t5 : Status_VerifiedByInstitution;
       t8 | t11 : Status_SubmittedByInstitution;
       t10 : Status_UnderAdministrativeReview;
       t13 : Status_UnderExpertReview;
       t14 | t17 : Status_AwaitingFinalDecision;
       t19 : Status_Accepted;
       t21 : Status_Rejected;
       t16 | t9 | t18 : Status_Withdrawn;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       status_stable : { ev_reOpen , ev_returnToInstitition , ev_expertReviewsReturned , ev_submit , ev_verified , ev_tryAgain , ev_acceptForReview , ev_returnToResearcher , ev_acceptForExpertReview , ev_bypassExpertReviewDueToMinorChanges , ev_editByResearcher , ev_createApplication , ev_minorRevisionsNeeded , ev_reject , ev_researcherDeclaresComplete , ev_editByInstitution , ev_submissionCheck , ev_finalAccept , ev_withdraw };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "adminCheckOk" of this NuSMV module --
   ASSIGN
     init( adminCheckOk ) := FALSE;

-- This defines a NuSMV module for GrantApplicationStatus_Machine --
MODULE GrantApplicationStatus_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     grantApplicationStatus : GrantApplicationStatus;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     grantApplicationStatus_Machine : GrantApplicationStatus_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( grantApplicationStatus_Machine.grantApplicationStatus.t11 & grantApplicationStatus_Machine.grantApplicationStatus.t12 -> next( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_SubmittedByInstitution & grantApplicationStatus_Machine.grantApplicationStatus.state = Status_EvaluationByInstitution ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Planned )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_InProgress )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_EvaluationByInstitution )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_VerifiedByInstitution )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_SubmittedByInstitution )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_UnderAdministrativeReview )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_UnderExpertReview )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_AwaitingFinalDecision )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Accepted )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Rejected )
   CTLSPEC   EF( grantApplicationStatus_Machine.grantApplicationStatus.state = Status_Withdrawn )

-- This file is generated from ExampleFile.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for GarageDoorStatus --
MODULE GarageDoorStatus

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Status_Open , Status_Closing , Status_Closed , Status_Opening , Status_HalfOpen };
     event : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     status_stable :=  !( event = ev_reachTop | event = ev_reachBottom | event = ev_buttonOrObstacle );
     t1 := event = ev_buttonOrObstacle & state = Status_Open;
     t2 := event = ev_buttonOrObstacle & state = Status_Closing;
     t3 := event = ev_reachBottom & state = Status_Closing;
     t4 := event = ev_buttonOrObstacle & state = Status_Closed;
     t5 := event = ev_buttonOrObstacle & state = Status_Opening;
     t6 := event = ev_reachTop & state = Status_Opening;
     t7 := event = ev_buttonOrObstacle & state = Status_HalfOpen;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Status_Open;
     next( state ) := case
       t6 : Status_Open;
       t1 : Status_Closing;
       t3 : Status_Closed;
       t4 | t2 | t7 : Status_Opening;
       t5 : Status_HalfOpen;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       status_stable : { ev_reachBottom , ev_reachTop , ev_buttonOrObstacle };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for GarageDoorStatus_Machine --
MODULE GarageDoorStatus_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     garageDoorStatus : GarageDoorStatus;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     garageDoorStatus_Machine : GarageDoorStatus_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Open )
   CTLSPEC   EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Closing )
   CTLSPEC   EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Closed )
   CTLSPEC   EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_Opening )
   CTLSPEC   EF( garageDoorStatus_Machine.garageDoorStatus.state = Status_HalfOpen )

-- This file is generated from NestedMachine.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 , Sm_s3 , Sm_s4 };
     event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e1 & state = Sm_s1;
     t2 := event = ev_e2 & state = Sm_s1;
     t3 := event = ev_e3 & state = Sm_s1;
     t4 := event = ev_e1 & state = Sm_s2;
     t5 := event = ev_e3 & _smS2.state = SmS2_s2a;
     t6 := event = ev_e3 & _smS2.state = SmS2_s2b;
     t7 := event = ev_e4 & _smS2.state = SmS2_s2b;
     t8 := event = ev_e2 & _smS2.state = SmS2_s2b;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t4 : Sm_s1;
       t6 | t5 | t1 | t2 | t8 : Sm_s2;
       t7 : Sm_s3;
       t3 : Sm_s4;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ASmS2 --
MODULE ASmS2 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2_s2a , SmS2_s2b , SmS2_s2c , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t4 | _sm.t3 | _sm.t7 : null;
       _sm.t6 : SmS2_s2a;
       _sm.t2 | _sm.t5 : SmS2_s2b;
       _sm.t8 : SmS2_s2c;
       _sm.state = Sm_s2 & state = null : SmS2_s2a;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm : ASm( aSmS2 );
     aSmS2 : ASmS2( aSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm_Machine : ASm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s1 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s2 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s3 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s4 )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s2a )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s2b )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s2c )

-- This file is generated from SimpleCaseOfNondeterminism.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for XSm --
MODULE XSm

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 , Sm_s3 };
     event : { ev_e , ev_null };
     a : integer;
     b : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e );
     t1 := event = ev_e & state = Sm_s1 & g1;
     t2 := event = ev_e & state = Sm_s1 & g2;
     g1 := a > 1;
     g2 := b < 1;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t1 : Sm_s2;
       t2 : Sm_s3;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
   ASSIGN
     init( a ) := 4;

   -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
   ASSIGN
     init( b ) := 5;

-- This defines a NuSMV module for XSm_Machine --
MODULE XSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     xSm : XSm;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     xSm_Machine : XSm_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( xSm_Machine.xSm.t1 & xSm_Machine.xSm.t2 -> next( xSm_Machine.xSm.state = Sm_s2 & xSm_Machine.xSm.state = Sm_s3 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( xSm_Machine.xSm.state = Sm_s1 )
   CTLSPEC   EF( xSm_Machine.xSm.state = Sm_s2 )
   CTLSPEC   EF( xSm_Machine.xSm.state = Sm_s3 )

-- This file is generated from myTemporaryTest.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for HeatingSystemHeatSystem --
MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysHouseRoom , _heatSystemHeatSysHouseRoomRoom , _heatSystemHeatSysHouseRoomRoomNoHeatReq , _heatSystemHeatSysHouseRoomRoomHeatReq , _heatSystemHeatSysHouseController , _heatSystemHeatSysHouseControllerController , _heatSystemHeatSysHouseControllerControllerControllerOn , _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , _heatSystemHeatSysHouse , _heatSystemHeatSysFurnaceFurnace , _heatSystemHeatSysFurnaceFurnaceFurnaceNormal )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystem_heatSys , null };
     event : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 , ev_null };
     tooCold : boolean;
     tooHot : boolean;
     requestHeat : boolean;
     furnaceTimer : integer;
     furnaceStartupTime : integer;
     valvePos : integer;
     waitedForWarm : integer;
     warmUpTimer : integer;
     coolDownTimer : integer;
     waitedForCool : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     heatSystem_stable :=  !( event = ev_t5 | event = ev_furnaceReset | event = ev_furnaceRunning | event = ev_t21 | event = ev_heatSwitchOff | event = ev_t22 | event = ev_activate | event = ev_userReset | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_t23 | event = ev_t24 | event = ev_t15 | event = ev_t18 | event = ev_t19 );
     t1 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat & g1;
     t2 := event = ev_t17 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g2;
     t3 := event = ev_t18 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g3;
     t4 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g4;
     t5 := event = ev_t20 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g5;
     t6 := event = ev_t21 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat & g6;
     t7 := event = ev_t19 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g7;
     t8 := event = ev_t22 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g8;
     t9 := event = ev_t24 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g9;
     t10 := event = ev_t23 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g10;
     t11 := event = ev_heatSwitchOn & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off;
     t12 := event = ev_furnaceFault & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
     t13 := event = ev_heatSwitchOff & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
     t14 := event = ev_furnaceReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
     t15 := event = ev_userReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
     t16 := event = ev_activate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle & g11;
     t17 := event = ev_deactivate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & g12;
     t18 := event = ev_furnaceRunning & _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
     t19 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
     t20 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr;
     t21 := event = ev_activate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
     t22 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
     t23 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
     t24 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g13;
     t25 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g14;
     g1 := tooCold;
     g2 := waitedForWarm < warmUpTimer;
     g3 := valvePos != 2 & warmUpTimer = waitedForWarm;
     g4 := !tooCold;
     g5 := waitedForwarm = warmUpTimer & valvePos = 2 & tooCold;
     g6 := tooHot;
     g7 := waitedForCool = coolDownTimer & valvePos = 0 & tooHot;
     g8 := !tooHot;
     g9 := valvePos != 0 & coolDownTimer = waitedForCool;
     g10 := waitedForCool < coolDownTimer;
     g11 := requestHeat = TRUE;
     g12 := requestHeat = FALSE;
     g13 := furnaceStartupTime < furnaceTimer;
     g14 := furnaceTimer = furnaceStartupTime;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := HeatSystem_heatSys;
     next( state ) := case
       t4 | t2 | t5 | t6 | t10 | t14 | t11 | t16 | t12 | t22 | t25 | t24 | t7 | t1 | t3 | t8 | t9 | t13 | t15 | t17 | t18 | t20 | t23 | t21 | t19 : HeatSystem_heatSys;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       heatSystem_stable : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "tooCold" of this NuSMV module --
   ASSIGN
     init( tooCold ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "tooHot" of this NuSMV module --
   ASSIGN
     init( tooHot ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
   ASSIGN
     init( requestHeat ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
   ASSIGN
     init( furnaceTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "furnaceStartupTime" of this NuSMV module --
   ASSIGN
     init( furnaceStartupTime ) := 0;

   -- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
   ASSIGN
     init( valvePos ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
   ASSIGN
     init( waitedForWarm ) := 0;

   -- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
   ASSIGN
     init( warmUpTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
   ASSIGN
     init( coolDownTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
   ASSIGN
     init( waitedForCool ) := 0;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoom ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoom_room , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoom_room;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseRoom_room;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoom ( _heatSystem , _heatSystemHeatSysHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoomRoom_noHeatReq , HeatSystemHeatSysHouseRoomRoom_heatReq , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
       _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoom_heatReq;
       _heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat , HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t5 | _heatSystem.t7 | _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t8 | _heatSystem.t10 : null;
       _heatSystem.t4 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
       _heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat;
       _heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq & state = null : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat , HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t5 | _heatSystem.t2 | _heatSystem.t4 | _heatSystem.t7 : null;
       _heatSystem.t8 : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
       _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool;
       _heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq & state = null : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseController --
MODULE HeatingSystemHeatSystemHeatSysHouseController ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseController_Controller , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouseController_Controller;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseController_Controller;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerController --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerController ( _heatSystem , _heatSystemHeatSysHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseControllerController_off , HeatSystemHeatSysHouseControllerController_ControllerOn , HeatSystemHeatSysHouseControllerController_error , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t14 | _heatSystem.t13 | _heatSystem.t15 : HeatSystemHeatSysHouseControllerController_off;
       _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t17 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerController_ControllerOn;
       _heatSystem.t12 : HeatSystemHeatSysHouseControllerController_error;
       _heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseControllerController_off;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn ( _heatSystem , _heatSystemHeatSysHouseControllerController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseControllerControllerControllerOn_idle , HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t12 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t13 | _heatSystem.t15 : null;
       _heatSystem.t17 : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
       _heatSystem.t16 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive;
       _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn & state = null : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive ( _heatSystem , _heatSystemHeatSysHouseControllerControllerControllerOn )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater , HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t16 | _heatSystem.t12 | _heatSystem.t17 | _heatSystem.t13 : null;
       _heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun;
       _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & state = null : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouse --
MODULE HeatingSystemHeatSystemHeatSysHouse ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouse_house , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouse_house;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouse_house;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnace --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnace ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysFurnaceFurnace_furnaceNormal , HeatSystemHeatSysFurnaceFurnace_furnaceErr , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t20 | _heatSystem.t23 | _heatSystem.t21 | _heatSystem.t22 | _heatSystem.t25 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
       _heatSystem.t19 : HeatSystemHeatSysFurnaceFurnace_furnaceErr;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal ( _heatSystem , _heatSystemHeatSysFurnaceFurnace )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t19 | _heatSystem.t20 : null;
       _heatSystem.t22 | _heatSystem.t23 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
       _heatSystem.t25 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
       _heatSystem.t21 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
       _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal & state = null : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystem_Machine --
MODULE HeatingSystemHeatSystem_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatingSystemHeatSystem : HeatingSystemHeatSystem( heatingSystemHeatSystemHeatSysHouseRoom , heatingSystemHeatSystemHeatSysHouseRoomRoom , heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq , heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq , heatingSystemHeatSystemHeatSysHouseController , heatingSystemHeatSystemHeatSysHouseControllerController , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , heatingSystemHeatSystemHeatSysHouse , heatingSystemHeatSystemHeatSysFurnaceFurnace , heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal );
     heatingSystemHeatSystemHeatSysHouseRoom : HeatingSystemHeatSystemHeatSysHouseRoom( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysHouseRoomRoom : HeatingSystemHeatSystemHeatSysHouseRoomRoom( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
     heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
     heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
     heatingSystemHeatSystemHeatSysHouseController : HeatingSystemHeatSystemHeatSysHouseController( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysHouseControllerController : HeatingSystemHeatSystemHeatSysHouseControllerController( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
     heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerController );
     heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn );
     heatingSystemHeatSystemHeatSysHouse : HeatingSystemHeatSystemHeatSysHouse( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal : HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysFurnaceFurnace );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatingSystemHeatSystem_Machine : HeatingSystemHeatSystem_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystem.state = HeatSystem_heatSys )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoom.state = HeatSystemHeatSysHouseRoom_room )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseController.state = HeatSystemHeatSysHouseController_Controller )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct )

-- This file is generated from NestedWatch.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for DigitalWatchSm --
MODULE DigitalWatchSm ( _smRegular , _smRegularUpdate , _smChronometer , _smChronometerChronoNormal , _smAlarmStatus , _smAlarmUpdate , _smAlarmUpdateHourMinuteUpdate )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_regular , Sm_chronometer , Sm_alarmStatus , Sm_alarmUpdate };
     event : { ev_s3 , ev_notS2 , ev_s3during2Secs , ev_notS1 , ev_s1 , ev_s2 , ev_null };
     day : integer;
     month : integer;
     year : integer;
     hour : integer;
     minute : integer;
     second : integer;
     alarmHour : integer;
     alarmMinute : integer;
     alarmSecond : integer;
     timer : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_s3 | event = ev_s3during2Secs | event = ev_s1 | event = ev_notS2 | event = ev_notS1 | event = ev_s2 );
     t1 := event = ev_s3 & state = Sm_chronometer;
     t2 := event = ev_notS2 & state = Sm_alarmStatus;
     t3 := event = ev_s3 & state = Sm_alarmUpdate;
     t4 := event = ev_s1 & _smRegular.state = SmRegular_time;
     t5 := event = ev_s2 & _smRegular.state = SmRegular_time;
     t6 := event = ev_s3 & _smRegular.state = SmRegular_time;
     t7 := event = ev_s3during2Secs & _smRegular.state = SmRegular_time;
     t8 := event = ev_notS1 & _smRegular.state = SmRegular_date;
     t9 := event = ev_s3 & _smRegular.state = SmRegular_update;
     t10 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_second;
     t11 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_second;
     t12 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_minute;
     t13 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_minute;
     t14 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_hour;
     t15 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_hour;
     t16 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_month;
     t17 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_month;
     t18 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_day;
     t19 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_day;
     t20 := event = ev_s1 & _smRegularUpdate.state = SmRegularUpdate_year;
     t21 := event = ev_s2 & _smRegularUpdate.state = SmRegularUpdate_year;
     t22 := event = ev_s1 & _smChronometer.state = SmChronometer_lapRunning;
     t23 := event = ev_s2 & _smChronometer.state = SmChronometer_lapRunning;
     t24 := event = ev_s1 & _smChronometer.state = SmChronometer_lapPaused;
     t25 := event = ev_s2 & _smChronometer.state = SmChronometer_lapPaused;
     t26 := event = ev_s1 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_paused;
     t27 := event = ev_s2 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_paused;
     t28 := event = ev_s1 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_running;
     t29 := event = ev_s2 & _smChronometerChronoNormal.state = SmChronometerChronoNormal_running;
     t30 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_bothOff;
     t31 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_chimeOn;
     t32 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_bothOn;
     t33 := event = ev_s1 & _smAlarmStatus.state = SmAlarmStatus_alarmOn;
     t34 := event = ev_s1 & _smAlarmUpdate.state = SmAlarmUpdate_alarmTime;
     t35 := event = ev_s2 & _smAlarmUpdate.state = SmAlarmUpdate_alarmTime;
     t36 := event = ev_s1 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmHour;
     t37 := event = ev_s2 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmHour;
     t38 := event = ev_s1 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmMinute;
     t39 := event = ev_s2 & _smAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmMinute;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_regular;
     next( state ) := case
       t8 | t1 | t4 | t20 | t10 | t12 | t14 | t16 | t18 | t9 | t2 | t11 | t3 | t13 | t15 | t17 | t19 | t21 : Sm_regular;
       t27 | t25 | t23 | t24 | t6 | t28 | t26 | t29 | t22 : Sm_chronometer;
       t33 | t31 | t5 | t30 | t32 : Sm_alarmStatus;
       t35 | t38 | t36 | t7 | t37 | t34 | t39 : Sm_alarmUpdate;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_s3 , ev_notS2 , ev_s3during2Secs , ev_notS1 , ev_s1 , ev_s2 };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "day" of this NuSMV module --
   ASSIGN
     init( day ) := 0;

   -- This part defines logic for the assignment of values to state variable "month" of this NuSMV module --
   ASSIGN
     init( month ) := 0;

   -- This part defines logic for the assignment of values to state variable "year" of this NuSMV module --
   ASSIGN
     init( year ) := 2014;

   -- This part defines logic for the assignment of values to state variable "hour" of this NuSMV module --
   ASSIGN
     init( hour ) := 0;

   -- This part defines logic for the assignment of values to state variable "minute" of this NuSMV module --
   ASSIGN
     init( minute ) := 0;

   -- This part defines logic for the assignment of values to state variable "second" of this NuSMV module --
   ASSIGN
     init( second ) := 0;

   -- This part defines logic for the assignment of values to state variable "alarmHour" of this NuSMV module --
   ASSIGN
     init( alarmHour ) := 0;

   -- This part defines logic for the assignment of values to state variable "alarmMinute" of this NuSMV module --
   ASSIGN
     init( alarmMinute ) := 0;

   -- This part defines logic for the assignment of values to state variable "alarmSecond" of this NuSMV module --
   ASSIGN
     init( alarmSecond ) := 0;

   -- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
   ASSIGN
     init( timer ) := 0;

-- This defines a NuSMV module for DigitalWatchSmRegular --
MODULE DigitalWatchSmRegular ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmRegular_time , SmRegular_date , SmRegular_update , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 | _sm.t22 | _sm.t24 | _sm.t26 | _sm.t28 | _sm.t30 | _sm.t32 | _sm.t34 | _sm.t36 | _sm.t38 | _sm.t5 | _sm.t7 | _sm.t23 | _sm.t25 | _sm.t27 | _sm.t29 | _sm.t31 | _sm.t33 | _sm.t35 | _sm.t37 | _sm.t39 : null;
       _sm.t8 | _sm.t1 | _sm.t9 | _sm.t2 : SmRegular_time;
       _sm.t4 : SmRegular_date;
       _sm.t20 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t11 | _sm.t3 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 : SmRegular_update;
       _sm.state = Sm_regular & state = null : SmRegular_time;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSmRegularUpdate --
MODULE DigitalWatchSmRegularUpdate ( _sm , _smRegular )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmRegularUpdate_second , SmRegularUpdate_minute , SmRegularUpdate_hour , SmRegularUpdate_month , SmRegularUpdate_day , SmRegularUpdate_year , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t4 | _sm.t6 | _sm.t8 | _sm.t5 | _sm.t7 | _sm.t9 : null;
       _sm.t20 | _sm.t11 | _sm.t3 : SmRegularUpdate_second;
       _sm.t10 | _sm.t13 : SmRegularUpdate_minute;
       _sm.t12 | _sm.t15 : SmRegularUpdate_hour;
       _sm.t14 | _sm.t17 : SmRegularUpdate_month;
       _sm.t16 | _sm.t19 : SmRegularUpdate_day;
       _sm.t18 | _sm.t21 : SmRegularUpdate_year;
       _smRegular.state = SmRegular_update & state = null : SmRegularUpdate_second;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSmChronometer --
MODULE DigitalWatchSmChronometer ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmChronometer_chronoNormal , SmChronometer_lapRunning , SmChronometer_lapPaused , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t20 | _sm.t30 | _sm.t32 | _sm.t34 | _sm.t36 | _sm.t38 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t31 | _sm.t33 | _sm.t35 | _sm.t37 | _sm.t39 : null;
       _sm.t28 | _sm.t26 | _sm.t27 | _sm.t25 | _sm.t23 : SmChronometer_chronoNormal;
       _sm.t29 | _sm.t24 : SmChronometer_lapRunning;
       _sm.t22 : SmChronometer_lapPaused;
       _sm.state = Sm_chronometer & state = null : SmChronometer_chronoNormal;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSmChronometerChronoNormal --
MODULE DigitalWatchSmChronometerChronoNormal ( _sm , _smChronometer )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmChronometerChronoNormal_paused , SmChronometerChronoNormal_running , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t22 | _sm.t29 | _sm.t24 | _sm.t1 : null;
       _sm.t28 | _sm.t27 | _sm.t25 : SmChronometerChronoNormal_paused;
       _sm.t26 | _sm.t23 : SmChronometerChronoNormal_running;
       _smChronometer.state = SmChronometer_chronoNormal & state = null : SmChronometerChronoNormal_paused;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSmAlarmStatus --
MODULE DigitalWatchSmAlarmStatus ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmAlarmStatus_bothOff , SmAlarmStatus_chimeOn , SmAlarmStatus_bothOn , SmAlarmStatus_alarmOn , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t20 | _sm.t22 | _sm.t24 | _sm.t26 | _sm.t28 | _sm.t34 | _sm.t36 | _sm.t38 | _sm.t1 | _sm.t3 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t23 | _sm.t25 | _sm.t27 | _sm.t29 | _sm.t35 | _sm.t37 | _sm.t39 : null;
       _sm.t33 : SmAlarmStatus_bothOff;
       _sm.t30 : SmAlarmStatus_chimeOn;
       _sm.t31 : SmAlarmStatus_bothOn;
       _sm.t32 : SmAlarmStatus_alarmOn;
       _sm.state = Sm_alarmStatus & state = null : SmAlarmStatus_bothOff;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSmAlarmUpdate --
MODULE DigitalWatchSmAlarmUpdate ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmAlarmUpdate_alarmTime , SmAlarmUpdate_hourMinuteUpdate , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t3 | _sm.t5 | _sm.t8 | _sm.t10 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t18 | _sm.t20 | _sm.t22 | _sm.t24 | _sm.t26 | _sm.t28 | _sm.t30 | _sm.t32 | _sm.t2 | _sm.t4 | _sm.t6 | _sm.t9 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t19 | _sm.t21 | _sm.t23 | _sm.t25 | _sm.t27 | _sm.t29 | _sm.t31 | _sm.t33 : null;
       _sm.t7 : SmAlarmUpdate_alarmTime;
       _sm.t35 | _sm.t38 | _sm.t36 | _sm.t37 | _sm.t34 | _sm.t39 : SmAlarmUpdate_hourMinuteUpdate;
       _sm.state = Sm_alarmUpdate & state = null : SmAlarmUpdate_alarmTime;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSmAlarmUpdateHourMinuteUpdate --
MODULE DigitalWatchSmAlarmUpdateHourMinuteUpdate ( _sm , _smAlarmUpdate )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmAlarmUpdateHourMinuteUpdate_alarmHour , SmAlarmUpdateHourMinuteUpdate_alarmMinute , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t3 : null;
       _sm.t37 | _sm.t35 | _sm.t38 : SmAlarmUpdateHourMinuteUpdate_alarmHour;
       _sm.t36 | _sm.t34 | _sm.t39 : SmAlarmUpdateHourMinuteUpdate_alarmMinute;
       _smAlarmUpdate.state = SmAlarmUpdate_hourMinuteUpdate & state = null : SmAlarmUpdateHourMinuteUpdate_alarmHour;
       TRUE : state;
     esac;

-- This defines a NuSMV module for DigitalWatchSm_Machine --
MODULE DigitalWatchSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     digitalWatchSm : DigitalWatchSm( digitalWatchSmRegular , digitalWatchSmRegularUpdate , digitalWatchSmChronometer , digitalWatchSmChronometerChronoNormal , digitalWatchSmAlarmStatus , digitalWatchSmAlarmUpdate , digitalWatchSmAlarmUpdateHourMinuteUpdate );
     digitalWatchSmRegular : DigitalWatchSmRegular( digitalWatchSm );
     digitalWatchSmRegularUpdate : DigitalWatchSmRegularUpdate( digitalWatchSm , digitalWatchSmRegular );
     digitalWatchSmChronometer : DigitalWatchSmChronometer( digitalWatchSm );
     digitalWatchSmChronometerChronoNormal : DigitalWatchSmChronometerChronoNormal( digitalWatchSm , digitalWatchSmChronometer );
     digitalWatchSmAlarmStatus : DigitalWatchSmAlarmStatus( digitalWatchSm );
     digitalWatchSmAlarmUpdate : DigitalWatchSmAlarmUpdate( digitalWatchSm );
     digitalWatchSmAlarmUpdateHourMinuteUpdate : DigitalWatchSmAlarmUpdateHourMinuteUpdate( digitalWatchSm , digitalWatchSmAlarmUpdate );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     digitalWatchSm_Machine : DigitalWatchSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_regular )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_chronometer )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmStatus )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSm.state = Sm_alarmUpdate )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegular.state = SmRegular_time )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegular.state = SmRegular_date )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegular.state = SmRegular_update )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_second )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_minute )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_hour )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_month )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_day )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmRegularUpdate.state = SmRegularUpdate_year )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmChronometer.state = SmChronometer_chronoNormal )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmChronometer.state = SmChronometer_lapRunning )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmChronometer.state = SmChronometer_lapPaused )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmChronometerChronoNormal.state = SmChronometerChronoNormal_paused )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmChronometerChronoNormal.state = SmChronometerChronoNormal_running )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_bothOff )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_chimeOn )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_bothOn )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmStatus.state = SmAlarmStatus_alarmOn )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdate.state = SmAlarmUpdate_alarmTime )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdate.state = SmAlarmUpdate_hourMinuteUpdate )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmHour )
   CTLSPEC   EF( digitalWatchSm_Machine.digitalWatchSmAlarmUpdateHourMinuteUpdate.state = SmAlarmUpdateHourMinuteUpdate_alarmMinute )

-- This file is generated from BigStateMachineTest.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for BigStateMachineTestSm --
MODULE BigStateMachineTestSm ( _smZxab , _smZxabZx , _smGe )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_Zxab , Sm_Da , Sm_Ge };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e5 & state = Sm_Da;
     t2 := event = ev_e2 & state = Sm_Da;
     t3 := event = ev_e5 & _smZxab.state = SmZxab_Aa;
     t4 := event = ev_e3 & _smZxab.state = SmZxab_Aa;
     t5 := event = ev_e1 & _smZxab.state = SmZxab_Aa;
     t6 := event = ev_e4 & _smZxab.state = SmZxab_Aa;
     t7 := event = ev_e3 & _smZxab.state = SmZxab_Ba;
     t8 := event = ev_e1 & _smZxab.state = SmZxab_Ba;
     t9 := event = ev_e4 & _smZxab.state = SmZxab_Ba;
     t10 := event = ev_e3 & _smZxabZx.state = SmZxabZx_Za;
     t11 := event = ev_e2 & _smZxabZx.state = SmZxabZx_Za;
     t12 := event = ev_e5 & _smZxabZx.state = SmZxabZx_Za;
     t13 := event = ev_e1 & _smZxabZx.state = SmZxabZx_Za;
     t14 := event = ev_e4 & _smZxabZx.state = SmZxabZx_Za;
     t15 := event = ev_e5 & _smZxabZx.state = SmZxabZx_Xa;
     t16 := event = ev_e1 & _smZxabZx.state = SmZxabZx_Xa;
     t17 := event = ev_e4 & _smZxabZx.state = SmZxabZx_Xa;
     t18 := event = ev_e1 & _smGe.state = SmGe_Ga;
     t19 := event = ev_e1 & _smGe.state = SmGe_Ea;
     t20 := event = ev_e2 & _smGe.state = SmGe_Ea;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_Zxab;
     next( state ) := case
       t1 | t4 | t10 | t11 | t18 : Sm_Zxab;
       t3 : Sm_Da;
       t14 | t6 | t9 | t15 | t20 | t16 | t8 | t17 | t7 | t12 | t19 | t13 | t5 | t2 : Sm_Ge;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSmZxab --
MODULE BigStateMachineTestSmZxab ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmZxab_Zx , SmZxab_Aa , SmZxab_Ba , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t3 | _sm.t6 | _sm.t8 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t19 | _sm.t2 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t13 | _sm.t15 | _sm.t17 | _sm.t20 : null;
       _sm.t10 | _sm.t1 : SmZxab_Zx;
       _sm.t11 : SmZxab_Aa;
       _sm.t4 | _sm.t18 : SmZxab_Ba;
       _sm.state = Sm_Zxab & state = null : SmZxab_Zx;
       TRUE : state;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSmZxabZx --
MODULE BigStateMachineTestSmZxabZx ( _sm , _smZxab )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmZxabZx_Za , SmZxabZx_Xa , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t3 | _sm.t5 | _sm.t7 | _sm.t9 | _sm.t12 | _sm.t14 | _sm.t16 | _sm.t4 | _sm.t6 | _sm.t8 | _sm.t11 | _sm.t13 | _sm.t15 | _sm.t17 : null;
       _sm.t10 | _sm.t1 : SmZxabZx_Xa;
       _smZxab.state = SmZxab_Zx & state = null : SmZxabZx_Za;
       TRUE : state;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSmGe --
MODULE BigStateMachineTestSmGe ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmGe_Ga , SmGe_Ea , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t3 | _sm.t6 | _sm.t9 | _sm.t11 | _sm.t17 | _sm.t1 | _sm.t4 | _sm.t7 | _sm.t10 | _sm.t14 | _sm.t18 : null;
       _sm.t12 | _sm.t19 | _sm.t15 | _sm.t20 : SmGe_Ga;
       _sm.t16 | _sm.t8 | _sm.t13 | _sm.t5 | _sm.t2 : SmGe_Ea;
       _sm.state = Sm_Ge & state = null : SmGe_Ga;
       TRUE : state;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSm_Machine --
MODULE BigStateMachineTestSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     bigStateMachineTestSm : BigStateMachineTestSm( bigStateMachineTestSmZxab , bigStateMachineTestSmZxabZx , bigStateMachineTestSmGe );
     bigStateMachineTestSmZxab : BigStateMachineTestSmZxab( bigStateMachineTestSm );
     bigStateMachineTestSmZxabZx : BigStateMachineTestSmZxabZx( bigStateMachineTestSm , bigStateMachineTestSmZxab );
     bigStateMachineTestSmGe : BigStateMachineTestSmGe( bigStateMachineTestSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     bigStateMachineTestSm_Machine : BigStateMachineTestSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Zxab )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Da )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Ge )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Zx )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Aa )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Ba )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_Za )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_Xa )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_Ga )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_Ea )

-- This file is generated from Test.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for BookingState --
MODULE BookingState

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed };
     event : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_cance | event = ev_assignSeat | event = ev_cancel | event = ev_checkIn | event = ev_complete );
     t1 := event = ev_assignSeat & state = State_newBooking;
     t2 := event = ev_cancel & state = State_newBooking;
     t3 := event = ev_cancel & state = State_seatAssigned;
     t4 := event = ev_checkIn & state = State_seatAssigned;
     t5 := event = ev_cance & state = State_seatAssigned;
     t6 := event = ev_cancel & state = State_checkedIn;
     t7 := event = ev_complete & state = State_checkedIn;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_newBooking;
     next( state ) := case
       t1 : State_seatAssigned;
       t4 : State_checkedIn;
       t2 | t5 | t3 | t6 : State_cancelled;
       t7 : State_completed;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_cancel , ev_cance , ev_checkIn , ev_assignSeat , ev_complete };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for BookingState_Machine --
MODULE BookingState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     bookingState : BookingState;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     bookingState_Machine : BookingState_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_newBooking )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_seatAssigned )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_checkedIn )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_cancelled )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_completed )

-- This file is generated from ExampleFile1.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for BookingState --
MODULE BookingState

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_newBooking , State_seatAssigned , State_checkedIn , State_cancelled , State_completed };
     event : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_cancel | event = ev_assignSeat | event = ev_checkIn | event = ev_complete );
     t1 := event = ev_assignSeat & state = State_newBooking;
     t2 := event = ev_cancel & state = State_newBooking;
     t3 := event = ev_cancel & state = State_seatAssigned;
     t4 := event = ev_checkIn & state = State_seatAssigned;
     t5 := event = ev_cancel & state = State_checkedIn;
     t6 := event = ev_complete & state = State_checkedIn;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_newBooking;
     next( state ) := case
       t1 : State_seatAssigned;
       t4 : State_checkedIn;
       t3 | t2 | t5 : State_cancelled;
       t6 : State_completed;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_cancel , ev_checkIn , ev_assignSeat , ev_complete };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for BookingState_Machine --
MODULE BookingState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     bookingState : BookingState;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     bookingState_Machine : BookingState_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_newBooking )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_seatAssigned )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_checkedIn )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_cancelled )
   CTLSPEC   EF( bookingState_Machine.bookingState.state = State_completed )

-- This file is generated from ExampleFile2.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for LockLockState --
MODULE LockLockState

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { LockState_BothDoorsClosedLockFull , LockState_OpeningUpperGate , LockState_UpperGateOpen , LockState_ClosingUpperGate , LockState_LoweringWater , LockState_BothDoorsClosedLockEmpty , LockState_OpeningLowerGate , LockState_LowerGateOpen , LockState_ClosingLowerGate , LockState_RaisingWater };
     event : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes , ev_null };
     boatGoingDown : boolean;
     boatGoingUp : boolean;
     boatBlockingGate : boolean;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     lockState_stable :=  !( event = ev_boatRequestsToEnterAndGoDown | event = ev_boatInLockRequestingToGoDown | event = ev_upperGateFullyOpen | event = ev_boatInLockRequestingToGoUp | event = ev_boatRequestsToEnterAndGoUp | event = ev_upperGateFullyClosed | event = ev_waterLevelMatchesUpStream | event = ev_lowerGateFullyClosed | event = ev_lowerGateFullyOpen | event = ev_waterLevelMatchesDownStream | event = ev_after3minutes );
     t1 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockFull;
     t2 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockFull;
     t3 := event = ev_upperGateFullyOpen & state = LockState_OpeningUpperGate;
     t4 := event = ev_boatInLockRequestingToGoDown & state = LockState_UpperGateOpen;
     t5 := event = ev_after3minutes & state = LockState_UpperGateOpen & g1;
     t6 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g2;
     t7 := event = ev_upperGateFullyClosed & state = LockState_ClosingUpperGate & g3;
     t8 := event = ev_waterLevelMatchesDownStream & state = LockState_LoweringWater;
     t9 := event = ev_boatRequestsToEnterAndGoUp & state = LockState_BothDoorsClosedLockEmpty;
     t10 := event = ev_boatRequestsToEnterAndGoDown & state = LockState_BothDoorsClosedLockEmpty;
     t11 := event = ev_lowerGateFullyOpen & state = LockState_OpeningLowerGate;
     t12 := event = ev_boatInLockRequestingToGoUp & state = LockState_LowerGateOpen;
     t13 := event = ev_after3minutes & state = LockState_LowerGateOpen & g1;
     t14 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g4;
     t15 := event = ev_lowerGateFullyClosed & state = LockState_ClosingLowerGate & g5;
     t16 := event = ev_waterLevelMatchesUpStream & state = LockState_RaisingWater;
     g1 := !boatBlockingGate;
     g2 := boatGoingDown;
     g3 := !boatGoingDown;
     g4 := boatGoingUp;
     g5 := !boatGoingUp;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := LockState_BothDoorsClosedLockFull;
     next( state ) := case
       t7 : LockState_BothDoorsClosedLockFull;
       t1 | t16 : LockState_OpeningUpperGate;
       t3 : LockState_UpperGateOpen;
       t4 | t5 : LockState_ClosingUpperGate;
       t2 | t6 : LockState_LoweringWater;
       t15 : LockState_BothDoorsClosedLockEmpty;
       t8 | t9 : LockState_OpeningLowerGate;
       t11 : LockState_LowerGateOpen;
       t12 | t13 : LockState_ClosingLowerGate;
       t10 | t14 : LockState_RaisingWater;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       lockState_stable : { ev_upperGateFullyClosed , ev_boatRequestsToEnterAndGoDown , ev_waterLevelMatchesUpStream , ev_boatInLockRequestingToGoDown , ev_lowerGateFullyClosed , ev_upperGateFullyOpen , ev_lowerGateFullyOpen , ev_boatInLockRequestingToGoUp , ev_waterLevelMatchesDownStream , ev_boatRequestsToEnterAndGoUp , ev_after3minutes };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "boatGoingDown" of this NuSMV module --
   ASSIGN
     init( boatGoingDown ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "boatGoingUp" of this NuSMV module --
   ASSIGN
     init( boatGoingUp ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "boatBlockingGate" of this NuSMV module --
   ASSIGN
     init( boatBlockingGate ) := FALSE;

-- This defines a NuSMV module for LockLockState_Machine --
MODULE LockLockState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     lockLockState : LockLockState;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     lockLockState_Machine : LockLockState_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( lockLockState_Machine.lockLockState.t6 & lockLockState_Machine.lockLockState.t7 -> next( lockLockState_Machine.lockLockState.state = LockState_LoweringWater & lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockFull ) )
   INVARSPEC   ( lockLockState_Machine.lockLockState.t14 & lockLockState_Machine.lockLockState.t15 -> next( lockLockState_Machine.lockLockState.state = LockState_RaisingWater & lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockFull )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_OpeningUpperGate )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_UpperGateOpen )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_ClosingUpperGate )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_LoweringWater )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_BothDoorsClosedLockEmpty )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_OpeningLowerGate )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_LowerGateOpen )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_ClosingLowerGate )
   CTLSPEC   EF( lockLockState_Machine.lockLockState.state = LockState_RaisingWater )

-- This file is generated from Elevator.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ElevatorElevator_state_machine --
MODULE ElevatorElevator_state_machine ( _elevator_state_machinePrepareUp , _elevator_state_machinePrepareDown , _elevator_state_machineInMotion , _elevator_state_machineOnFloor )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Elevator_state_machine_Idle , Elevator_state_machine_PrepareUp , Elevator_state_machine_PrepareDown , Elevator_state_machine_InMotion , Elevator_state_machine_OnFloor };
     event : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_doorCLosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest , ev_null };
     timer : integer;
     floorRequested : boolean;
     obstruction : boolean;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     elevator_state_machine_stable :=  !( event = ev_stopped | event = ev_upRequest | event = ev_doorCLosed | event = ev_approachedFloor | event = ev_approachingFloor | event = ev_doorOpeningRequest | event = ev_doorClosingRequest | event = ev_obstruction | event = ev_doorClosed | event = ev_started | event = ev_downRequest | event = ev_doorOpened | event = ev_timeoutAtFloorToDoorClosing | event = ev_noRequest );
     t1 := event = ev_upRequest & state = Elevator_state_machine_Idle;
     t2 := event = ev_downRequest & state = Elevator_state_machine_Idle;
     t3 := event = ev_started & state = Elevator_state_machine_PrepareUp;
     t4 := event = ev_started & state = Elevator_state_machine_PrepareDown;
     t5 := event = ev_doorClosed & _elevator_state_machinePrepareUp.state = Elevator_state_machinePrepareUp_DoorClosingMovingUp;
     t6 := event = ev_doorClosed & _elevator_state_machinePrepareDown.state = Elevator_state_machinePrepareDown_DoorClosingMovingDown;
     t7 := event = ev_approachingFloor & _elevator_state_machineInMotion.state = Elevator_state_machineInMotion_Moving & g1;
     t8 := event = ev_approachedFloor & _elevator_state_machineInMotion.state = Elevator_state_machineInMotion_Moving & g2;
     t9 := event = ev_stopped & _elevator_state_machineInMotion.state = Elevator_state_machineInMotion_Stopping;
     t10 := event = ev_doorOpened & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorOpening;
     t11 := event = ev_timeoutAtFloorToDoorClosing & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_AtFloor & g3;
     t12 := event = ev_doorClosingRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_AtFloor;
     t13 := event = ev_doorCLosed & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing;
     t14 := event = ev_obstruction & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing;
     t15 := event = ev_doorOpeningRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing;
     t16 := event = ev_upRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination;
     t17 := event = ev_downRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination;
     t18 := event = ev_noRequest & _elevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination;
     g1 := !floorRequested;
     g2 := floorRequested;
     g3 := !obstruction;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Elevator_state_machine_Idle;
     next( state ) := case
       t18 : Elevator_state_machine_Idle;
       t1 | t16 : Elevator_state_machine_PrepareUp;
       t2 | t17 : Elevator_state_machine_PrepareDown;
       t5 | t3 | t7 | t6 | t4 | t8 : Elevator_state_machine_InMotion;
       t14 | t10 | t12 | t9 | t15 | t11 | t13 : Elevator_state_machine_OnFloor;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       elevator_state_machine_stable : { ev_stopped , ev_obstruction , ev_upRequest , ev_doorClosed , ev_doorCLosed , ev_started , ev_approachedFloor , ev_downRequest , ev_approachingFloor , ev_doorOpened , ev_doorOpeningRequest , ev_timeoutAtFloorToDoorClosing , ev_doorClosingRequest , ev_noRequest };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "timer" of this NuSMV module --
   ASSIGN
     init( timer ) := 100;

   -- This part defines logic for the assignment of values to state variable "floorRequested" of this NuSMV module --
   ASSIGN
     init( floorRequested ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "obstruction" of this NuSMV module --
   ASSIGN
     init( obstruction ) := FALSE;

-- This defines a NuSMV module for ElevatorElevator_state_machinePrepareUp --
MODULE ElevatorElevator_state_machinePrepareUp ( _elevator_state_machine )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Elevator_state_machinePrepareUp_DoorClosingMovingUp , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _elevator_state_machine.t1 | _elevator_state_machine.t3 | _elevator_state_machine.t5 | _elevator_state_machine.t7 | _elevator_state_machine.t9 | _elevator_state_machine.t11 | _elevator_state_machine.t13 | _elevator_state_machine.t15 | _elevator_state_machine.t17 | _elevator_state_machine.t2 | _elevator_state_machine.t4 | _elevator_state_machine.t6 | _elevator_state_machine.t8 | _elevator_state_machine.t10 | _elevator_state_machine.t12 | _elevator_state_machine.t14 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
       _elevator_state_machine.state = Elevator_state_machine_PrepareUp & state = null : Elevator_state_machinePrepareUp_DoorClosingMovingUp;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ElevatorElevator_state_machinePrepareDown --
MODULE ElevatorElevator_state_machinePrepareDown ( _elevator_state_machine )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Elevator_state_machinePrepareDown_DoorClosingMovingDown , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _elevator_state_machine.t1 | _elevator_state_machine.t3 | _elevator_state_machine.t5 | _elevator_state_machine.t7 | _elevator_state_machine.t9 | _elevator_state_machine.t11 | _elevator_state_machine.t13 | _elevator_state_machine.t15 | _elevator_state_machine.t17 | _elevator_state_machine.t2 | _elevator_state_machine.t4 | _elevator_state_machine.t6 | _elevator_state_machine.t8 | _elevator_state_machine.t10 | _elevator_state_machine.t12 | _elevator_state_machine.t14 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
       _elevator_state_machine.state = Elevator_state_machine_PrepareDown & state = null : Elevator_state_machinePrepareDown_DoorClosingMovingDown;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ElevatorElevator_state_machineInMotion --
MODULE ElevatorElevator_state_machineInMotion ( _elevator_state_machine )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Elevator_state_machineInMotion_Moving , Elevator_state_machineInMotion_Stopping , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _elevator_state_machine.t1 | _elevator_state_machine.t5 | _elevator_state_machine.t9 | _elevator_state_machine.t11 | _elevator_state_machine.t13 | _elevator_state_machine.t15 | _elevator_state_machine.t17 | _elevator_state_machine.t2 | _elevator_state_machine.t6 | _elevator_state_machine.t10 | _elevator_state_machine.t12 | _elevator_state_machine.t14 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
       _elevator_state_machine.t4 | _elevator_state_machine.t3 | _elevator_state_machine.t7 : Elevator_state_machineInMotion_Moving;
       _elevator_state_machine.t8 : Elevator_state_machineInMotion_Stopping;
       _elevator_state_machine.state = Elevator_state_machine_InMotion & state = null : Elevator_state_machineInMotion_Moving;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ElevatorElevator_state_machineOnFloor --
MODULE ElevatorElevator_state_machineOnFloor ( _elevator_state_machine )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Elevator_state_machineOnFloor_DoorOpening , Elevator_state_machineOnFloor_AtFloor , Elevator_state_machineOnFloor_DoorClosing , Elevator_state_machineOnFloor_CheckingNextDestination , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _elevator_state_machine.t2 | _elevator_state_machine.t4 | _elevator_state_machine.t6 | _elevator_state_machine.t8 | _elevator_state_machine.t17 | _elevator_state_machine.t1 | _elevator_state_machine.t3 | _elevator_state_machine.t5 | _elevator_state_machine.t7 | _elevator_state_machine.t16 | _elevator_state_machine.t18 : null;
       _elevator_state_machine.t14 | _elevator_state_machine.t9 | _elevator_state_machine.t15 : Elevator_state_machineOnFloor_DoorOpening;
       _elevator_state_machine.t10 : Elevator_state_machineOnFloor_AtFloor;
       _elevator_state_machine.t11 | _elevator_state_machine.t12 : Elevator_state_machineOnFloor_DoorClosing;
       _elevator_state_machine.t13 : Elevator_state_machineOnFloor_CheckingNextDestination;
       _elevator_state_machine.state = Elevator_state_machine_OnFloor & state = null : Elevator_state_machineOnFloor_DoorOpening;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ElevatorElevator_state_machine_Machine --
MODULE ElevatorElevator_state_machine_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     elevatorElevator_state_machine : ElevatorElevator_state_machine( elevatorElevator_state_machinePrepareUp , elevatorElevator_state_machinePrepareDown , elevatorElevator_state_machineInMotion , elevatorElevator_state_machineOnFloor );
     elevatorElevator_state_machinePrepareUp : ElevatorElevator_state_machinePrepareUp( elevatorElevator_state_machine );
     elevatorElevator_state_machinePrepareDown : ElevatorElevator_state_machinePrepareDown( elevatorElevator_state_machine );
     elevatorElevator_state_machineInMotion : ElevatorElevator_state_machineInMotion( elevatorElevator_state_machine );
     elevatorElevator_state_machineOnFloor : ElevatorElevator_state_machineOnFloor( elevatorElevator_state_machine );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     elevatorElevator_state_machine_Machine : ElevatorElevator_state_machine_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_Idle )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareUp )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_PrepareDown )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_InMotion )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machine.state = Elevator_state_machine_OnFloor )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machinePrepareUp.state = Elevator_state_machinePrepareUp_DoorClosingMovingUp )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machinePrepareDown.state = Elevator_state_machinePrepareDown_DoorClosingMovingDown )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineInMotion.state = Elevator_state_machineInMotion_Moving )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineInMotion.state = Elevator_state_machineInMotion_Stopping )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorOpening )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_AtFloor )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_DoorClosing )
   CTLSPEC   EF( elevatorElevator_state_machine_Machine.elevatorElevator_state_machineOnFloor.state = Elevator_state_machineOnFloor_CheckingNextDestination )

-- This file is generated from ConstantTest.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for CruiseControlSystemSm --
MODULE CruiseControlSystemSm

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_a , ev_null };
     c : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_a );
     t1 := event = ev_a & state = Sm_s1;
     aa := 5;
     bb := 5;
     cc := 5.00;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t1 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_a };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
   ASSIGN
     init( c ) := 0;

-- This defines a NuSMV module for CruiseControlSystemSm_Machine --
MODULE CruiseControlSystemSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     cruiseControlSystemSm : CruiseControlSystemSm;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     cruiseControlSystemSm_Machine : CruiseControlSystemSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s1 )
   CTLSPEC   EF( cruiseControlSystemSm_Machine.cruiseControlSystemSm.state = Sm_s2 )

-- This file is generated from CourseSection.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for CourseSectionStatus --
MODULE CourseSectionStatus

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Status_Planned , Status_OpenNotEnoughStudents , Status_OpenEnoughStudents , Status_Cancelled , Status_Closed };
     event : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     status_stable :=  !( event = ev_cancel | event = ev_openRegistration | event = ev_classSizeExceedsMaximum | event = ev_classSizeExceedsMinimum | event = ev_requestToRegister | event = ev_closeRegistration );
     t1 := event = ev_cancel & state = Status_Planned;
     t2 := event = ev_openRegistration & state = Status_Planned;
     t3 := event = ev_requestToRegister & state = Status_OpenNotEnoughStudents;
     t4 := event = ev_closeRegistration & state = Status_OpenNotEnoughStudents;
     t5 := event = ev_cancel & state = Status_OpenNotEnoughStudents;
     t6 := event = ev_classSizeExceedsMinimum & state = Status_OpenNotEnoughStudents;
     t7 := event = ev_cancel & state = Status_OpenEnoughStudents;
     t8 := event = ev_requestToRegister & state = Status_OpenEnoughStudents;
     t9 := event = ev_closeRegistration & state = Status_OpenEnoughStudents;
     t10 := event = ev_classSizeExceedsMaximum & state = Status_OpenEnoughStudents;
     t11 := event = ev_cancel & state = Status_Closed;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Status_Planned;
     next( state ) := case
       t2 | t3 : Status_OpenNotEnoughStudents;
       t6 | t8 : Status_OpenEnoughStudents;
       t4 | t7 | t1 | t5 | t11 : Status_Cancelled;
       t9 | t10 : Status_Closed;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       status_stable : { ev_cancel , ev_classSizeExceedsMinimum , ev_openRegistration , ev_requestToRegister , ev_classSizeExceedsMaximum , ev_closeRegistration };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for CourseSectionStatus_Machine --
MODULE CourseSectionStatus_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     courseSectionStatus : CourseSectionStatus;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     courseSectionStatus_Machine : CourseSectionStatus_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Planned )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenNotEnoughStudents )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_OpenEnoughStudents )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Cancelled )
   CTLSPEC   EF( courseSectionStatus_Machine.courseSectionStatus.state = Status_Closed )

-- This file is generated from AdaptiveCruiseControlWithTerminalState.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem --
MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemControlCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControl , _cruiseControlSystemAdaptiveControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystem_adaptiveControlSystem , CruiseControlSystem_terminal };
     event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_term , ev_clearSpeed , ev_on , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     cruiseControlSystem_stable :=  !( event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_clearSpeed | event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_term | event = ev_on );
     t1 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state != null;
     t2 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
     t3 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
     t4 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
     t5 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t6 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t7 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t8 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t9 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t10 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
     t11 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
     t12 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
     t13 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
     t14 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
     t15 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
     t16 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
     t17 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
     t18 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
     t19 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
     t20 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
     t21 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
     t22 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state != null;
     t23 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t24 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t25 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t26 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t27 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
     t28 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
     t29 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
     t30 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
     t31 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t32 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t33 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t34 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t35 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t36 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t37 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t38 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t39 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
     t40 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
     t41 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
     t42 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
     t43 := event = ev_term & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
     t44 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
     t45 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := CruiseControlSystem_adaptiveControlSystem;
     next( state ) := case
       t32 | t34 | t36 | t38 | t45 | t5 | t2 | t4 | t15 | t19 | t6 | t8 | t17 | t11 | t20 | t24 | t29 | t28 | t27 | t42 | t33 | t35 | t37 | t41 | t3 | t10 | t13 | t14 | t18 | t21 | t7 | t9 | t16 | t12 | t23 | t25 | t26 | t30 | t40 | t44 : CruiseControlSystem_adaptiveControlSystem;
       t22 | t39 | t1 | t31 | t43 : CruiseControlSystem_terminal;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_term , ev_clearSpeed , ev_on };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
       _cruiseControlSystem.t3 | _cruiseControlSystem.t10 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t16 | _cruiseControlSystem.t12 | _cruiseControlSystem.t5 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t15 | _cruiseControlSystem.t19 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t17 | _cruiseControlSystem.t11 | _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t22 : null;
       _cruiseControlSystem.t3 | _cruiseControlSystem.t10 | _cruiseControlSystem.t5 | _cruiseControlSystem.t2 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
       _cruiseControlSystem.t4 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
       _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t15 | _cruiseControlSystem.t19 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t17 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
       _cruiseControlSystem.t16 | _cruiseControlSystem.t12 | _cruiseControlSystem.t11 | _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
       _cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t21 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 | _cruiseControlSystem.t1 : null;
       _cruiseControlSystem.t2 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t3 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t21 | _cruiseControlSystem.t2 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 | _cruiseControlSystem.t1 : null;
       _cruiseControlSystem.t4 | _cruiseControlSystem.t14 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t3 | _cruiseControlSystem.t15 | _cruiseControlSystem.t4 : null;
       _cruiseControlSystem.t14 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t19 | _cruiseControlSystem.t21 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 | _cruiseControlSystem.t1 : null;
       _cruiseControlSystem.t7 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
       _cruiseControlSystem.t9 | _cruiseControlSystem.t17 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t18 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t16 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 : null;
       _cruiseControlSystem.t17 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t1 : null;
       _cruiseControlSystem.t11 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
       _cruiseControlSystem.t12 | _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t21 | _cruiseControlSystem.t11 | _cruiseControlSystem.t19 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 : null;
       _cruiseControlSystem.t20 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
       _cruiseControlSystem.t23 | _cruiseControlSystem.t25 | _cruiseControlSystem.t26 | _cruiseControlSystem.t30 | _cruiseControlSystem.t24 | _cruiseControlSystem.t29 | _cruiseControlSystem.t28 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t22 : null;
       _cruiseControlSystem.t23 | _cruiseControlSystem.t25 | _cruiseControlSystem.t24 | _cruiseControlSystem.t29 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
       _cruiseControlSystem.t28 | _cruiseControlSystem.t26 | _cruiseControlSystem.t30 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
       _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
       _cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControl_control , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
       _cruiseControlSystem.t3 | _cruiseControlSystem.t10 | _cruiseControlSystem.t13 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t21 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t16 | _cruiseControlSystem.t12 | _cruiseControlSystem.t23 | _cruiseControlSystem.t25 | _cruiseControlSystem.t26 | _cruiseControlSystem.t30 | _cruiseControlSystem.t5 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t15 | _cruiseControlSystem.t19 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t17 | _cruiseControlSystem.t11 | _cruiseControlSystem.t20 | _cruiseControlSystem.t24 | _cruiseControlSystem.t29 | _cruiseControlSystem.t28 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControl_control;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControl_control;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
       _cruiseControlSystem.t40 | _cruiseControlSystem.t42 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t37 | _cruiseControlSystem.t39 | _cruiseControlSystem.t43 | _cruiseControlSystem.t22 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t36 | _cruiseControlSystem.t38 | _cruiseControlSystem.t41 | _cruiseControlSystem.t45 : null;
       _cruiseControlSystem.t44 : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine --
MODULE CruiseControlSystemCruiseControlSystem_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t40 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t12 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t35 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t6 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t36 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t11 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t37 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t7 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t8 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t41 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t41 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t41 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_terminal )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState )

-- This file is generated from AndCrossFromDeeplyNestedStateCase2.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122State1221State1221 , _stateState1State12State12State122State1222State1222 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_state1 , State_state2 };
     event : { ev_e5 , ev_e6 , ev_e1 , ev_e2 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_e6 | event = ev_e2 | event = ev_e5 | event = ev_e1 | event = ev_e4 );
     t1 := event = ev_e5 & _stateState1State11State11.state != null;
     t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
     t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
     t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state112;
     t5 := event = ev_e5 & _stateState1State12State12.state != null;
     t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
     t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
     t8 := event = ev_e2 & _stateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211;
     t9 := event = ev_e6 & _stateState1State12State12State122State1222State1222.state = StateState1State12State12State122State1222State1222_state12221;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_state1;
     next( state ) := case
       t2 | t9 | t4 | t3 | t8 | t6 | t7 : State_state1;
       t1 | t5 : State_state2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_e5 , ev_e6 , ev_e1 , ev_e2 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t5 | _state.t1 | _state.t4 : null;
       _state.t3 : StateState1State11State11_state111;
       _state.t8 | _state.t2 | _state.t9 : StateState1State11State11_state112;
       _state.state = State_state1 & state = null : StateState1State11State11_state111;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t8 | _state.t5 | _state.t9 : null;
       _state.t4 | _state.t6 | _state.t7 : StateState1State12State12_state122;
       _state.state = State_state1 & state = null : StateState1State12State12_state121;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12State122State1221State1221 --
MODULE AStateState1State12State12State122State1221State1221 ( _state , _stateState1State12State12 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12State122State1221State1221_state12211 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
       _state.t4 | _state.t7 : StateState1State12State12State122State1221State1221_state12211;
       _stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122State1221State1221_state12211;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12State122State1222State1222 --
MODULE AStateState1State12State12State122State1222State1222 ( _state , _stateState1State12State12 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12State122State1222State1222_state12221 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t6 | _state.t9 | _state.t8 | _state.t5 : null;
       _stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122State1222State1222_state12221;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122State1221State1221 , aStateState1State12State12State122State1222State1222 );
     aStateState1State11State11 : AStateState1State11State11( aState );
     aStateState1State12State12 : AStateState1State12State12( aState );
     aStateState1State12State12State122State1221State1221 : AStateState1State12State12State122State1221State1221( aState , aStateState1State12State12 );
     aStateState1State12State12State122State1222State1222 : AStateState1State12State12State122State1222State1222( aState , aStateState1State12State12 );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState_Machine : AState_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 ) )
   INVARSPEC   ( aState_Machine.aState.t4 & aState_Machine.aState.t8 -> next( aState_Machine.aStateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aState_Machine.aState.state = State_state1 )
   CTLSPEC   EF( aState_Machine.aState.state = State_state2 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12State122State1221State1221.state = StateState1State12State12State122State1221State1221_state12211 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12State122State1222State1222.state = StateState1State12State12State122State1222State1222_state12221 )

-- This file is generated from AndCrossFromDeeplyNestedState.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for AState --
MODULE AState ( _stateState1State11State11 , _stateState1State12State12 , _stateState1State12State12State122 , _stateState1State12State12State122State1221 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_state1 , State_state2 };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e5 & _stateState1State11State11.state != null;
     t2 := event = ev_e1 & _stateState1State11State11.state = StateState1State11State11_state111;
     t3 := event = ev_e4 & _stateState1State11State11.state = StateState1State11State11_state112;
     t4 := event = ev_e2 & _stateState1State11State11.state = StateState1State11State11_state112;
     t5 := event = ev_e5 & _stateState1State12State12.state != null;
     t6 := event = ev_e2 & _stateState1State12State12.state = StateState1State12State12_state121;
     t7 := event = ev_e4 & _stateState1State12State12.state = StateState1State12State12_state121;
     t8 := event = ev_e3 & _stateState1State12State12.state = StateState1State12State12_state122;
     t9 := event = ev_e4 & _stateState1State12State12State122.state = StateState1State12State12State122_state1221;
     t10 := event = ev_e2 & _stateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_state1;
     next( state ) := case
       t3 | t10 | t9 | t7 | t2 | t8 | t6 | t4 : State_state1;
       t1 | t5 : State_state2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for AStateState1State11State11 --
MODULE AStateState1State11State11 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State11State11_state111 , StateState1State11State11_state112 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t5 | _state.t1 | _state.t4 : null;
       _state.t3 : StateState1State11State11_state111;
       _state.t2 | _state.t10 : StateState1State11State11_state112;
       _state.state = State_state1 & state = null : StateState1State11State11_state111;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12 --
MODULE AStateState1State12State12 ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12_state121 , StateState1State12State12_state122 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t5 | _state.t1 | _state.t10 : null;
       _state.t8 | _state.t9 : StateState1State12State12_state121;
       _state.t7 | _state.t6 | _state.t4 : StateState1State12State12_state122;
       _state.state = State_state1 & state = null : StateState1State12State12_state121;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12State122 --
MODULE AStateState1State12State12State122 ( _state , _stateState1State12State12 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12State122_state1221 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t8 | _state.t10 | _state.t6 | _state.t9 | _state.t5 : null;
       _state.t7 | _state.t4 : StateState1State12State12State122_state1221;
       _stateState1State12State12.state = StateState1State12State12_state122 & state = null : StateState1State12State12State122_state1221;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AStateState1State12State12State122State1221 --
MODULE AStateState1State12State12State122State1221 ( _state , _stateState1State12State12State122 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateState1State12State12State122State1221_state12211 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t10 | _state.t9 | _state.t8 : null;
       _state.t4 : StateState1State12State12State122State1221_state12211;
       _stateState1State12State12State122.state = StateState1State12State12State122_state1221 & state = null : StateState1State12State12State122State1221_state12211;
       TRUE : state;
     esac;

-- This defines a NuSMV module for AState_Machine --
MODULE AState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState : AState( aStateState1State11State11 , aStateState1State12State12 , aStateState1State12State12State122 , aStateState1State12State12State122State1221 );
     aStateState1State11State11 : AStateState1State11State11( aState );
     aStateState1State12State12 : AStateState1State12State12( aState );
     aStateState1State12State12State122 : AStateState1State12State12State122( aState , aStateState1State12State12 );
     aStateState1State12State12State122State1221 : AStateState1State12State12State122State1221( aState , aStateState1State12State12State122 );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aState_Machine : AState_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( aState_Machine.aState.t4 & aState_Machine.aState.t6 -> next( aState_Machine.aStateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211 & aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 ) )
   INVARSPEC   ( aState_Machine.aState.t4 & aState_Machine.aState.t10 -> next( aState_Machine.aStateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211 & aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aState_Machine.aState.state = State_state1 )
   CTLSPEC   EF( aState_Machine.aState.state = State_state2 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state111 )
   CTLSPEC   EF( aState_Machine.aStateState1State11State11.state = StateState1State11State11_state112 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state121 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12.state = StateState1State12State12_state122 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12State122.state = StateState1State12State12State122_state1221 )
   CTLSPEC   EF( aState_Machine.aStateState1State12State12State122State1221.state = StateState1State12State12State122State1221_state12211 )

-- This file is generated from ArbitraryExample.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for TestSmSm --
MODULE TestSmSm ( _smS2AA , _smS2BB , _smS2CC )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_e1 , ev_e2 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     Sm_stable :=  !( event = ev_e1 | event = ev_e2 );
     t1 := event = ev_e1 & state = Sm_s1;
     t2 := event = ev_e1 & _smS2AA.state = SmS2AA_a1;
     t3 := event = ev_e2 & _smS2AA.state = SmS2AA_a1;
     t4 := event = ev_e1 & _smS2AA.state = SmS2AA_a2;
     t5 := event = ev_e2 & _smS2AA.state = SmS2AA_a2;
     t6 := event = ev_e1 & _smS2AA.state = SmS2AA_a3;
     t7 := event = ev_e2 & _smS2BB.state = SmS2BB_b1;
     t8 := event = ev_e1 & _smS2BB.state = SmS2BB_b1;
     t9 := event = ev_e1 & _smS2BB.state = SmS2BB_b2;
     t10 := event = ev_e1 & _smS2BB.state = SmS2BB_b3;
     t11 := event = ev_e1 & _smS2BB.state = SmS2BB_b4;
     t12 := event = ev_e2 & _smS2BB.state = SmS2BB_b4;
     t13 := event = ev_e1 & _smS2CC.state = SmS2CC_c1;
     t14 := event = ev_e2 & _smS2CC.state = SmS2CC_c1;
     t15 := event = ev_e1 & _smS2CC.state = SmS2CC_c3;
     t16 := event = ev_e2 & _smS2CC.state = SmS2CC_c3;
     t17 := event = ev_e1 & _smS2CC.state = SmS2CC_c4;
     t18 := event = ev_e2 & _smS2CC.state = SmS2CC_c4;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t5 : Sm_s1;
       t6 | t4 | t9 | t12 | t11 | t14 | t17 | t13 | t2 | t3 | t18 | t8 | t7 | t10 | t15 | t1 | t16 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       Sm_stable : { ev_e1 , ev_e2 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for TestSmSmS2AA --
MODULE TestSmSmS2AA ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2AA_a1 , SmS2AA_a2 , SmS2AA_a3 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t5 : null;
       _sm.t2 | _sm.t6 : SmS2AA_a2;
       _sm.t4 | _sm.t3 | _sm.t18 : SmS2AA_a3;
       _sm.state = Sm_s2 & state = null : SmS2AA_a1;
       TRUE : state;
     esac;

-- This defines a NuSMV module for TestSmSmS2BB --
MODULE TestSmSmS2BB ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2BB_b1 , SmS2BB_b2 , SmS2BB_b3 , SmS2BB_b4 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t5 | _sm.t18 : null;
       _sm.t9 : SmS2BB_b1;
       _sm.t8 | _sm.t12 : SmS2BB_b2;
       _sm.t7 | _sm.t11 : SmS2BB_b3;
       _sm.t10 : SmS2BB_b4;
       _sm.state = Sm_s2 & state = null : SmS2BB_b1;
       TRUE : state;
     esac;

-- This defines a NuSMV module for TestSmSmS2CC --
MODULE TestSmSmS2CC ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2CC_c1 , SmS2CC_c2 , SmS2CC_c3 , SmS2CC_c4 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t5 | _sm.t18 : null;
       _sm.t15 | _sm.t14 | _sm.t17 : SmS2CC_c2;
       _sm.t1 | _sm.t13 : SmS2CC_c3;
       _sm.t16 : SmS2CC_c4;
       _sm.state = Sm_s2 & state = null : SmS2CC_c1;
       TRUE : state;
     esac;

-- This defines a NuSMV module for TestSmSm_Machine --
MODULE TestSmSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     testSmSm : TestSmSm( testSmSmS2AA , testSmSmS2BB , testSmSmS2CC );
     testSmSmS2AA : TestSmSmS2AA( testSmSm );
     testSmSmS2BB : TestSmSmS2BB( testSmSm );
     testSmSmS2CC : TestSmSmS2CC( testSmSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     testSmSm_Machine : TestSmSm_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b3 ) )
   INVARSPEC   ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b2 ) )
   INVARSPEC   ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t14 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c2 ) )
   INVARSPEC   ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t16 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c4 ) )
   INVARSPEC   ( testSmSm_Machine.testSmSm.t5 & testSmSm_Machine.testSmSm.t18 -> next( testSmSm_Machine.testSmSm.state = Sm_s1 & testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 ) )
   INVARSPEC   ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t7 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b3 ) )
   INVARSPEC   ( testSmSm_Machine.testSmSm.t18 & testSmSm_Machine.testSmSm.t12 -> next( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 & testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b2 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( testSmSm_Machine.testSmSm.state = Sm_s1 )
   CTLSPEC   EF( testSmSm_Machine.testSmSm.state = Sm_s2 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a1 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a2 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2AA.state = SmS2AA_a3 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b1 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b2 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b3 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2BB.state = SmS2BB_b4 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c1 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c2 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c3 )
   CTLSPEC   EF( testSmSm_Machine.testSmSmS2CC.state = SmS2CC_c4 )

-- This file is generated from AdaptiveCruiseControlSystem.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem --
MODULE CruiseControlSystemCruiseControlSystem ( _cruiseControlSystemAdaptiveControlSystemControlCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , _cruiseControlSystemAdaptiveControlSystemControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , _cruiseControlSystemAdaptiveControlSystemControl , _cruiseControlSystemAdaptiveControlSystemSensorScan , _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , _cruiseControlSystemAdaptiveControlSystemThrottleThrottle )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystem_adaptiveControlSystem , null };
     event : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     cruiseControlSystem_stable :=  !( event = ev_resume | event = ev_accelerator | event = ev_zoom | event = ev_recordSpeed | event = ev_off | event = ev_brake | event = ev_clearSpeed | event = ev_engineOff | event = ev_engineOn | event = ev_enableControl | event = ev_disableControl | event = ev_speed | event = ev_setThrottle | event = ev_on );
     t1 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
     t2 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
     t3 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
     t4 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t5 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t6 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t7 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t8 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
     t9 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
     t10 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
     t11 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
     t12 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
     t13 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
     t14 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
     t15 := event = ev_disableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
     t16 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
     t17 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
     t18 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
     t19 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
     t20 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
     t21 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t22 := event = ev_clearSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t23 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t24 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
     t25 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
     t26 := event = ev_recordSpeed & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
     t27 := event = ev_enableControl & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
     t28 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
     t29 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t30 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t31 := event = ev_on & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t32 := event = ev_off & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t33 := event = ev_resume & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t34 := event = ev_brake & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t35 := event = ev_accelerator & _cruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
     t36 := event = ev_engineOn & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state != null;
     t37 := event = ev_speed & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
     t38 := event = ev_engineOff & _cruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
     t39 := event = ev_setThrottle & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state != null;
     t40 := event = ev_zoom & _cruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := CruiseControlSystem_adaptiveControlSystem;
     next( state ) := case
       t29 | t31 | t33 | t35 | t40 | t4 | t1 | t3 | t14 | t18 | t5 | t7 | t16 | t10 | t19 | t22 | t27 | t26 | t25 | t37 | t30 | t32 | t34 | t38 | t2 | t9 | t12 | t13 | t17 | t20 | t6 | t8 | t15 | t11 | t21 | t23 | t24 | t28 | t36 | t39 : CruiseControlSystem_adaptiveControlSystem;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       cruiseControlSystem_stable : { ev_resume , ev_engineOff , ev_accelerator , ev_engineOn , ev_zoom , ev_enableControl , ev_recordSpeed , ev_disableControl , ev_off , ev_speed , ev_brake , ev_setThrottle , ev_clearSpeed , ev_on };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
       _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
       _cruiseControlSystem.t3 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active;
       _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising;
       _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby;
       _cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
       _cruiseControlSystem.t1 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t1 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t2 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
       _cruiseControlSystem.t3 | _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t2 | _cruiseControlSystem.t14 | _cruiseControlSystem.t3 : null;
       _cruiseControlSystem.t13 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t10 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t17 | _cruiseControlSystem.t19 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t18 | _cruiseControlSystem.t20 : null;
       _cruiseControlSystem.t6 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
       _cruiseControlSystem.t8 | _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t17 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t15 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 : null;
       _cruiseControlSystem.t16 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState , CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t2 | _cruiseControlSystem.t4 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t12 | _cruiseControlSystem.t14 | _cruiseControlSystem.t16 | _cruiseControlSystem.t18 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t9 | _cruiseControlSystem.t13 | _cruiseControlSystem.t15 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 : null;
       _cruiseControlSystem.t10 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
       _cruiseControlSystem.t11 | _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t20 | _cruiseControlSystem.t10 | _cruiseControlSystem.t18 | _cruiseControlSystem.t9 | _cruiseControlSystem.t11 : null;
       _cruiseControlSystem.t19 : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
       _cruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 & state = null : CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
       _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl ( _cruiseControlSystem , _cruiseControlSystemAdaptiveControlSystemControl )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled , CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
       _cruiseControlSystem.t26 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled;
       _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState;
       _cruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control & state = null : CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemControl_control , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
       _cruiseControlSystem.t2 | _cruiseControlSystem.t9 | _cruiseControlSystem.t12 | _cruiseControlSystem.t13 | _cruiseControlSystem.t17 | _cruiseControlSystem.t20 | _cruiseControlSystem.t6 | _cruiseControlSystem.t8 | _cruiseControlSystem.t15 | _cruiseControlSystem.t11 | _cruiseControlSystem.t21 | _cruiseControlSystem.t23 | _cruiseControlSystem.t24 | _cruiseControlSystem.t28 | _cruiseControlSystem.t4 | _cruiseControlSystem.t1 | _cruiseControlSystem.t3 | _cruiseControlSystem.t14 | _cruiseControlSystem.t18 | _cruiseControlSystem.t5 | _cruiseControlSystem.t7 | _cruiseControlSystem.t16 | _cruiseControlSystem.t10 | _cruiseControlSystem.t19 | _cruiseControlSystem.t22 | _cruiseControlSystem.t27 | _cruiseControlSystem.t26 | _cruiseControlSystem.t25 : CruiseControlSystemAdaptiveControlSystemControl_control;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemControl_control;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
       _cruiseControlSystem.t36 | _cruiseControlSystem.t37 : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle --
MODULE CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle ( _cruiseControlSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _cruiseControlSystem.t30 | _cruiseControlSystem.t32 | _cruiseControlSystem.t34 | _cruiseControlSystem.t38 | _cruiseControlSystem.t29 | _cruiseControlSystem.t31 | _cruiseControlSystem.t33 | _cruiseControlSystem.t35 | _cruiseControlSystem.t40 : null;
       _cruiseControlSystem.t39 : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
       _cruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & state = null : CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CruiseControlSystemCruiseControlSystem_Machine --
MODULE CruiseControlSystemCruiseControlSystem_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     cruiseControlSystemCruiseControlSystem : CruiseControlSystemCruiseControlSystem( cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1 : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl( cruiseControlSystemCruiseControlSystem , cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed( cruiseControlSystemCruiseControlSystem );
     cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle : CruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle( cruiseControlSystemCruiseControlSystem );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     cruiseControlSystemCruiseControlSystem_Machine : CruiseControlSystemCruiseControlSystem_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t1 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t29 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t36 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t30 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t3 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t8 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t31 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t11 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t32 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t5 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t33 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t10 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t34 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t6 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t35 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t7 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t2 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t4 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )
   INVARSPEC   ( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t38 & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.t9 -> next( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem & cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystem.state = CruiseControlSystem_adaptiveControlSystem )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseController_cruiseController )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_inactive )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_active )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_cruising )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseController_standby )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerInactive_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActive_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerActiveTempState_tempState_1 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruising_tempState_1 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerCruisingTempState_1_tempState_2 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandby_tempState_1 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1.state = CruiseControlSystemAdaptiveControlSystemControlCruiseControllerCruiseControllerStandbyTempState_1_tempState_2 )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControl_speedControl )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_disabled )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_enabled )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl.state = CruiseControlSystemAdaptiveControlSystemControlSpeedControlSpeedControl_tempState )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemControl.state = CruiseControlSystemAdaptiveControlSystemControl_control )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemSensorScan.state = CruiseControlSystemAdaptiveControlSystemSensorScan_sensorScan )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed.state = CruiseControlSystemAdaptiveControlSystemInputSpeedInputSpeed_checkSpeed )
   CTLSPEC   EF( cruiseControlSystemCruiseControlSystem_Machine.cruiseControlSystemCruiseControlSystemAdaptiveControlSystemThrottleThrottle.state = CruiseControlSystemAdaptiveControlSystemThrottleThrottle_tempState )

-- This file is generated from MultiLevelStateMachineExample.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2 , _smS2S21 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_e1 , ev_e2 , ev_e3 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
     t1 := event = ev_e1 & state = Sm_s1;
     t2 := event = ev_e2 & state = Sm_s1;
     t3 := event = ev_e2 & state = Sm_s2;
     t4 := event = ev_e3 & _smS2.state = SmS2_s21;
     t5 := event = ev_e1 & _smS2S21.state = SmS2S21_s211;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t3 | t1 | t5 : Sm_s1;
       t2 | t4 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e1 , ev_e2 , ev_e3 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ASmS2 --
MODULE ASmS2 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2_s21 , SmS2_s22 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t3 | _sm.t2 | _sm.t5 : null;
       _sm.t4 : SmS2_s22;
       _sm.state = Sm_s2 & state = null : SmS2_s21;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmS2S21 --
MODULE ASmS2S21 ( _sm , _smS2 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2S21_s211 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t5 | _sm.t4 | _sm.t3 : null;
       _smS2.state = SmS2_s21 & state = null : SmS2S21_s211;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm : ASm( aSmS2 , aSmS2S21 );
     aSmS2 : ASmS2( aSm );
     aSmS2S21 : ASmS2S21( aSm , aSmS2 );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm_Machine : ASm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s1 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s2 )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s21 )
   CTLSPEC   EF( aSm_Machine.aSmS2.state = SmS2_s22 )
   CTLSPEC   EF( aSm_Machine.aSmS2S21.state = SmS2S21_s211 )

-- This file is generated from FurnaceControlSystem.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for HeatingSystemHeatSystem --
MODULE HeatingSystemHeatSystem ( _heatSystemHeatSysHouseRoom , _heatSystemHeatSysHouseRoomRoom , _heatSystemHeatSysHouseRoomRoomNoHeatReq , _heatSystemHeatSysHouseRoomRoomHeatReq , _heatSystemHeatSysHouseController , _heatSystemHeatSysHouseControllerController , _heatSystemHeatSysHouseControllerControllerControllerOn , _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , _heatSystemHeatSysHouse , _heatSystemHeatSysFurnaceFurnace , _heatSystemHeatSysFurnaceFurnaceFurnaceNormal )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystem_heatSys , null };
     event : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 , ev_null };
     tooCold : boolean;
     tooHot : boolean;
     requestHeat : boolean;
     furnaceTimer : integer;
     furnaceStartupTime : integer;
     valvePos : integer;
     waitedForWarm : integer;
     warmUpTimer : integer;
     coolDownTimer : integer;
     waitedForCool : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     heatSystem_stable :=  !( event = ev_t5 | event = ev_furnaceReset | event = ev_furnaceRunning | event = ev_t21 | event = ev_heatSwitchOff | event = ev_t22 | event = ev_activate | event = ev_userReset | event = ev_t17 | event = ev_heatSwitchOn | event = ev_furnaceFault | event = ev_deactivate | event = ev_t20 | event = ev_t23 | event = ev_t24 | event = ev_t15 | event = ev_t18 | event = ev_t19 );
     t1 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat & g1;
     t2 := event = ev_t17 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g2;
     t3 := event = ev_t18 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g3;
     t4 := event = ev_t15 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g4;
     t5 := event = ev_t20 & _heatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat & g5;
     t6 := event = ev_t21 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat & g6;
     t7 := event = ev_t19 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g7;
     t8 := event = ev_t22 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g8;
     t9 := event = ev_t24 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g9;
     t10 := event = ev_t23 & _heatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool & g10;
     t11 := event = ev_heatSwitchOn & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off;
     t12 := event = ev_furnaceFault & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
     t13 := event = ev_heatSwitchOff & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn;
     t14 := event = ev_furnaceReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
     t15 := event = ev_userReset & _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error;
     t16 := event = ev_activate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle & g11;
     t17 := event = ev_deactivate & _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & g12;
     t18 := event = ev_furnaceRunning & _heatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
     t19 := event = ev_furnaceFault & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
     t20 := event = ev_furnaceReset & _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr;
     t21 := event = ev_activate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
     t22 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
     t23 := event = ev_deactivate & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
     t24 := event = ev_t5 & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g13;
     t25 := event = ev_furnaceRunning & _heatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct & g14;
     g1 := tooCold;
     g2 := waitedForWarm < warmUpTimer;
     g3 := valvePos != 2 & warmUpTimer = waitedForWarm;
     g4 := !tooCold;
     g5 := waitedForwarm = warmUpTimer & valvePos = 2 & tooCold;
     g6 := tooHot;
     g7 := waitedForCool = coolDownTimer & valvePos = 0 & tooHot;
     g8 := !tooHot;
     g9 := valvePos != 0 & coolDownTimer = waitedForCool;
     g10 := waitedForCool < coolDownTimer;
     g11 := requestHeat = TRUE;
     g12 := requestHeat = FALSE;
     g13 := furnaceStartupTime < furnaceTimer;
     g14 := furnaceTimer = furnaceStartupTime;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := HeatSystem_heatSys;
     next( state ) := case
       t4 | t2 | t5 | t6 | t10 | t14 | t11 | t16 | t12 | t22 | t25 | t24 | t7 | t1 | t3 | t8 | t9 | t13 | t15 | t17 | t18 | t20 | t23 | t21 | t19 : HeatSystem_heatSys;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       heatSystem_stable : { ev_t5 , ev_heatSwitchOn , ev_furnaceReset , ev_furnaceFault , ev_furnaceRunning , ev_deactivate , ev_t21 , ev_t20 , ev_heatSwitchOff , ev_t23 , ev_t22 , ev_t24 , ev_activate , ev_t15 , ev_userReset , ev_t18 , ev_t17 , ev_t19 };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "tooCold" of this NuSMV module --
   ASSIGN
     init( tooCold ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "tooHot" of this NuSMV module --
   ASSIGN
     init( tooHot ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
   ASSIGN
     init( requestHeat ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
   ASSIGN
     init( furnaceTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "furnaceStartupTime" of this NuSMV module --
   ASSIGN
     init( furnaceStartupTime ) := 0;

   -- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
   ASSIGN
     init( valvePos ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
   ASSIGN
     init( waitedForWarm ) := 0;

   -- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
   ASSIGN
     init( warmUpTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
   ASSIGN
     init( coolDownTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
   ASSIGN
     init( waitedForCool ) := 0;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoom ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoom_room , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoom_room;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseRoom_room;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoom --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoom ( _heatSystem , _heatSystemHeatSysHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoomRoom_noHeatReq , HeatSystemHeatSysHouseRoomRoom_heatReq , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
       _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoom_heatReq;
       _heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseRoomRoom_noHeatReq;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat , HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t5 | _heatSystem.t7 | _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t8 | _heatSystem.t10 : null;
       _heatSystem.t4 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
       _heatSystem.t2 | _heatSystem.t1 | _heatSystem.t3 : HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat;
       _heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq & state = null : HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq --
MODULE HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq ( _heatSystem , _heatSystemHeatSysHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat , HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t5 | _heatSystem.t2 | _heatSystem.t4 | _heatSystem.t7 : null;
       _heatSystem.t8 : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
       _heatSystem.t9 | _heatSystem.t6 | _heatSystem.t10 : HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool;
       _heatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq & state = null : HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseController --
MODULE HeatingSystemHeatSystemHeatSysHouseController ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseController_Controller , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouseController_Controller;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouseController_Controller;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerController --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerController ( _heatSystem , _heatSystemHeatSysHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseControllerController_off , HeatSystemHeatSysHouseControllerController_ControllerOn , HeatSystemHeatSysHouseControllerController_error , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t14 | _heatSystem.t13 | _heatSystem.t15 : HeatSystemHeatSysHouseControllerController_off;
       _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t17 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerController_ControllerOn;
       _heatSystem.t12 : HeatSystemHeatSysHouseControllerController_error;
       _heatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house & state = null : HeatSystemHeatSysHouseControllerController_off;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn ( _heatSystem , _heatSystemHeatSysHouseControllerController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseControllerControllerControllerOn_idle , HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t12 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t13 | _heatSystem.t15 : null;
       _heatSystem.t17 : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
       _heatSystem.t16 | _heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive;
       _heatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn & state = null : HeatSystemHeatSysHouseControllerControllerControllerOn_idle;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive --
MODULE HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive ( _heatSystem , _heatSystemHeatSysHouseControllerControllerControllerOn )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater , HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t16 | _heatSystem.t12 | _heatSystem.t17 | _heatSystem.t13 : null;
       _heatSystem.t18 : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun;
       _heatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive & state = null : HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysHouse --
MODULE HeatingSystemHeatSystemHeatSysHouse ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysHouse_house , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t7 | _heatSystem.t1 | _heatSystem.t3 | _heatSystem.t8 | _heatSystem.t9 | _heatSystem.t13 | _heatSystem.t15 | _heatSystem.t17 | _heatSystem.t18 | _heatSystem.t4 | _heatSystem.t2 | _heatSystem.t5 | _heatSystem.t6 | _heatSystem.t10 | _heatSystem.t14 | _heatSystem.t11 | _heatSystem.t16 | _heatSystem.t12 : HeatSystemHeatSysHouse_house;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysHouse_house;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnace --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnace ( _heatSystem )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysFurnaceFurnace_furnaceNormal , HeatSystemHeatSysFurnaceFurnace_furnaceErr , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t20 | _heatSystem.t23 | _heatSystem.t21 | _heatSystem.t22 | _heatSystem.t25 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
       _heatSystem.t19 : HeatSystemHeatSysFurnaceFurnace_furnaceErr;
       _heatSystem.state = HeatSystem_heatSys & state = null : HeatSystemHeatSysFurnaceFurnace_furnaceNormal;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal --
MODULE HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal ( _heatSystem , _heatSystemHeatSysFurnaceFurnace )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun , HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _heatSystem.t19 | _heatSystem.t20 : null;
       _heatSystem.t22 | _heatSystem.t23 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
       _heatSystem.t25 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun;
       _heatSystem.t21 | _heatSystem.t24 : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct;
       _heatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal & state = null : HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatingSystemHeatSystem_Machine --
MODULE HeatingSystemHeatSystem_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatingSystemHeatSystem : HeatingSystemHeatSystem( heatingSystemHeatSystemHeatSysHouseRoom , heatingSystemHeatSystemHeatSysHouseRoomRoom , heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq , heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq , heatingSystemHeatSystemHeatSysHouseController , heatingSystemHeatSystemHeatSysHouseControllerController , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive , heatingSystemHeatSystemHeatSysHouse , heatingSystemHeatSystemHeatSysFurnaceFurnace , heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal );
     heatingSystemHeatSystemHeatSysHouseRoom : HeatingSystemHeatSystemHeatSysHouseRoom( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysHouseRoomRoom : HeatingSystemHeatSystemHeatSysHouseRoomRoom( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
     heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
     heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq : HeatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseRoomRoom );
     heatingSystemHeatSystemHeatSysHouseController : HeatingSystemHeatSystemHeatSysHouseController( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysHouseControllerController : HeatingSystemHeatSystemHeatSysHouseControllerController( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouse );
     heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerController );
     heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive : HeatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn );
     heatingSystemHeatSystemHeatSysHouse : HeatingSystemHeatSystemHeatSysHouse( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysFurnaceFurnace : HeatingSystemHeatSystemHeatSysFurnaceFurnace( heatingSystemHeatSystem );
     heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal : HeatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal( heatingSystemHeatSystem , heatingSystemHeatSystemHeatSysFurnaceFurnace );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatingSystemHeatSystem_Machine : HeatingSystemHeatSystem_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystem.state = HeatSystem_heatSys )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoom.state = HeatSystemHeatSysHouseRoom_room )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_noHeatReq )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoom.state = HeatSystemHeatSysHouseRoomRoom_heatReq )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_idleNoHeat )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomNoHeatReq.state = HeatSystemHeatSysHouseRoomRoomNoHeatReq_waitForHeat )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_idleHeat )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseRoomRoomHeatReq.state = HeatSystemHeatSysHouseRoomRoomHeatReq_waitForCool )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseController.state = HeatSystemHeatSysHouseController_Controller )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_off )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_ControllerOn )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerController.state = HeatSystemHeatSysHouseControllerController_error )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_idle )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOn.state = HeatSystemHeatSysHouseControllerControllerControllerOn_heaterActive )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_actHeater )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive.state = HeatSystemHeatSysHouseControllerControllerControllerOnHeaterActive_heaterRun )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysHouse.state = HeatSystemHeatSysHouse_house )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceNormal )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnace.state = HeatSystemHeatSysFurnaceFurnace_furnaceErr )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceOff )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceRun )
   CTLSPEC   EF( heatingSystemHeatSystem_Machine.heatingSystemHeatSystemHeatSysFurnaceFurnaceFurnaceNormal.state = HeatSystemHeatSysFurnaceFurnaceFurnaceNormal_furnaceAct )

-- This file is generated from EnhancedBitCounter.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ASm --
MODULE ASm ( _smCounterBit1Bit1 , _smCounterBit2Bit2 , _smCounterStatusStatus , _smCounterStatusStatusCountingBit3Bit3 , _smCounterStatusStatusCountingBit4Bit4 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_stable , Sm_Counter };
     event : { ev_reset , ev_e0 , ev_e1 , ev_e2 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_reset | event = ev_e1 | event = ev_e0 | event = ev_e2 );
     t1 := event = ev_e0 & state = Sm_stable;
     t2 := event = ev_e1 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit11;
     t3 := event = ev_e2 & _smCounterBit1Bit1.state = SmCounterBit1Bit1_Bit12;
     t4 := event = ev_e1 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit21;
     t5 := event = ev_e2 & _smCounterBit2Bit2.state = SmCounterBit2Bit2_Bit22;
     t6 := event = ev_reset & _smCounterStatusStatus.state = SmCounterStatusStatus_Max;
     t7 := event = ev_e1 & _smCounterStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusCountingBit3Bit3_Bit31;
     t8 := event = ev_e2 & _smCounterStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusCountingBit4Bit4_Bit41;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_stable;
     next( state ) := case
       t1 | t2 | t6 | t7 | t3 | t4 | t8 | t5 : Sm_Counter;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_reset , ev_e0 , ev_e1 , ev_e2 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ASmCounterBit1Bit1 --
MODULE ASmCounterBit1Bit1 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmCounterBit1Bit1_Bit11 , SmCounterBit1Bit1_Bit12 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t5 : null;
       _sm.t3 : SmCounterBit1Bit1_Bit11;
       _sm.t2 : SmCounterBit1Bit1_Bit12;
       _sm.state = Sm_Counter & state = null : SmCounterBit1Bit1_Bit11;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmCounterBit2Bit2 --
MODULE ASmCounterBit2Bit2 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmCounterBit2Bit2_Bit21 , SmCounterBit2Bit2_Bit22 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t5 : null;
       _sm.t4 : SmCounterBit2Bit2_Bit22;
       _sm.state = Sm_Counter & state = null : SmCounterBit2Bit2_Bit21;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmCounterStatusStatus --
MODULE ASmCounterStatusStatus ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmCounterStatusStatus_Counting , SmCounterStatusStatus_Max , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 : null;
       _sm.t8 | _sm.t6 | _sm.t7 : SmCounterStatusStatus_Counting;
       _sm.t5 : SmCounterStatusStatus_Max;
       _sm.state = Sm_Counter & state = null : SmCounterStatusStatus_Counting;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmCounterStatusStatusCountingBit3Bit3 --
MODULE ASmCounterStatusStatusCountingBit3Bit3 ( _sm , _smCounterStatusStatus )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmCounterStatusStatusCountingBit3Bit3_Bit31 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 | _sm.t7 : null;
       _sm.t8 : SmCounterStatusStatusCountingBit3Bit3_Bit31;
       _smCounterStatusStatus.state = SmCounterStatusStatus_Counting & state = null : SmCounterStatusStatusCountingBit3Bit3_Bit31;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmCounterStatusStatusCountingBit4Bit4 --
MODULE ASmCounterStatusStatusCountingBit4Bit4 ( _sm , _smCounterStatusStatus )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmCounterStatusStatusCountingBit4Bit4_Bit41 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 | _sm.t8 : null;
       _sm.t7 : SmCounterStatusStatusCountingBit4Bit4_Bit41;
       _smCounterStatusStatus.state = SmCounterStatusStatus_Counting & state = null : SmCounterStatusStatusCountingBit4Bit4_Bit41;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm : ASm( aSmCounterBit1Bit1 , aSmCounterBit2Bit2 , aSmCounterStatusStatus , aSmCounterStatusStatusCountingBit3Bit3 , aSmCounterStatusStatusCountingBit4Bit4 );
     aSmCounterBit1Bit1 : ASmCounterBit1Bit1( aSm );
     aSmCounterBit2Bit2 : ASmCounterBit2Bit2( aSm );
     aSmCounterStatusStatus : ASmCounterStatusStatus( aSm );
     aSmCounterStatusStatusCountingBit3Bit3 : ASmCounterStatusStatusCountingBit3Bit3( aSm , aSmCounterStatusStatus );
     aSmCounterStatusStatusCountingBit4Bit4 : ASmCounterStatusStatusCountingBit4Bit4( aSm , aSmCounterStatusStatus );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm_Machine : ASm_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t3 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Max & aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit11 ) )
   INVARSPEC   ( aSm_Machine.aSm.t5 & aSm_Machine.aSm.t8 -> next( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Max & aSm_Machine.aSmCounterStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusCountingBit3Bit3_Bit31 ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_stable )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_Counter )
   CTLSPEC   EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit11 )
   CTLSPEC   EF( aSm_Machine.aSmCounterBit1Bit1.state = SmCounterBit1Bit1_Bit12 )
   CTLSPEC   EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit21 )
   CTLSPEC   EF( aSm_Machine.aSmCounterBit2Bit2.state = SmCounterBit2Bit2_Bit22 )
   CTLSPEC   EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Counting )
   CTLSPEC   EF( aSm_Machine.aSmCounterStatusStatus.state = SmCounterStatusStatus_Max )
   CTLSPEC   EF( aSm_Machine.aSmCounterStatusStatusCountingBit3Bit3.state = SmCounterStatusStatusCountingBit3Bit3_Bit31 )
   CTLSPEC   EF( aSm_Machine.aSmCounterStatusStatusCountingBit4Bit4.state = SmCounterStatusStatusCountingBit4Bit4_Bit41 )

-- This file is generated from RoomHeatingSystem.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for HeatControlSystemSm --
MODULE HeatControlSystemSm ( _smHeatingSystemHouseRoom , _smHeatingSystemHouseRoomRoom , _smHeatingSystemHouseRoomRoomNoHeatReq , _smHeatingSystemHouseRoomRoomHeatReq , _smHeatingSystemHouseController , _smHeatingSystemHouseControllerController , _smHeatingSystemHouseControllerControllerControllerOn , _smHeatingSystemHouseControllerControllerControllerOnHeaterActive , _smHeatingSystemHouse , _smHeatingSystemFurnaceFurnace , _smHeatingSystemFurnaceFurnaceFurnaceNormal )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_heatingSystem , null };
     event : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault , ev_null };
     furnaceStartUpTime : integer;
     furnaceTimer : integer;
     setTemp : integer;
     actualTemp : integer;
     waitedForWarm : integer;
     warmUpTimer : integer;
     valvePos : integer;
     waitedForCool : integer;
     coolDownTimer : integer;
     furnaceRunning : boolean;
     activate : boolean;
     deactivate : boolean;
     requestHeat : boolean;
     furnaceReset : boolean;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_heatSwitchOff | event = ev_userReset | event = ev_heatSwitchOn | event = ev___autotransition__ | event = ev_furnaceFault );
     t1 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & g1;
     t2 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g2;
     t3 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g3;
     t4 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g4;
     t5 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g5;
     t6 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat & g6;
     t7 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g7;
     t8 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g8;
     t9 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g9;
     t10 := event = ev___autotransition__ & _smHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & g10;
     t11 := event = ev_heatSwitchOn & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_off;
     t12 := event = ev_heatSwitchOff & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn;
     t13 := event = ev_furnaceFault & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn;
     t14 := event = ev_userReset & _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_error;
     t15 := event = ev___autotransition__ & _smHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_idle & g11;
     t16 := event = ev___autotransition__ & _smHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_heaterActive & g12;
     t17 := event = ev___autotransition__ & _smHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater & g13;
     t18 := event = ev_furnaceFault & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormal;
     t19 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceErr & g14;
     t20 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & g15;
     t21 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g16;
     t22 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g17;
     t23 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g18;
     t24 := event = ev___autotransition__ & _smHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun & g16;
     g1 := (setTemp - actualTemp) > 2;
     g2 := waitedForWarm < warmUpTimer;
     g3 := (valvePos != 2) & (waitedForWarm = warmUpTimer);
     g4 := ((setTemp - actualTemp) <= 2);
     g5 := (waitedForWarm = warmUpTimer) & (valvePos = 2) & ((setTemp - actualTemp) > 2);
     g6 := (actualTemp - setTemp) > 2;
     g7 := (valvePos != 0) & (coolDownTimer = waitedForCool);
     g8 := (valvePos = 0) & (coolDownTimer = waitedForCool) & ((actualTemp - setTemp) > 2);
     g9 := waitedForCool < coolDownTimer;
     g10 := ((actualTemp - setTemp) <= 2);
     g11 := requestHeat = TRUE;
     g12 := requestHeat = FALSE;
     g13 := furnaceRunning = TRUE;
     g14 := furnaceReset = TRUE;
     g15 := activate = TRUE;
     g16 := deactivate = TRUE;
     g17 := furnaceStartUpTime < furnaceTimer;
     g18 := furnaceStartUpTime = furnaceTimer;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_heatingSystem;
     next( state ) := case
       t8 | t1 | t3 | t10 | t7 | t12 | t11 | t15 | t13 | t21 | t20 | t23 | t4 | t2 | t5 | t6 | t9 | t14 | t16 | t17 | t19 | t24 | t22 | t18 : Sm_heatingSystem;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "furnaceStartUpTime" of this NuSMV module --
   ASSIGN
     init( furnaceStartUpTime ) := 0;

   -- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
   ASSIGN
     init( furnaceTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "setTemp" of this NuSMV module --
   ASSIGN
     init( setTemp ) := 0;

   -- This part defines logic for the assignment of values to state variable "actualTemp" of this NuSMV module --
   ASSIGN
     init( actualTemp ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
   ASSIGN
     init( waitedForWarm ) := 0;

   -- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
   ASSIGN
     init( warmUpTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
   ASSIGN
     init( valvePos ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
   ASSIGN
     init( waitedForCool ) := 0;

   -- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
   ASSIGN
     init( coolDownTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "furnaceRunning" of this NuSMV module --
   ASSIGN
     init( furnaceRunning ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "activate" of this NuSMV module --
   ASSIGN
     init( activate ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "deactivate" of this NuSMV module --
   ASSIGN
     init( deactivate ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
   ASSIGN
     init( requestHeat ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "furnaceReset" of this NuSMV module --
   ASSIGN
     init( furnaceReset ) := FALSE;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoom --
MODULE HeatControlSystemSmHeatingSystemHouseRoom ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseRoom_room , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t8 | _sm.t1 | _sm.t3 | _sm.t10 | _sm.t7 | _sm.t4 | _sm.t2 | _sm.t5 | _sm.t6 | _sm.t9 : SmHeatingSystemHouseRoom_room;
       _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemHouseRoom_room;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoomRoom --
MODULE HeatControlSystemSmHeatingSystemHouseRoomRoom ( _sm , _smHeatingSystemHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseRoomRoom_noHeatReq , SmHeatingSystemHouseRoomRoom_heatReq , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t4 | _sm.t2 | _sm.t8 | _sm.t1 | _sm.t3 : SmHeatingSystemHouseRoomRoom_noHeatReq;
       _sm.t10 | _sm.t7 | _sm.t5 | _sm.t6 | _sm.t9 : SmHeatingSystemHouseRoomRoom_heatReq;
       _smHeatingSystemHouse.state = SmHeatingSystemHouse_house & state = null : SmHeatingSystemHouseRoomRoom_noHeatReq;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq --
MODULE HeatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq ( _sm , _smHeatingSystemHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat , SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t5 | _sm.t7 | _sm.t9 | _sm.t6 | _sm.t8 | _sm.t10 : null;
       _sm.t4 : SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
       _sm.t2 | _sm.t1 | _sm.t3 : SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat;
       _smHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq & state = null : SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseRoomRoomHeatReq --
MODULE HeatControlSystemSmHeatingSystemHouseRoomRoomHeatReq ( _sm , _smHeatingSystemHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseRoomRoomHeatReq_idleHeat , SmHeatingSystemHouseRoomRoomHeatReq_waitForCool , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t3 | _sm.t5 | _sm.t2 | _sm.t4 | _sm.t8 : null;
       _sm.t10 : SmHeatingSystemHouseRoomRoomHeatReq_idleHeat;
       _sm.t7 | _sm.t6 | _sm.t9 : SmHeatingSystemHouseRoomRoomHeatReq_waitForCool;
       _smHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq & state = null : SmHeatingSystemHouseRoomRoomHeatReq_idleHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseController --
MODULE HeatControlSystemSmHeatingSystemHouseController ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseController_controller , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t14 | _sm.t16 | _sm.t17 | _sm.t12 | _sm.t11 | _sm.t15 | _sm.t13 : SmHeatingSystemHouseController_controller;
       _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemHouseController_controller;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseControllerController --
MODULE HeatControlSystemSmHeatingSystemHouseControllerController ( _sm , _smHeatingSystemHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseControllerController_off , SmHeatingSystemHouseControllerController_controllerOn , SmHeatingSystemHouseControllerController_error , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t12 | _sm.t14 : SmHeatingSystemHouseControllerController_off;
       _sm.t11 | _sm.t15 | _sm.t16 | _sm.t17 : SmHeatingSystemHouseControllerController_controllerOn;
       _sm.t13 : SmHeatingSystemHouseControllerController_error;
       _smHeatingSystemHouse.state = SmHeatingSystemHouse_house & state = null : SmHeatingSystemHouseControllerController_off;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOn --
MODULE HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOn ( _sm , _smHeatingSystemHouseControllerController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseControllerControllerControllerOn_idle , SmHeatingSystemHouseControllerControllerControllerOn_heaterActive , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t11 | _sm.t13 | _sm.t12 | _sm.t14 : null;
       _sm.t16 : SmHeatingSystemHouseControllerControllerControllerOn_idle;
       _sm.t15 | _sm.t17 : SmHeatingSystemHouseControllerControllerControllerOn_heaterActive;
       _smHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn & state = null : SmHeatingSystemHouseControllerControllerControllerOn_idle;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive --
MODULE HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive ( _sm , _smHeatingSystemHouseControllerControllerControllerOn )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater , SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t15 | _sm.t12 | _sm.t16 | _sm.t13 : null;
       _sm.t17 : SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun;
       _smHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_heaterActive & state = null : SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemHouse --
MODULE HeatControlSystemSmHeatingSystemHouse ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemHouse_house , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t4 | _sm.t2 | _sm.t5 | _sm.t6 | _sm.t9 | _sm.t14 | _sm.t16 | _sm.t17 | _sm.t8 | _sm.t1 | _sm.t3 | _sm.t10 | _sm.t7 | _sm.t12 | _sm.t11 | _sm.t15 | _sm.t13 : SmHeatingSystemHouse_house;
       _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemHouse_house;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemFurnaceFurnace --
MODULE HeatControlSystemSmHeatingSystemFurnaceFurnace ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemFurnaceFurnace_furnaceNormal , SmHeatingSystemFurnaceFurnace_furnaceErr , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t19 | _sm.t24 | _sm.t22 | _sm.t21 | _sm.t20 | _sm.t23 : SmHeatingSystemFurnaceFurnace_furnaceNormal;
       _sm.t18 : SmHeatingSystemFurnaceFurnace_furnaceErr;
       _sm.state = Sm_heatingSystem & state = null : SmHeatingSystemFurnaceFurnace_furnaceNormal;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal --
MODULE HeatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal ( _sm , _smHeatingSystemFurnaceFurnace )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff , SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct , SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t18 | _sm.t19 : null;
       _sm.t21 | _sm.t24 : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
       _sm.t20 | _sm.t22 : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct;
       _sm.t23 : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun;
       _smHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormal & state = null : SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm_Machine --
MODULE HeatControlSystemSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatControlSystemSm : HeatControlSystemSm( heatControlSystemSmHeatingSystemHouseRoom , heatControlSystemSmHeatingSystemHouseRoomRoom , heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq , heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq , heatControlSystemSmHeatingSystemHouseController , heatControlSystemSmHeatingSystemHouseControllerController , heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn , heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive , heatControlSystemSmHeatingSystemHouse , heatControlSystemSmHeatingSystemFurnaceFurnace , heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal );
     heatControlSystemSmHeatingSystemHouseRoom : HeatControlSystemSmHeatingSystemHouseRoom( heatControlSystemSm );
     heatControlSystemSmHeatingSystemHouseRoomRoom : HeatControlSystemSmHeatingSystemHouseRoomRoom( heatControlSystemSm , heatControlSystemSmHeatingSystemHouse );
     heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq : HeatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseRoomRoom );
     heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq : HeatControlSystemSmHeatingSystemHouseRoomRoomHeatReq( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseRoomRoom );
     heatControlSystemSmHeatingSystemHouseController : HeatControlSystemSmHeatingSystemHouseController( heatControlSystemSm );
     heatControlSystemSmHeatingSystemHouseControllerController : HeatControlSystemSmHeatingSystemHouseControllerController( heatControlSystemSm , heatControlSystemSmHeatingSystemHouse );
     heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn : HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOn( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseControllerController );
     heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive : HeatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive( heatControlSystemSm , heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn );
     heatControlSystemSmHeatingSystemHouse : HeatControlSystemSmHeatingSystemHouse( heatControlSystemSm );
     heatControlSystemSmHeatingSystemFurnaceFurnace : HeatControlSystemSmHeatingSystemFurnaceFurnace( heatControlSystemSm );
     heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal : HeatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal( heatControlSystemSm , heatControlSystemSmHeatingSystemFurnaceFurnace );

-- This defines a NuSMV module for HeatControlSystemSm1 --
MODULE HeatControlSystemSm1 ( _sm1HeatingSystemHouseRoom , _sm1HeatingSystemHouseRoomRoom , _sm1HeatingSystemHouseRoomRoomNoHeatReq , _sm1HeatingSystemHouseRoomRoomHeatReq , _sm1HeatingSystemHouseController , _sm1HeatingSystemHouseControllerController , _sm1HeatingSystemHouseControllerControllerControllerOn , _sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive , _sm1HeatingSystemHouse , _sm1HeatingSystemFurnaceFurnace , _sm1HeatingSystemFurnaceFurnaceFurnaceNormal )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1_heatingSystem , null };
     event : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault , ev_null };
     furnaceStartUpTime : integer;
     furnaceTimer : integer;
     setTemp : integer;
     actualTemp : integer;
     waitedForWarm : integer;
     warmUpTimer : integer;
     valvePos : integer;
     waitedForCool : integer;
     coolDownTimer : integer;
     furnaceRunning : boolean;
     activate : boolean;
     deactivate : boolean;
     requestHeat : boolean;
     furnaceReset : boolean;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm1_stable :=  !( event = ev_heatSwitchOff | event = ev_userReset | event = ev_heatSwitchOn | event = ev___autotransition__ | event = ev_furnaceFault );
     t1 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & g1;
     t2 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g2;
     t3 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g3;
     t4 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g4;
     t5 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & g5;
     t6 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat & g6;
     t7 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g7;
     t8 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g8;
     t9 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g9;
     t10 := event = ev___autotransition__ & _sm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & g10;
     t11 := event = ev_heatSwitchOn & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_off;
     t12 := event = ev_heatSwitchOff & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn;
     t13 := event = ev_furnaceFault & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn;
     t14 := event = ev_userReset & _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_error;
     t15 := event = ev___autotransition__ & _sm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_idle & g11;
     t16 := event = ev___autotransition__ & _sm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive & g12;
     t17 := event = ev___autotransition__ & _sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater & g13;
     t18 := event = ev_furnaceFault & _sm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceNormal;
     t19 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceErr & g14;
     t20 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & g15;
     t21 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g16;
     t22 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g17;
     t23 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & g18;
     t24 := event = ev___autotransition__ & _sm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun & g16;
     g1 := (setTemp - actualTemp) > 2;
     g2 := waitedForWarm < warmUpTimer;
     g3 := (valvePos != 2) & (waitedForWarm = warmUpTimer);
     g4 := ((setTemp - actualTemp) <= 2);
     g5 := (waitedForWarm = warmUpTimer) & (valvePos = 2) & ((setTemp - actualTemp) > 2);
     g6 := (actualTemp - setTemp) > 2;
     g7 := (valvePos != 0) & (coolDownTimer = waitedForCool);
     g8 := (valvePos = 0) & (coolDownTimer = waitedForCool) & ((actualTemp - setTemp) > 2);
     g9 := waitedForCool < coolDownTimer;
     g10 := ((actualTemp - setTemp) <= 2);
     g11 := requestHeat = TRUE;
     g12 := requestHeat = FALSE;
     g13 := furnaceRunning = TRUE;
     g14 := furnaceReset = TRUE;
     g15 := activate = TRUE;
     g16 := deactivate = TRUE;
     g17 := furnaceStartUpTime < furnaceTimer;
     g18 := furnaceStartUpTime = furnaceTimer;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm1_heatingSystem;
     next( state ) := case
       t8 | t1 | t3 | t10 | t7 | t12 | t11 | t15 | t13 | t21 | t20 | t23 | t4 | t2 | t5 | t6 | t9 | t14 | t16 | t17 | t19 | t24 | t22 | t18 : Sm1_heatingSystem;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm1_stable : { ev_heatSwitchOn , ev_heatSwitchOff , ev___autotransition__ , ev_userReset , ev_furnaceFault };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "furnaceStartUpTime" of this NuSMV module --
   ASSIGN
     init( furnaceStartUpTime ) := 0;

   -- This part defines logic for the assignment of values to state variable "furnaceTimer" of this NuSMV module --
   ASSIGN
     init( furnaceTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "setTemp" of this NuSMV module --
   ASSIGN
     init( setTemp ) := 0;

   -- This part defines logic for the assignment of values to state variable "actualTemp" of this NuSMV module --
   ASSIGN
     init( actualTemp ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForWarm" of this NuSMV module --
   ASSIGN
     init( waitedForWarm ) := 0;

   -- This part defines logic for the assignment of values to state variable "warmUpTimer" of this NuSMV module --
   ASSIGN
     init( warmUpTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "valvePos" of this NuSMV module --
   ASSIGN
     init( valvePos ) := 0;

   -- This part defines logic for the assignment of values to state variable "waitedForCool" of this NuSMV module --
   ASSIGN
     init( waitedForCool ) := 0;

   -- This part defines logic for the assignment of values to state variable "coolDownTimer" of this NuSMV module --
   ASSIGN
     init( coolDownTimer ) := 0;

   -- This part defines logic for the assignment of values to state variable "furnaceRunning" of this NuSMV module --
   ASSIGN
     init( furnaceRunning ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "activate" of this NuSMV module --
   ASSIGN
     init( activate ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "deactivate" of this NuSMV module --
   ASSIGN
     init( deactivate ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "requestHeat" of this NuSMV module --
   ASSIGN
     init( requestHeat ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "furnaceReset" of this NuSMV module --
   ASSIGN
     init( furnaceReset ) := FALSE;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoom --
MODULE HeatControlSystemSm1HeatingSystemHouseRoom ( _sm1 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseRoom_room , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t8 | _sm1.t1 | _sm1.t3 | _sm1.t10 | _sm1.t7 | _sm1.t4 | _sm1.t2 | _sm1.t5 | _sm1.t6 | _sm1.t9 : Sm1HeatingSystemHouseRoom_room;
       _sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemHouseRoom_room;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoomRoom --
MODULE HeatControlSystemSm1HeatingSystemHouseRoomRoom ( _sm1 , _sm1HeatingSystemHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseRoomRoom_noHeatReq , Sm1HeatingSystemHouseRoomRoom_heatReq , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t4 | _sm1.t2 | _sm1.t8 | _sm1.t1 | _sm1.t3 : Sm1HeatingSystemHouseRoomRoom_noHeatReq;
       _sm1.t10 | _sm1.t7 | _sm1.t5 | _sm1.t6 | _sm1.t9 : Sm1HeatingSystemHouseRoomRoom_heatReq;
       _sm1HeatingSystemHouse.state = Sm1HeatingSystemHouse_house & state = null : Sm1HeatingSystemHouseRoomRoom_noHeatReq;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq --
MODULE HeatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq ( _sm1 , _sm1HeatingSystemHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat , Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t5 | _sm1.t7 | _sm1.t9 | _sm1.t6 | _sm1.t8 | _sm1.t10 : null;
       _sm1.t4 : Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
       _sm1.t2 | _sm1.t1 | _sm1.t3 : Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat;
       _sm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq & state = null : Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq --
MODULE HeatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq ( _sm1 , _sm1HeatingSystemHouseRoomRoom )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat , Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t1 | _sm1.t3 | _sm1.t5 | _sm1.t2 | _sm1.t4 | _sm1.t8 : null;
       _sm1.t10 : Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat;
       _sm1.t7 | _sm1.t6 | _sm1.t9 : Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool;
       _sm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq & state = null : Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseController --
MODULE HeatControlSystemSm1HeatingSystemHouseController ( _sm1 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseController_controller , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t14 | _sm1.t16 | _sm1.t17 | _sm1.t12 | _sm1.t11 | _sm1.t15 | _sm1.t13 : Sm1HeatingSystemHouseController_controller;
       _sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemHouseController_controller;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseControllerController --
MODULE HeatControlSystemSm1HeatingSystemHouseControllerController ( _sm1 , _sm1HeatingSystemHouse )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseControllerController_off , Sm1HeatingSystemHouseControllerController_controllerOn , Sm1HeatingSystemHouseControllerController_error , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t12 | _sm1.t14 : Sm1HeatingSystemHouseControllerController_off;
       _sm1.t11 | _sm1.t15 | _sm1.t16 | _sm1.t17 : Sm1HeatingSystemHouseControllerController_controllerOn;
       _sm1.t13 : Sm1HeatingSystemHouseControllerController_error;
       _sm1HeatingSystemHouse.state = Sm1HeatingSystemHouse_house & state = null : Sm1HeatingSystemHouseControllerController_off;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn --
MODULE HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn ( _sm1 , _sm1HeatingSystemHouseControllerController )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseControllerControllerControllerOn_idle , Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t11 | _sm1.t13 | _sm1.t12 | _sm1.t14 : null;
       _sm1.t16 : Sm1HeatingSystemHouseControllerControllerControllerOn_idle;
       _sm1.t15 | _sm1.t17 : Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive;
       _sm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn & state = null : Sm1HeatingSystemHouseControllerControllerControllerOn_idle;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive --
MODULE HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive ( _sm1 , _sm1HeatingSystemHouseControllerControllerControllerOn )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater , Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t15 | _sm1.t12 | _sm1.t16 | _sm1.t13 : null;
       _sm1.t17 : Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun;
       _sm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive & state = null : Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemHouse --
MODULE HeatControlSystemSm1HeatingSystemHouse ( _sm1 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemHouse_house , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t4 | _sm1.t2 | _sm1.t5 | _sm1.t6 | _sm1.t9 | _sm1.t14 | _sm1.t16 | _sm1.t17 | _sm1.t8 | _sm1.t1 | _sm1.t3 | _sm1.t10 | _sm1.t7 | _sm1.t12 | _sm1.t11 | _sm1.t15 | _sm1.t13 : Sm1HeatingSystemHouse_house;
       _sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemHouse_house;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemFurnaceFurnace --
MODULE HeatControlSystemSm1HeatingSystemFurnaceFurnace ( _sm1 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemFurnaceFurnace_furnaceNormal , Sm1HeatingSystemFurnaceFurnace_furnaceErr , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t19 | _sm1.t24 | _sm1.t22 | _sm1.t21 | _sm1.t20 | _sm1.t23 : Sm1HeatingSystemFurnaceFurnace_furnaceNormal;
       _sm1.t18 : Sm1HeatingSystemFurnaceFurnace_furnaceErr;
       _sm1.state = Sm1_heatingSystem & state = null : Sm1HeatingSystemFurnaceFurnace_furnaceNormal;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal --
MODULE HeatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal ( _sm1 , _sm1HeatingSystemFurnaceFurnace )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff , Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct , Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm1.t18 | _sm1.t19 : null;
       _sm1.t21 | _sm1.t24 : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
       _sm1.t20 | _sm1.t22 : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct;
       _sm1.t23 : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun;
       _sm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceNormal & state = null : Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff;
       TRUE : state;
     esac;

-- This defines a NuSMV module for HeatControlSystemSm1_Machine --
MODULE HeatControlSystemSm1_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatControlSystemSm1 : HeatControlSystemSm1( heatControlSystemSm1HeatingSystemHouseRoom , heatControlSystemSm1HeatingSystemHouseRoomRoom , heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq , heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq , heatControlSystemSm1HeatingSystemHouseController , heatControlSystemSm1HeatingSystemHouseControllerController , heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn , heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive , heatControlSystemSm1HeatingSystemHouse , heatControlSystemSm1HeatingSystemFurnaceFurnace , heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal );
     heatControlSystemSm1HeatingSystemHouseRoom : HeatControlSystemSm1HeatingSystemHouseRoom( heatControlSystemSm1 );
     heatControlSystemSm1HeatingSystemHouseRoomRoom : HeatControlSystemSm1HeatingSystemHouseRoomRoom( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouse );
     heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq : HeatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseRoomRoom );
     heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq : HeatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseRoomRoom );
     heatControlSystemSm1HeatingSystemHouseController : HeatControlSystemSm1HeatingSystemHouseController( heatControlSystemSm1 );
     heatControlSystemSm1HeatingSystemHouseControllerController : HeatControlSystemSm1HeatingSystemHouseControllerController( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouse );
     heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn : HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseControllerController );
     heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive : HeatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn );
     heatControlSystemSm1HeatingSystemHouse : HeatControlSystemSm1HeatingSystemHouse( heatControlSystemSm1 );
     heatControlSystemSm1HeatingSystemFurnaceFurnace : HeatControlSystemSm1HeatingSystemFurnaceFurnace( heatControlSystemSm1 );
     heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal : HeatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal( heatControlSystemSm1 , heatControlSystemSm1HeatingSystemFurnaceFurnace );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     heatControlSystemSm_Machine : HeatControlSystemSm_Machine;
     heatControlSystemSm1_Machine : HeatControlSystemSm1_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t2 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t4 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t3 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t4 & heatControlSystemSm_Machine.heatControlSystemSm.t5 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t8 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t7 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t9 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t8 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t9 & heatControlSystemSm_Machine.heatControlSystemSm.t10 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t16 & heatControlSystemSm_Machine.heatControlSystemSm.t17 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_idle & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t21 & heatControlSystemSm_Machine.heatControlSystemSm.t22 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t21 & heatControlSystemSm_Machine.heatControlSystemSm.t23 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
   INVARSPEC   ( heatControlSystemSm_Machine.heatControlSystemSm.t22 & heatControlSystemSm_Machine.heatControlSystemSm.t23 -> next( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t2 & heatControlSystemSm1_Machine.heatControlSystemSm1.t4 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t2 & heatControlSystemSm1_Machine.heatControlSystemSm1.t5 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t3 & heatControlSystemSm1_Machine.heatControlSystemSm1.t4 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t3 & heatControlSystemSm1_Machine.heatControlSystemSm1.t5 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t4 & heatControlSystemSm1_Machine.heatControlSystemSm1.t5 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t7 & heatControlSystemSm1_Machine.heatControlSystemSm1.t8 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t7 & heatControlSystemSm1_Machine.heatControlSystemSm1.t10 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t8 & heatControlSystemSm1_Machine.heatControlSystemSm1.t9 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t8 & heatControlSystemSm1_Machine.heatControlSystemSm1.t10 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t9 & heatControlSystemSm1_Machine.heatControlSystemSm1.t10 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t16 & heatControlSystemSm1_Machine.heatControlSystemSm1.t17 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_idle & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t21 & heatControlSystemSm1_Machine.heatControlSystemSm1.t22 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t21 & heatControlSystemSm1_Machine.heatControlSystemSm1.t23 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )
   INVARSPEC   ( heatControlSystemSm1_Machine.heatControlSystemSm1.t22 & heatControlSystemSm1_Machine.heatControlSystemSm1.t23 -> next( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct & heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSm.state = Sm_heatingSystem )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoom.state = SmHeatingSystemHouseRoom_room )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_noHeatReq )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoom.state = SmHeatingSystemHouseRoomRoom_heatReq )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomNoHeatReq.state = SmHeatingSystemHouseRoomRoomNoHeatReq_waitForHeat )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_idleHeat )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseRoomRoomHeatReq.state = SmHeatingSystemHouseRoomRoomHeatReq_waitForCool )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseController.state = SmHeatingSystemHouseController_controller )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_off )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_controllerOn )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerController.state = SmHeatingSystemHouseControllerController_error )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_idle )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOn.state = SmHeatingSystemHouseControllerControllerControllerOn_heaterActive )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouseControllerControllerControllerOnHeaterActive.state = SmHeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemHouse.state = SmHeatingSystemHouse_house )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceNormal )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnace.state = SmHeatingSystemFurnaceFurnace_furnaceErr )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct )
   CTLSPEC   EF( heatControlSystemSm_Machine.heatControlSystemSmHeatingSystemFurnaceFurnaceFurnaceNormal.state = SmHeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1.state = Sm1_heatingSystem )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoom.state = Sm1HeatingSystemHouseRoom_room )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_noHeatReq )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoom.state = Sm1HeatingSystemHouseRoomRoom_heatReq )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_idleNotHeat )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomNoHeatReq.state = Sm1HeatingSystemHouseRoomRoomNoHeatReq_waitForHeat )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_idleHeat )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseRoomRoomHeatReq.state = Sm1HeatingSystemHouseRoomRoomHeatReq_waitForCool )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseController.state = Sm1HeatingSystemHouseController_controller )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_off )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_controllerOn )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerController.state = Sm1HeatingSystemHouseControllerController_error )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_idle )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOn.state = Sm1HeatingSystemHouseControllerControllerControllerOn_heaterActive )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_actHeater )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouseControllerControllerControllerOnHeaterActive.state = Sm1HeatingSystemHouseControllerControllerControllerOnHeaterActive_heaterRun )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemHouse.state = Sm1HeatingSystemHouse_house )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceNormal )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnace.state = Sm1HeatingSystemFurnaceFurnace_furnaceErr )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceOff )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceAct )
   CTLSPEC   EF( heatControlSystemSm1_Machine.heatControlSystemSm1HeatingSystemFurnaceFurnaceFurnaceNormal.state = Sm1HeatingSystemFurnaceFurnaceFurnaceNormal_furnaceRun )

-- This file is generated from CarTransmission.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for CarTransmissionState --
MODULE CarTransmissionState ( _stateDrive )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_neutral , State_reverse , State_drive };
     event : { ev_selectDrive , ev_selectFirst , ev_selectNeutral , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , ev_dropBelowSecondSpeed , ev_selectReverse , ev_dropBelowThirdSpeed , ev_null };
     driveSelected : boolean;
     notdriveSelected : boolean;
     a : integer;
     b : integer;
     c : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_selectFirst | event = ev_reachSecondSpeed | event = ev_reachThirdSpeed | event = ev_selectReverse | event = ev_selectDrive | event = ev_selectNeutral | event = ev_selectSecond | event = ev_dropBelowSecondSpeed | event = ev_dropBelowThirdSpeed );
     t1 := event = ev_selectReverse & state = State_neutral;
     t2 := event = ev_selectDrive & state = State_neutral;
     t3 := event = ev_selectFirst & state = State_neutral;
     t4 := event = ev_selectSecond & state = State_neutral;
     t5 := event = ev_selectNeutral & state = State_reverse;
     t6 := event = ev_selectNeutral & state = State_drive;
     t7 := event = ev_selectFirst & state = State_drive;
     t8 := event = ev_selectSecond & state = State_drive;
     t9 := event = ev_reachSecondSpeed & _stateDrive.state = StateDrive_first & g1;
     t10 := event = ev_reachThirdSpeed & _stateDrive.state = StateDrive_second & g2;
     t11 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g3;
     t12 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g4;
     t13 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g5;
     t14 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g6;
     t15 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g7;
     t16 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g8;
     t17 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g9;
     t18 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g10;
     t19 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g11;
     t20 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g12;
     t21 := event = ev_dropBelowSecondSpeed & _stateDrive.state = StateDrive_second & g13;
     t22 := event = ev_dropBelowThirdSpeed & _stateDrive.state = StateDrive_third & g13;
     t23 := event = ev_dropBelowThirdSpeed & _stateDrive.state = StateDrive_third;
     g1 := driveSelected;
     g2 := !driveSelected;
     g3 := ((a > b) | (driveSelected & ((b < a) | (c >= b))));
     g4 := ((a + c) > b);
     g5 := (a - c) > b;
     g6 := (a - c) > (b + 2);
     g7 := (a - c) > (b * 2);
     g8 := ((a - c) > (b * 2)) & driveSelected;
     g9 := ((a - c) > (b * 2)) | ((a - c) > (b * 2));
     g10 := ((a - c) > (b * 2)) | ((a - c) > (b^2));
     g11 := ((a - c) > (b * 2)) | driveSelected;
     g12 := ((a - c) > (b * 2)) != ((a - c) > (b^2));
     g13 := ((a - c) > (b * 2)) = ((a - c) > (b^2));

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_neutral;
     next( state ) := case
       t5 | t6 : State_neutral;
       t1 : State_reverse;
       t2 | t7 | t12 | t14 | t16 | t18 | t20 | t4 | t9 | t23 | t3 | t11 | t13 | t15 | t17 | t19 | t21 | t8 | t22 | t10 : State_drive;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_selectDrive , ev_selectFirst , ev_selectNeutral , ev_reachSecondSpeed , ev_selectSecond , ev_reachThirdSpeed , ev_dropBelowSecondSpeed , ev_selectReverse , ev_dropBelowThirdSpeed };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "driveSelected" of this NuSMV module --
   ASSIGN
     init( driveSelected ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "notdriveSelected" of this NuSMV module --
   ASSIGN
     init( notdriveSelected ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
   ASSIGN
     init( a ) := 5;

   -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
   ASSIGN
     init( b ) := 3;

   -- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
   ASSIGN
     init( c ) := 2;

-- This defines a NuSMV module for CarTransmissionStateDrive --
MODULE CarTransmissionStateDrive ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateDrive_first , StateDrive_second , StateDrive_third , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t1 | _state.t5 | _state.t2 | _state.t6 : null;
       _state.t7 | _state.t12 | _state.t14 | _state.t16 | _state.t18 | _state.t20 | _state.t3 | _state.t11 | _state.t13 | _state.t15 | _state.t17 | _state.t19 | _state.t21 : StateDrive_first;
       _state.t8 | _state.t22 | _state.t4 | _state.t9 | _state.t23 : StateDrive_second;
       _state.t10 : StateDrive_third;
       _state.state = State_drive & state = null : StateDrive_first;
       TRUE : state;
     esac;

-- This defines a NuSMV module for CarTransmissionState_Machine --
MODULE CarTransmissionState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     carTransmissionState : CarTransmissionState( carTransmissionStateDrive );
     carTransmissionStateDrive : CarTransmissionStateDrive( carTransmissionState );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     carTransmissionState_Machine : CarTransmissionState_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( carTransmissionState_Machine.carTransmissionState.state = State_neutral )
   CTLSPEC   EF( carTransmissionState_Machine.carTransmissionState.state = State_reverse )
   CTLSPEC   EF( carTransmissionState_Machine.carTransmissionState.state = State_drive )
   CTLSPEC   EF( carTransmissionState_Machine.carTransmissionStateDrive.state = StateDrive_first )
   CTLSPEC   EF( carTransmissionState_Machine.carTransmissionStateDrive.state = StateDrive_second )
   CTLSPEC   EF( carTransmissionState_Machine.carTransmissionStateDrive.state = StateDrive_third )

-- This file is generated from OutgoingTransitionOfConcurrentState.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2S21S21 , _smS2S22S22 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e1 & state = Sm_s1;
     t2 := event = ev_e4 & state = Sm_s2;
     t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_a;
     t4 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_b;
     t5 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_b;
     t6 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_c;
     t7 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_c;
     t8 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_d;
     t9 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_d;
     t10 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_d;
     t11 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_e;
     t12 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_f;
     t13 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_f;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t7 | t2 | t13 : Sm_s1;
       t1 | t3 | t4 | t12 | t10 | t5 | t6 | t9 | t8 | t11 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ASmS2S21S21 --
MODULE ASmS2S21S21 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2S21S21_a , SmS2S21S21_b , SmS2S21S21_c , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t7 | _sm.t2 | _sm.t13 : null;
       _sm.t5 : SmS2S21S21_a;
       _sm.t3 | _sm.t6 : SmS2S21S21_b;
       _sm.t4 : SmS2S21S21_c;
       _sm.state = Sm_s2 & state = null : SmS2S21S21_a;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmS2S22S22 --
MODULE ASmS2S22S22 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2S22S22_d , SmS2S22S22_e , SmS2S22S22_f , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t7 | _sm.t2 | _sm.t13 : null;
       _sm.t9 | _sm.t12 : SmS2S22S22_e;
       _sm.t10 | _sm.t8 | _sm.t11 : SmS2S22S22_f;
       _sm.state = Sm_s2 & state = null : SmS2S22S22_d;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm : ASm( aSmS2S21S21 , aSmS2S22S22 );
     aSmS2S21S21 : ASmS2S21S21( aSm );
     aSmS2S22S22 : ASmS2S22S22( aSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm_Machine : ASm_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( aSm_Machine.aSm.t7 & aSm_Machine.aSm.t9 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e ) )
   INVARSPEC   ( aSm_Machine.aSm.t13 & aSm_Machine.aSm.t5 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s1 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s2 )
   CTLSPEC   EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a )
   CTLSPEC   EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_b )
   CTLSPEC   EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_c )
   CTLSPEC   EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_d )
   CTLSPEC   EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e )
   CTLSPEC   EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_f )

-- This file is generated from JavaDataTypes.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ExampleSm --
MODULE ExampleSm

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_e1 , ev_e2 , ev_e3 , ev_null };
     a : integer;
     b : integer;
     c : real;
     d : real;
     e : real;
     h : boolean;
     f : integer;
     g : integer;

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e2 | event = ev_e1 | event = ev_e3 );
     t1 := event = ev_e1 & state = Sm_s1 & g1;
     t2 := event = ev_e2 & state = Sm_s1;
     t3 := event = ev_e3 & state = Sm_s1;
     g1 := h = TRUE;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t2 | t1 | t3 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e1 , ev_e2 , ev_e3 };
       TRUE : ev_null;
     esac;

   -- This part defines logic for the assignment of values to state variable "a" of this NuSMV module --
   ASSIGN
     init( a ) := 10;

   -- This part defines logic for the assignment of values to state variable "b" of this NuSMV module --
   ASSIGN
     init( b ) := 20;

   -- This part defines logic for the assignment of values to state variable "c" of this NuSMV module --
   ASSIGN
     init( c ) := 0.566;

   -- This part defines logic for the assignment of values to state variable "d" of this NuSMV module --
   ASSIGN
     init( d ) := 0.566;

   -- This part defines logic for the assignment of values to state variable "e" of this NuSMV module --
   ASSIGN
     init( e ) := 0.566;

   -- This part defines logic for the assignment of values to state variable "h" of this NuSMV module --
   ASSIGN
     init( h ) := FALSE;

   -- This part defines logic for the assignment of values to state variable "f" of this NuSMV module --
   ASSIGN
     init( f ) := 0;

   -- This part defines logic for the assignment of values to state variable "g" of this NuSMV module --
   ASSIGN
     init( g ) := 0;

-- This defines a NuSMV module for ExampleSm_Machine --
MODULE ExampleSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     exampleSm : ExampleSm;

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     exampleSm_Machine : ExampleSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( exampleSm_Machine.exampleSm.state = Sm_s1 )
   CTLSPEC   EF( exampleSm_Machine.exampleSm.state = Sm_s2 )

-- This file is generated from OutgoingTransitionOfConcurrentStateWithAndCross1.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ASm --
MODULE ASm ( _smS2S21S21 , _smS2S22S22 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_s1 , Sm_s2 };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e1 & state = Sm_s1;
     t2 := event = ev_e4 & state = Sm_s2;
     t3 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_a;
     t4 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_b;
     t5 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_b;
     t6 := event = ev_e3 & _smS2S21S21.state = SmS2S21S21_b;
     t7 := event = ev_e1 & _smS2S21S21.state = SmS2S21S21_c;
     t8 := event = ev_e2 & _smS2S21S21.state = SmS2S21S21_c;
     t9 := event = ev_e5 & _smS2S22S22.state != null;
     t10 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_d;
     t11 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_d;
     t12 := event = ev_e3 & _smS2S22S22.state = SmS2S22S22_d;
     t13 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_e;
     t14 := event = ev_e1 & _smS2S22S22.state = SmS2S22S22_f;
     t15 := event = ev_e2 & _smS2S22S22.state = SmS2S22S22_f;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_s1;
     next( state ) := case
       t2 | t15 | t8 | t9 : Sm_s1;
       t5 | t7 | t6 | t14 | t12 | t1 | t3 | t4 | t11 | t10 | t13 : Sm_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ASmS2S21S21 --
MODULE ASmS2S21S21 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2S21S21_a , SmS2S21S21_b , SmS2S21S21_c , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t8 | _sm.t15 | _sm.t2 | _sm.t9 | _sm.t6 : null;
       _sm.t5 : SmS2S21S21_a;
       _sm.t3 | _sm.t7 : SmS2S21S21_b;
       _sm.t4 : SmS2S21S21_c;
       _sm.state = Sm_s2 & state = null : SmS2S21S21_a;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASmS2S22S22 --
MODULE ASmS2S22S22 ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmS2S22S22_d , SmS2S22S22_e , SmS2S22S22_f , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t9 | _sm.t1 | _sm.t8 | _sm.t15 : null;
       _sm.t11 | _sm.t6 | _sm.t14 : SmS2S22S22_e;
       _sm.t12 | _sm.t10 | _sm.t13 : SmS2S22S22_f;
       _sm.state = Sm_s2 & state = null : SmS2S22S22_d;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ASm_Machine --
MODULE ASm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm : ASm( aSmS2S21S21 , aSmS2S22S22 );
     aSmS2S21S21 : ASmS2S21S21( aSm );
     aSmS2S22S22 : ASmS2S22S22( aSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     aSm_Machine : ASm_Machine;

   -- The following properties are specified to certify that this model is free of non-determinism. 
   INVARSPEC   ( aSm_Machine.aSm.t8 & aSm_Machine.aSm.t11 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e ) )
   INVARSPEC   ( aSm_Machine.aSm.t15 & aSm_Machine.aSm.t5 -> next( aSm_Machine.aSm.state = Sm_s1 & aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a ) )
   INVARSPEC   ( aSm_Machine.aSm.t6 & aSm_Machine.aSm.t12 -> next( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e & aSm_Machine.aSmS2S22S22.state = SmS2S22S22_f ) )

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s1 )
   CTLSPEC   EF( aSm_Machine.aSm.state = Sm_s2 )
   CTLSPEC   EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_a )
   CTLSPEC   EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_b )
   CTLSPEC   EF( aSm_Machine.aSmS2S21S21.state = SmS2S21S21_c )
   CTLSPEC   EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_d )
   CTLSPEC   EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_e )
   CTLSPEC   EF( aSm_Machine.aSmS2S22S22.state = SmS2S22S22_f )

-- This file is generated from BigStateMachineWithNakedTransition.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for BigStateMachineTestSm --
MODULE BigStateMachineTestSm ( _smZxab , _smZxabZx , _smGe )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { Sm_Zxab , Sm_D , Sm_Ge };
     event : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     sm_stable :=  !( event = ev_e1 | event = ev_e3 | event = ev_e5 | event = ev_e2 | event = ev_e4 );
     t1 := event = ev_e1 & state = Sm_Zxab;
     t2 := event = ev_e4 & state = Sm_Zxab;
     t3 := event = ev_e5 & state = Sm_D;
     t4 := event = ev_e2 & state = Sm_D;
     t5 := event = ev_e5 & _smZxab.state = SmZxab_Zx;
     t6 := event = ev_e5 & _smZxab.state = SmZxab_A;
     t7 := event = ev_e3 & _smZxab.state = SmZxab_A;
     t8 := event = ev_e3 & _smZxab.state = SmZxab_B;
     t9 := event = ev_e3 & _smZxabZx.state = SmZxabZx_Z;
     t10 := event = ev_e2 & _smZxabZx.state = SmZxabZx_Z;
     t11 := event = ev_e1 & _smGe.state = SmGe_G;
     t12 := event = ev_e1 & _smGe.state = SmGe_E;
     t13 := event = ev_e2 & _smGe.state = SmGe_E;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := Sm_Zxab;
     next( state ) := case
       t3 | t7 | t9 | t10 | t11 : Sm_Zxab;
       t6 : Sm_D;
       t2 | t12 | t1 | t8 | t5 | t13 | t4 : Sm_Ge;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       sm_stable : { ev_e5 , ev_e1 , ev_e2 , ev_e3 , ev_e4 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSmZxab --
MODULE BigStateMachineTestSmZxab ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmZxab_Zx , SmZxab_A , SmZxab_B , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t1 | _sm.t4 | _sm.t6 | _sm.t12 | _sm.t2 | _sm.t5 | _sm.t8 | _sm.t13 : null;
       _sm.t9 | _sm.t3 : SmZxab_Zx;
       _sm.t10 : SmZxab_A;
       _sm.t7 | _sm.t11 : SmZxab_B;
       _sm.state = Sm_Zxab & state = null : SmZxab_Zx;
       TRUE : state;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSmZxabZx --
MODULE BigStateMachineTestSmZxabZx ( _sm , _smZxab )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmZxabZx_Z , SmZxabZx_X , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t6 | _sm.t8 | _sm.t1 | _sm.t5 | _sm.t7 | _sm.t10 | _sm.t2 : null;
       _sm.t9 | _sm.t3 : SmZxabZx_X;
       _smZxab.state = SmZxab_Zx & state = null : SmZxabZx_Z;
       TRUE : state;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSmGe --
MODULE BigStateMachineTestSmGe ( _sm )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { SmGe_G , SmGe_E , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _sm.t2 | _sm.t6 | _sm.t8 | _sm.t10 | _sm.t3 | _sm.t7 | _sm.t9 | _sm.t11 : null;
       _sm.t12 | _sm.t5 | _sm.t13 : SmGe_G;
       _sm.t1 | _sm.t4 : SmGe_E;
       _sm.state = Sm_Ge & state = null : SmGe_G;
       TRUE : state;
     esac;

-- This defines a NuSMV module for BigStateMachineTestSm_Machine --
MODULE BigStateMachineTestSm_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     bigStateMachineTestSm : BigStateMachineTestSm( bigStateMachineTestSmZxab , bigStateMachineTestSmZxabZx , bigStateMachineTestSmGe );
     bigStateMachineTestSmZxab : BigStateMachineTestSmZxab( bigStateMachineTestSm );
     bigStateMachineTestSmZxabZx : BigStateMachineTestSmZxabZx( bigStateMachineTestSm , bigStateMachineTestSmZxab );
     bigStateMachineTestSmGe : BigStateMachineTestSmGe( bigStateMachineTestSm );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     bigStateMachineTestSm_Machine : BigStateMachineTestSm_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Zxab )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_D )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSm.state = Sm_Ge )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_Zx )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_A )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxab.state = SmZxab_B )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_Z )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmZxabZx.state = SmZxabZx_X )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_G )
   CTLSPEC   EF( bigStateMachineTestSm_Machine.bigStateMachineTestSmGe.state = SmGe_E )

-- This file is generated from concurrentMachineExample.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 modeling language! --


-- This defines a NuSMV module for ExampleState --
MODULE ExampleState ( _stateS1AA , _stateS1BB , _stateS1BBS24 )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { State_s1 , State_s2 };
     event : { ev_e5 , ev_e7 , ev_e11 , ev_e9 , ev_e10 , ev_e1 , ev_e2 , ev_e3 , ev_null };

   -- This part defines macros that summarize the transitions and guards (if any) of the given NuSMV module --
   DEFINE
     state_stable :=  !( event = ev_e5 | event = ev_e11 | event = ev_e10 | event = ev_e2 | event = ev_e7 | event = ev_e9 | event = ev_e1 | event = ev_e3 );
     t1 := event = ev_e2 & _stateS1AA.state = StateS1AA_s11;
     t2 := event = ev_e1 & _stateS1AA.state = StateS1AA_s12;
     t3 := event = ev_e5 & _stateS1BB.state = StateS1BB_s21;
     t4 := event = ev_e7 & _stateS1BB.state = StateS1BB_s22;
     t5 := event = ev_e11 & _stateS1BB.state = StateS1BB_s22;
     t6 := event = ev_e1 & _stateS1BB.state = StateS1BB_s24;
     t7 := event = ev_e3 & _stateS1BB.state = StateS1BB_s24;
     t8 := event = ev_e9 & _stateS1BBS24.state = StateS1BBS24_s31;
     t9 := event = ev_e10 & _stateS1BBS24.state = StateS1BBS24_s31;

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := State_s1;
     next( state ) := case
       t4 | t3 | t8 | t1 | t7 | t5 | t9 : State_s1;
       t2 | t6 : State_s2;
       TRUE : state;
     esac;

   -- This part defines logic for the assignment of values to state variable "event" of this NuSMV module --
   ASSIGN
     init( event ) := ev_null;
     next( event ) := case
       state_stable : { ev_e5 , ev_e7 , ev_e11 , ev_e9 , ev_e10 , ev_e1 , ev_e2 , ev_e3 };
       TRUE : ev_null;
     esac;

-- This defines a NuSMV module for ExampleStateS1AA --
MODULE ExampleStateS1AA ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateS1AA_s11 , StateS1AA_s12 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t2 | _state.t6 : null;
       _state.t1 : StateS1AA_s12;
       _state.state = State_s1 & state = null : StateS1AA_s11;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ExampleStateS1BB --
MODULE ExampleStateS1BB ( _state )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateS1BB_s21 , StateS1BB_s22 , StateS1BB_s24 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t2 | _state.t6 : null;
       _state.t4 | _state.t7 : StateS1BB_s21;
       _state.t3 : StateS1BB_s22;
       _state.t8 | _state.t5 | _state.t9 : StateS1BB_s24;
       _state.state = State_s1 & state = null : StateS1BB_s21;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ExampleStateS1BBS24 --
MODULE ExampleStateS1BBS24 ( _state , _stateS1BB )

   -- This part declares state variables for the given NuSMV module --
   VAR
     state : { StateS1BBS24_s31 , StateS1BBS24_s32 , null };

   -- This part defines logic for the assignment of values to state variable "state" of this NuSMV module --
   ASSIGN
     init( state ) := null;
     next( state ) := case
       _state.t3 | _state.t6 | _state.t4 | _state.t7 : null;
       _state.t5 | _state.t8 : StateS1BBS24_s31;
       _state.t9 : StateS1BBS24_s32;
       _stateS1BB.state = StateS1BB_s24 & state = null : StateS1BBS24_s31;
       TRUE : state;
     esac;

-- This defines a NuSMV module for ExampleState_Machine --
MODULE ExampleState_Machine

   -- This part declares state variables for the given NuSMV module --
   VAR
     exampleState : ExampleState( exampleStateS1AA , exampleStateS1BB , exampleStateS1BBS24 );
     exampleStateS1AA : ExampleStateS1AA( exampleState );
     exampleStateS1BB : ExampleStateS1BB( exampleState );
     exampleStateS1BBS24 : ExampleStateS1BBS24( exampleState , exampleStateS1BB );

-- This defines a NuSMV module for main --
MODULE main

   -- This part declares state variables for the given NuSMV module --
   VAR
     exampleState_Machine : ExampleState_Machine;

   -- The following properties are specified to certify that non-symbolic state(s) of this model is (or are) reachable. 
   CTLSPEC   EF( exampleState_Machine.exampleState.state = State_s1 )
   CTLSPEC   EF( exampleState_Machine.exampleState.state = State_s2 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_s11 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1AA.state = StateS1AA_s12 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s21 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s22 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1BB.state = StateS1BB_s24 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1BBS24.state = StateS1BBS24_s31 )
   CTLSPEC   EF( exampleState_Machine.exampleStateS1BBS24.state = StateS1BBS24_s32 )

-- This file is generated from InputVarTest.ump --

-- PLEASE DO NOT EDIT THIS CODE --
-- This code was generated using the UMPLE 1.31.1.5860.78bb27cc6 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 )