summaryrefslogtreecommitdiff
path: root/cesar/VisualState
diff options
context:
space:
mode:
Diffstat (limited to 'cesar/VisualState')
-rw-r--r--cesar/VisualState/Project1.___117
-rw-r--r--cesar/VisualState/Project1.vdgbin0 -> 247 bytes
-rw-r--r--cesar/VisualState/Project1.vdibin0 -> 247 bytes
-rw-r--r--cesar/VisualState/Project1.vsp62
-rw-r--r--cesar/VisualState/Project1.vtg16
-rw-r--r--cesar/VisualState/Project1.vws117
-rw-r--r--cesar/VisualState/Test_ALL.vlg2230
-rw-r--r--cesar/VisualState/Test_CCO.vlg273
-rw-r--r--cesar/VisualState/Test_INIT_SYSTEM.vlg270
-rw-r--r--cesar/VisualState/Test_POND.vlg487
-rw-r--r--cesar/VisualState/Test_STA.vlg412
-rw-r--r--cesar/VisualState/Test_SmallFSM.vlg366
-rw-r--r--cesar/VisualState/Test_UCCO.vlg200
-rw-r--r--cesar/VisualState/Test_USTA.vlg420
-rw-r--r--cesar/VisualState/Topstate1.vsr52
-rw-r--r--cesar/VisualState/Topstate2.vsr70
-rw-r--r--cesar/VisualState/coder/SEMEDef.h178
-rw-r--r--cesar/VisualState/coder/SEMTypes.h126
-rw-r--r--cesar/VisualState/coder/cesar_cp_PConstant.h25
-rw-r--r--cesar/VisualState/coder/cesar_cp_PEvent.h26
-rw-r--r--cesar/VisualState/coder/main_fsm.c129
-rw-r--r--cesar/VisualState/coder/main_fsm.h47
-rw-r--r--cesar/VisualState/coder/main_fsmAction.h165
-rw-r--r--cesar/VisualState/coder/main_fsmData.c376
-rw-r--r--cesar/VisualState/coder/main_fsmData.h123
-rw-r--r--cesar/VisualState/coder/sta_connection.c54
-rw-r--r--cesar/VisualState/coder/sta_connection.h47
-rw-r--r--cesar/VisualState/coder/sta_connectionAction.h31
-rw-r--r--cesar/VisualState/coder/sta_connectionData.c39
-rw-r--r--cesar/VisualState/coder/sta_connectionData.h74
-rw-r--r--cesar/VisualState/coder/vscoder.cre406
-rw-r--r--cesar/VisualState/create_TestAll.txt10
-rw-r--r--cesar/VisualState/sub/Topstate1.vsr704
-rw-r--r--cesar/VisualState/sub/Topstate1.vsr.bk1704
-rw-r--r--cesar/VisualState/sub/Topstate1.vsr.bk2704
-rw-r--r--cesar/VisualState/sub/Topstate1.vsr.bk3704
-rw-r--r--cesar/VisualState/sub/cp.vnw15
37 files changed, 9779 insertions, 0 deletions
diff --git a/cesar/VisualState/Project1.___ b/cesar/VisualState/Project1.___
new file mode 100644
index 0000000000..7a6c58de49
--- /dev/null
+++ b/cesar/VisualState/Project1.___
@@ -0,0 +1,117 @@
+[Header]
+Filetype=visualSTATE Validator workspace
+Revision=2
+[ProjectSetup]
+ProjectFile=Project1.vsp
+AutoQueue=FALSE
+TimerMsg=TRUE
+PromptActions=TRUE
+main_fsm=00000000010000000000000001
+main_fsm_RL=0000000001000000FFFFFFFFFD
+sta_connection=01000000010000000000000002
+sta_connection_RL=0100000001000000FFFFFFFFFE
+NofBreakPoints=0
+[RealLink Setup]
+Plugin Module=
+Timeout=1852731203
+[Altia Properties]
+Timeout=8000
+Arguments=-xrm Altia*AltiaScene*background:#f7e400
+ResetAtConnect=1
+ResetOnReset=1
+[Altia Event Parameters]
+main_fsm.CCO_TO_UCCO=0
+main_fsm.BEACON_DETECTED=0
+main_fsm.SC_JOIN=0
+main_fsm.CCO_TO_STA=0
+sta_connection.CONNECTION_REQUEST_REFUSED=0
+main_fsm.STA_TO_POND=0
+main_fsm.SC_ADD=0
+main_fsm.AUTHENTIFIE_STA=0
+main_fsm.TO_HANDOVER_IN_PROGRESS=0
+main_fsm.BECOME_PCO=0
+main_fsm.TO_HANDOVER=0
+sta_connection.CONNECTION_REQUEST_ACCEPTED=0
+SE_RESET=0
+main_fsm.BECOME_BACKUP_CCO=0
+main_fsm.HANDOVER_DONE=0
+sta_connection.NEW_CONNECTION=0
+main_fsm.BEACON_TIMER_EXPIRES=0
+main_fsm.LEAVE_BACKUP_CCO=0
+main_fsm.TO_CCO=0
+main_fsm.LEAVE_PCO=0
+main_fsm.USTT_EXPIRES=0
+main_fsm.UNAUTHENTIFIE_STA=0
+main_fsm.POND_TO_STA=0
+main_fsm.POND_TO_UCCO=0
+main_fsm.TO_USTA=0
+main_fsm.SC_TIMER_EXPIRES=0
+sta_connection.CLOSE_CONNECTION=0
+main_fsm.BBT_EXPIRES=0
+[Altia Action Parameters]
+main_fsm.launch_ustt_timer=0
+main_fsm.station_bbt_expires=0
+main_fsm.init_system=0
+main_fsm.transmit_unassoc_sta_mme=0
+main_fsm.launch_beacon_timer=0
+main_fsm.launch_bbt_timer=0
+[Trace Setup]
+Trace To=
+Trace Output=
+[Windows]
+nofSystemWnds=0
+nofEventWnds=0
+nofVariableWnds=0
+nofGuardWnds=0
+nofActionWnds=0
+nofSignalWnds=0
+nofTSF=0
+nofDynamicAnalyzeWnds=0
+nofStaticAnalyzeWnds=0
+[SystemWnd_0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6010000000000004C030000C9010000DD
+RealLink View=Off
+NofTrees=3
+Tree_0_System=main_fsm
+Tree_0_Topstate=Station
+Tree_1_System=sta_connection[0]
+Tree_1_Topstate=Topstate1
+Tree_2_System=sta_connection[1]
+Tree_2_Topstate=Topstate1
+OnlyCurrent=False
+ShowPrevious=False
+[EventWnd_0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFAFFFFFFE0FFFFFF0000000000000000A6010000C90100006A
+RealLink View=Off
+nofColumns=3
+ColumnData_0=00000000610100000100000063
+ColumnData_1=01000000640000000000000065
+ColumnData_2=02000000640000000100000067
+View Active Events=False
+Include Guards=True
+Global=Show
+main_fsm=Show
+sta_connection=Show
+Number of hidden Events=0
+[Test Sequence File 0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000003A000000780400002F02000030
+RealLink View=Off
+CommandColumn=100
+SystemColumn=100
+FileName=Test_ALL.vlg
+ShowStepOutput=True
+Check states=TRUE
+Check actions=TRUE
+Check signals=TRUE
+Check variables=TRUE
+[ActionWnd_0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C03000000000000F2040000C90100002C
+RealLink View=Off
+nofColumns=2
+ColumnData_0=00000000940000000100000095
+ColumnData_1=01000000640000000100000066
+[DynamicAnalyzeWnd_0]
+WindowPlacement=2C0000000200000003000000FFFFFFFFFFFFFFFFFAFFFFFFE0FFFFFF5800000074000000F80400009E01000064
+RealLink View=Off
+[Watch Window]
+Number of items=0
diff --git a/cesar/VisualState/Project1.vdg b/cesar/VisualState/Project1.vdg
new file mode 100644
index 0000000000..406e84f477
--- /dev/null
+++ b/cesar/VisualState/Project1.vdg
Binary files differ
diff --git a/cesar/VisualState/Project1.vdi b/cesar/VisualState/Project1.vdi
new file mode 100644
index 0000000000..86a4bb09f9
--- /dev/null
+++ b/cesar/VisualState/Project1.vdi
Binary files differ
diff --git a/cesar/VisualState/Project1.vsp b/cesar/VisualState/Project1.vsp
new file mode 100644
index 0000000000..43f2ee0178
--- /dev/null
+++ b/cesar/VisualState/Project1.vsp
@@ -0,0 +1,62 @@
+@visualSTATE @Project @Format2 "cesar_cp"
+
+@SCCInfo
+ @Provider = "",
+ @Project = "",
+ @LocalPath = ".",
+ @AuxPath = "";
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2008-02-15;
+ @Time 16:05:36;
+ [[ Colors = "0X000000 0X0000FF 0X00FF00 0XFF0000 0X00FFFF 0XFF00FF 0XFFFF00 0XFFFFFF 0X000080 0X008000 0X800000 0X008080 0X800080 0X808000 0XC0C0C0 0X808080"
+ , DropSignalQueueIfFull = "0", FontEx1 = "-13 400 0 255 \"Arial\"",
+ FontEx2 = "-13 700 0 255 \"Arial\"", FontEx3 = "-11 400 0 255 \"Arial\"",
+ FontEx4 = "-11 700 0 255 \"Arial\"",
+ FontEx5 = "-13 400 0 255 \"Times New Roman\"",
+ FontEx6 = "-13 700 0 255 \"Times New Roman\"",
+ FontEx7 = "-11 400 0 255 \"Times New Roman\"",
+ FontEx8 = "-11 700 0 255 \"Times New Roman\"",
+ FooterLayout = "12 -13 400 0 \"Times New Roman\"", FooterLeft = "&FN",
+ FooterRight = "&PN", HeaderCenter = "&NF",
+ HeaderLayout = "12 -13 400 0 \"Times New Roman\"",
+ PageLayout = "0 1 210 297 0 0 0 0",
+ PrintSpecial = "1 -13 400 0 \"Times New Roman\"",
+ Resolution = "3.779528 3.779528", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]]
+
+
+@System
+ main_fsm
+ [[ NOF_INSTANCES = "1", Pos440 = "10 10 130 130 1835010",
+ SIGNAL_QUEUE_LENGTH = "0",
+ SystemGUID = "77CDBDA0-BC60-44CE-90E0-EDECD2933227",
+ TextDisplayNote = "Preserve", TextDisplayState = "Preserve",
+ TextDisplayTransDesc = "Preserve", View = "2 2 7" ]]
+
+ @File
+ File0 = ".\\sub\\Topstate1.vsr";
+
+ @End,
+
+ sta_connection
+ [[ NOF_INSTANCES = "18", Pos440 = "10 140 130 260 1835010",
+ SIGNAL_QUEUE_LENGTH = "0",
+ SystemGUID = "C5AB0370-4DF9-4B0F-BE31-988D2E6683F6",
+ TextDisplayNote = "Preserve", TextDisplayState = "Preserve",
+ TextDisplayTransDesc = "Preserve", View = "2 2 7" ]]
+
+ @File
+ File0 = ".\\Topstate2.vsr";
+
+ @End;
+
+
+@Declaration
+
+
+@Definition
+
diff --git a/cesar/VisualState/Project1.vtg b/cesar/VisualState/Project1.vtg
new file mode 100644
index 0000000000..a76335f694
--- /dev/null
+++ b/cesar/VisualState/Project1.vtg
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<Configurations CoderOptionsVersion="7">
+
+ <Configuration name="Default">
+ <Tag name="CODER_CMDLINE" value="-api_type1#-api_version4#-cspylink0#-reallinkmode0#-expertDLL0#-cpp0#-warnings_are_errors0#-warnings_affect_exit_code0#-no_warnings0#-limitedlicense#-pathcoder\#-Rvscoder.cre#-geventh$(PRJNAME)_PEvent.h#-gextvarh$(PRJNAME)_PExtVar.h#-gextvarc$(PRJNAME)_PExtVar.c#-G$(PRJNAME)_PConstant.h#-rdfmO#-DO#-iev1#-iiv1#-iss0#-funcexph0#-osm1#-useegti0#-gdef0#-gds0#-useheap1#-tsemt1#-tvsvt1#-c51vs_prj0#-kw_context#-kw_prj_extvar#-c51cs_prj0#-kw_corelogic#-kw_guardexpr#-kw_actionexpr#-kw_runtimeinfo#-kw_rlpd#-userlkw0#-kw_rld#-kw_rlcd#-kw_rlec1"/>
+ <System uid="77CDBDA0-BC60-44CE-90E0-EDECD2933227">
+ <Tag name="CODER_CMDLINE" value="-usepop1#-spathX:\Cesare\cp\fsm_vstate\main_fsm\#-H$(SYSNAME).h#-S$(SYSNAME).c#-L$(SYSNAME)Data.h#-K$(SYSNAME)Data.c#-A$(SYSNAME)Action.h#-F#-extvarh#-extvarc#-M#-B$(SYSNAME).sld#-sysrdfmO#-sysdwO#-constcml1#-constguardfpt1#-constactionfpt1#-og0#-oa0#-useguardtypecast1#-useautovariables1#-struct$(SYSNAME)#-NMainVSAction#-c51vs_sys0#-kw_sys_extvar#-kw_intvar#-kw_dbdata#-txte0#-sne1#-txts0#-sns0#-txta0#-sna0#-snm0#-useapiprefix1#-apiprefix$(SYSNAME)#-semexpl0#-semexplabs0#-semforcestate0#-semgetinputall0#-semgetoutputall0#-seminitall1#-seminquiry0#-semmachine0#-semname0#-semnameabs0#-semnextstatechg0#-semsignalqueueinfo0#-semstate0#-semstateall0#-classname$(SYSNAME)#-removevsnofmacros1#-fullinstrumentation1#-usetracebuffer1#-tracebuffersize2#-targetbreakpoints0"/>
+ <Tag name="VERIFICATOR_CMDLINE" value=""/>
+ </System>
+ <System uid="C5AB0370-4DF9-4B0F-BE31-988D2E6683F6">
+ <Tag name="CODER_CMDLINE" value="-usepop1#-spathX:\Cesare\cp\fsm_vstate\sta_connection_fsm\#-H$(SYSNAME).h#-S$(SYSNAME).c#-L$(SYSNAME)Data.h#-K$(SYSNAME)Data.c#-A$(SYSNAME)Action.h#-F#-extvarh#-extvarc#-M#-B$(SYSNAME).sld#-sysrdfmO#-sysdwO#-constcml1#-constguardfpt1#-constactionfpt1#-og0#-oa0#-useguardtypecast1#-useautovariables1#-struct$(SYSNAME)#-NSTA_ConnectionVSAction#-c51vs_sys0#-kw_sys_extvar#-kw_intvar#-kw_dbdata#-txte0#-sne1#-txts0#-sns0#-txta0#-sna0#-snm0#-useapiprefix1#-apiprefix$(SYSNAME)#-semexpl0#-semexplabs0#-semforcestate0#-semgetinputall0#-semgetoutputall0#-seminitall0#-seminquiry0#-semmachine0#-semname0#-semnameabs0#-semnextstatechg0#-semsignalqueueinfo0#-semstate0#-semstateall0#-classname$(SYSNAME)#-removevsnofmacros1#-fullinstrumentation1#-usetracebuffer1#-tracebuffersize2#-targetbreakpoints0"/>
+ <Tag name="VERIFICATOR_CMDLINE" value=""/>
+ </System>
+ </Configuration>
+
+</Configurations>
diff --git a/cesar/VisualState/Project1.vws b/cesar/VisualState/Project1.vws
new file mode 100644
index 0000000000..7a6c58de49
--- /dev/null
+++ b/cesar/VisualState/Project1.vws
@@ -0,0 +1,117 @@
+[Header]
+Filetype=visualSTATE Validator workspace
+Revision=2
+[ProjectSetup]
+ProjectFile=Project1.vsp
+AutoQueue=FALSE
+TimerMsg=TRUE
+PromptActions=TRUE
+main_fsm=00000000010000000000000001
+main_fsm_RL=0000000001000000FFFFFFFFFD
+sta_connection=01000000010000000000000002
+sta_connection_RL=0100000001000000FFFFFFFFFE
+NofBreakPoints=0
+[RealLink Setup]
+Plugin Module=
+Timeout=1852731203
+[Altia Properties]
+Timeout=8000
+Arguments=-xrm Altia*AltiaScene*background:#f7e400
+ResetAtConnect=1
+ResetOnReset=1
+[Altia Event Parameters]
+main_fsm.CCO_TO_UCCO=0
+main_fsm.BEACON_DETECTED=0
+main_fsm.SC_JOIN=0
+main_fsm.CCO_TO_STA=0
+sta_connection.CONNECTION_REQUEST_REFUSED=0
+main_fsm.STA_TO_POND=0
+main_fsm.SC_ADD=0
+main_fsm.AUTHENTIFIE_STA=0
+main_fsm.TO_HANDOVER_IN_PROGRESS=0
+main_fsm.BECOME_PCO=0
+main_fsm.TO_HANDOVER=0
+sta_connection.CONNECTION_REQUEST_ACCEPTED=0
+SE_RESET=0
+main_fsm.BECOME_BACKUP_CCO=0
+main_fsm.HANDOVER_DONE=0
+sta_connection.NEW_CONNECTION=0
+main_fsm.BEACON_TIMER_EXPIRES=0
+main_fsm.LEAVE_BACKUP_CCO=0
+main_fsm.TO_CCO=0
+main_fsm.LEAVE_PCO=0
+main_fsm.USTT_EXPIRES=0
+main_fsm.UNAUTHENTIFIE_STA=0
+main_fsm.POND_TO_STA=0
+main_fsm.POND_TO_UCCO=0
+main_fsm.TO_USTA=0
+main_fsm.SC_TIMER_EXPIRES=0
+sta_connection.CLOSE_CONNECTION=0
+main_fsm.BBT_EXPIRES=0
+[Altia Action Parameters]
+main_fsm.launch_ustt_timer=0
+main_fsm.station_bbt_expires=0
+main_fsm.init_system=0
+main_fsm.transmit_unassoc_sta_mme=0
+main_fsm.launch_beacon_timer=0
+main_fsm.launch_bbt_timer=0
+[Trace Setup]
+Trace To=
+Trace Output=
+[Windows]
+nofSystemWnds=0
+nofEventWnds=0
+nofVariableWnds=0
+nofGuardWnds=0
+nofActionWnds=0
+nofSignalWnds=0
+nofTSF=0
+nofDynamicAnalyzeWnds=0
+nofStaticAnalyzeWnds=0
+[SystemWnd_0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA6010000000000004C030000C9010000DD
+RealLink View=Off
+NofTrees=3
+Tree_0_System=main_fsm
+Tree_0_Topstate=Station
+Tree_1_System=sta_connection[0]
+Tree_1_Topstate=Topstate1
+Tree_2_System=sta_connection[1]
+Tree_2_Topstate=Topstate1
+OnlyCurrent=False
+ShowPrevious=False
+[EventWnd_0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFAFFFFFFE0FFFFFF0000000000000000A6010000C90100006A
+RealLink View=Off
+nofColumns=3
+ColumnData_0=00000000610100000100000063
+ColumnData_1=01000000640000000000000065
+ColumnData_2=02000000640000000100000067
+View Active Events=False
+Include Guards=True
+Global=Show
+main_fsm=Show
+sta_connection=Show
+Number of hidden Events=0
+[Test Sequence File 0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF2C0000003A000000780400002F02000030
+RealLink View=Off
+CommandColumn=100
+SystemColumn=100
+FileName=Test_ALL.vlg
+ShowStepOutput=True
+Check states=TRUE
+Check actions=TRUE
+Check signals=TRUE
+Check variables=TRUE
+[ActionWnd_0]
+WindowPlacement=2C0000000000000001000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF4C03000000000000F2040000C90100002C
+RealLink View=Off
+nofColumns=2
+ColumnData_0=00000000940000000100000095
+ColumnData_1=01000000640000000100000066
+[DynamicAnalyzeWnd_0]
+WindowPlacement=2C0000000200000003000000FFFFFFFFFFFFFFFFFAFFFFFFE0FFFFFF5800000074000000F80400009E01000064
+RealLink View=Off
+[Watch Window]
+Number of items=0
diff --git a/cesar/VisualState/Test_ALL.vlg b/cesar/VisualState/Test_ALL.vlg
new file mode 100644
index 0000000000..ac2f871ebc
--- /dev/null
+++ b/cesar/VisualState/Test_ALL.vlg
@@ -0,0 +1,2230 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-19 10:17:34
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "50f2 373c b093 6263 4482 fd46"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-14 14:45:24
+ # Modified : 2007-11-19 10:17:07
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER_IN_PROGRESS()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER_IN_PROGRESS,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BECOME_PCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: LEAVE_PCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BECOME_BACKUP_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.BACKUP_CCO,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: LEAVE_BACKUP_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_ADD()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_ADD;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_JOIN()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_JOIN;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_JOIN()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_JOIN;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_ADD;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_MAC_ADDRESS(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_mac_address(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_cco_preference(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_WAS_CCO(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_was_cco(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_NPW_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_npw(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_DPW_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_dpw_req(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_M_STA_HFID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_m_sta_hfid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_U_STA_HFID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_u_sta_hfid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_AVLN_HFID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_avln_hfid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_SL(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_sl(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_TONEMASK(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_tonemask(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_NID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_nid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_SNID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_snid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_STOP_IND()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BBT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ station_bbt_expires();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ transmit_unassoc_sta_mme();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_CNF(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_cnf(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_USTA_MME(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ record_usta_mme(0);
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ transmit_unassoc_sta_mme();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ transmit_unassoc_sta_mme();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_USTA_MME(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_usta_mme(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_CNF(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_cnf(0);
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: UCCO_MAX_DISCOVER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ trace_usta(),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_req(0),
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(0),
+ launch_ustt_timer(),
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: AUTHENTIFIE_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: UNAUTHENTIFIE_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: AUTHENTIFIE_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BECOME_BACKUP_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.BACKUP_CCO,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.BACKUP_CCO,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(0),
+ cp_station_set_cco_status(1),
+ trace_cco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_SET_TEI_MAP_IND(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_set_tei_map_ind(0),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ trace_sta(),
+ cp_station_set_auth_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(0),
+ cp_station_set_cco_status(1),
+ trace_cco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: JOIN_WAIT_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ cp_station_set_assoc_status(0),
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_req(0),
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: JOIN_WAIT_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ cp_station_set_assoc_status(0),
+ launch_ustt_timer(),
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ process_cc_assoc_req(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_SET_TEI_MAP_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ process_cc_set_tei_map_req(0);
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_CCO.vlg b/cesar/VisualState/Test_CCO.vlg
new file mode 100644
index 0000000000..bcc0a0ecec
--- /dev/null
+++ b/cesar/VisualState/Test_CCO.vlg
@@ -0,0 +1,273 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-19 11:45:22
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "e153 19db af6c 4b8c 321e 1a73"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-16 10:07:27
+ # Modified : 2007-11-19 11:45:03
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ trace_sta(),
+ cp_station_set_auth_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(0),
+ cp_station_set_cco_status(1),
+ trace_cco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: JOIN_WAIT_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ cp_station_set_assoc_status(0),
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_req(0),
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: JOIN_WAIT_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ cp_station_set_assoc_status(0),
+ launch_ustt_timer(),
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ process_cc_assoc_req(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_SET_TEI_MAP_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(0),
+ process_cc_set_tei_map_req(0);
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_INIT_SYSTEM.vlg b/cesar/VisualState/Test_INIT_SYSTEM.vlg
new file mode 100644
index 0000000000..ceadc59dbc
--- /dev/null
+++ b/cesar/VisualState/Test_INIT_SYSTEM.vlg
@@ -0,0 +1,270 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2008-01-18 10:28:07
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "ee66 23c2 1343 69b5 6cb6 96b0"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2008-01-18 10:23:11
+ # Modified : 2008-01-18 10:27:33
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_MAC_ADDRESS(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_mac_address(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_cco_preference(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_WAS_CCO(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_was_cco(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_NPW_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_npw(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_DPW_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_dpw_req(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_M_STA_HFID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_m_sta_hfid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_U_STA_HFID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_u_sta_hfid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_AVLN_HFID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_avln_hfid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_SL(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_sl(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_TONEMASK(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_tonemask(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_NID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_nid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_SET_SNID(0)
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_set_snid(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_STOP_IND()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_POND.vlg b/cesar/VisualState/Test_POND.vlg
new file mode 100644
index 0000000000..467ba46d22
--- /dev/null
+++ b/cesar/VisualState/Test_POND.vlg
@@ -0,0 +1,487 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-19 10:21:07
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "50f2 373c b093 6263 4482 fd46"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-06 14:44:53
+ # Modified : 2007-11-19 10:20:39
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BBT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ station_bbt_expires();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ transmit_unassoc_sta_mme();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_CNF(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_cnf(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_USTA_MME(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ record_usta_mme(0);
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_STA.vlg b/cesar/VisualState/Test_STA.vlg
new file mode 100644
index 0000000000..4b5c1a626b
--- /dev/null
+++ b/cesar/VisualState/Test_STA.vlg
@@ -0,0 +1,412 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-19 11:44:21
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "e153 19db af6c 4b8c 321e 1a73"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-15 15:46:22
+ # Modified : 2007-11-19 11:43:49
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(0),
+ launch_ustt_timer(),
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: AUTHENTIFIE_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: UNAUTHENTIFIE_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: AUTHENTIFIE_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BECOME_BACKUP_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.BACKUP_CCO,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.AUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.BACKUP_CCO,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_auth_status(0),
+ cp_station_set_cco_status(1),
+ trace_cco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_SET_TEI_MAP_IND(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_set_tei_map_ind(0),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_SmallFSM.vlg b/cesar/VisualState/Test_SmallFSM.vlg
new file mode 100644
index 0000000000..9cfbdf27b1
--- /dev/null
+++ b/cesar/VisualState/Test_SmallFSM.vlg
@@ -0,0 +1,366 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-16 14:16:43
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "50f2 373c b093 6263 4482 fd46"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-16 14:10:47
+ # Modified : 2007-11-16 14:16:36
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_HANDOVER_IN_PROGRESS()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.HANDOVER_IN_PROGRESS,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: HANDOVER_DONE()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BECOME_PCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: LEAVE_PCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BECOME_BACKUP_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.BACKUP_CCO,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: LEAVE_BACKUP_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_ADD()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_ADD;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_JOIN()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_JOIN;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SC_JOIN()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_JOIN;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_ADD;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_UCCO.vlg b/cesar/VisualState/Test_UCCO.vlg
new file mode 100644
index 0000000000..07b1b8ed84
--- /dev/null
+++ b/cesar/VisualState/Test_UCCO.vlg
@@ -0,0 +1,200 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-15 10:53:59
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "9821 8391 4652 1438 eb8f 44c7"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-15 10:25:13
+ # Modified : 2007-11-15 10:52:56
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: UCCO_MAX_DISCOVER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ trace_usta(),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: POND_TO_UCCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_req(0),
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Test_USTA.vlg b/cesar/VisualState/Test_USTA.vlg
new file mode 100644
index 0000000000..adcfd20ad0
--- /dev/null
+++ b/cesar/VisualState/Test_USTA.vlg
@@ -0,0 +1,420 @@
+/*****************************************************************************
+* visualSTATE Validator Test Sequence File, Format 2.2
+* Generated by visualSTATE Validator 5.4.0.1273
+* Trace: No
+* Additional modules: visualSTATE VSLFx 5.4.0.1273
+* Time: 2007-11-19 10:17:34
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "50f2 373c b093 6263 4482 fd46"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project Name: cesar_cp
+
+ Explanation:
+ ""
+
+******************************************************************************
+
+# SEQUENCE INFORMATION
+
+ # Sequence Name: "Sequence 0"
+
+ # Explanation:
+ ""
+
+ # Created : 2007-11-14 14:45:24
+ # Modified : 2007-11-19 10:17:07
+
+
+# STEPS
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_DETECTED(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ try_associate(0),
+ launch_beacon_timer();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ transmit_unassoc_sta_mme();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: USTT_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ launch_ustt_timer(),
+ transmit_unassoc_sta_mme();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: BEACON_TIMER_EXPIRES()
+ # HierarchicalStateVector:
+ Station.Station.ON.UCCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_ucco(),
+ send_discover_beacon_as_ucco();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_USTA_MME(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_usta_mme(0);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_CCO()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.CCO,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_cco_status(1),
+ trace_cco(),
+ cp_station_set_assoc_status(1);
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_STA()
+ # HierarchicalStateVector:
+ Station.Station.ON.STA_OR_CCO.ASSOCIATED_STA.UNAUTHENTICATED,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ cp_station_set_assoc_status(1),
+ trace_sta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Station.Station.INIT_SYSTEM,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ init_system();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: sta_connection[0]
+ # Event: SE_RESET()
+ # HierarchicalStateVector:
+ Topstate1.UNCONNECTED;
+ # Actions:
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_DRV_MAC_START_REQ(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.POND,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_drv_start_mac_req(0),
+ launch_ustt_timer(),
+ launch_bbt_timer(),
+ trace_pond();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: TO_USTA()
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ trace_usta();
+ # Signals:
+ # Variables:
+
+ # Send Event
+ # System: main_fsm
+ # Event: RECEIVE_CC_ASSOC_CNF(0)
+ # HierarchicalStateVector:
+ Station.Station.ON.POND_OR_USTA.USTA,
+ Station.Small_FSMs.SMALL_FSM.Handover_Region.NORMAL,
+ Station.Small_FSMs.SMALL_FSM.AVLN_Tracking.NO_AVLN_TO_TRACK,
+ Station.Small_FSMs.SMALL_FSM.Proxy_CCO.NOT_PCCO,
+ Station.Small_FSMs.SMALL_FSM.BackupCCO.NOT_BACKUP,
+ Station.Small_FSMs.SMALL_FSM.SC_Level.SC_NONE;
+ # Actions:
+ process_cc_assoc_cnf(0);
+ # Signals:
+ # Variables:
+
+******************************************************************************
diff --git a/cesar/VisualState/Topstate1.vsr b/cesar/VisualState/Topstate1.vsr
new file mode 100644
index 0000000000..ff992a1686
--- /dev/null
+++ b/cesar/VisualState/Topstate1.vsr
@@ -0,0 +1,52 @@
+@visualSTATE @RuleBase @Format2 "NoName"
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2007-10-12;
+ @Time 11:18:44;
+ [[ Expl = "This is where the security level (SC_Join, SC_ADd) is set." ]]
+
+
+@Declaration
+
+
+@Definition
+
+
+@Implementation
+
+ @TopStateMachine SC_Level =
+
+ @State
+ SC_None
+ [[ Pos440 = "63 142 166 178 16 1 1638401" ]],
+ SC_Add
+ [[ Pos440 = "229 142 332 178 16 1 1638401" ]],
+ SC_Join
+ [[ Pos440 = "229 248 332 284 16 1 1638401" ]],
+ @Initial _InitialState0
+ [[ Pos440 = "104 57 124 77 114689" ]];
+
+ @StateRegion
+ @OffPage Region1 (SC_None, SC_Add, SC_Join, _InitialState0)
+ [[ Pos440 = "0 0 377 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ [[ Pos440 = "10 91 387 157 16 1 114689" ]]
+
+ @End;
+
diff --git a/cesar/VisualState/Topstate2.vsr b/cesar/VisualState/Topstate2.vsr
new file mode 100644
index 0000000000..bc8ce5380b
--- /dev/null
+++ b/cesar/VisualState/Topstate2.vsr
@@ -0,0 +1,70 @@
+@visualSTATE @RuleBase @Format2 "NoName"
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2008-02-15;
+ @Time 16:05:36;
+
+
+
+@Declaration
+
+
+@Definition
+
+ @Event
+ CLOSE_CONNECTION(),
+ CONNECTION_REQUEST_ACCEPTED(),
+ CONNECTION_REQUEST_REFUSED(),
+ NEW_CONNECTION();
+
+
+@Implementation
+
+ @TopStateMachine Topstate1 =
+
+ @State
+ UNCONNECTED
+ [[ Pos440 = "33 90 163 115 16 1 1638401" ]],
+ @Initial _InitialState0
+ [[ Pos440 = "88 16 108 36 114689" ]],
+ WAITING_RESPONCE
+ [[ Pos440 = "33 169 163 194 16 1 1638401" ]],
+ CONNECTED
+ [[ Pos440 = "33 248 163 273 16 1 1638401" ]];
+
+ @StateRegion
+ @OffPage Region1 (UNCONNECTED, _InitialState0, WAITING_RESPONCE,
+ CONNECTED)
+ [[ Pos440 = "0 0 120 34", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ NEW_CONNECTION() @Src UNCONNECTED : @Dest WAITING_RESPONCE
+ [[ Pos440 = "38 127 196 147 0 809894016 66 25 66 0" ]],
+ @NoEvent @Src _InitialState0 : @Dest UNCONNECTED
+ [[ Pos440 = "98 6 178 36 0 809894016 10 20 65 0" ]],
+ CONNECTION_REQUEST_ACCEPTED() @Src WAITING_RESPONCE : @Dest CONNECTED
+ [[ Pos440 = "25 204 184 234 0 809894016 66 25 66 0" ]],
+ CONNECTION_REQUEST_REFUSED() @Src WAITING_RESPONCE : @Dest UNCONNECTED
+ [[ Pos440 = "232 135 379 165 1 809894017 130 12 233 138 130 14" ]],
+ CLOSE_CONNECTION() @Src CONNECTED : @Dest UNCONNECTED
+ [[ Pos440 = "223 244 395 274 1 809894017 130 13 239 228 239 141 130 14"
+ ]];
+
+ @TerminationRule;
+
+ [[ Pos440 = "20 26 140 76 16 1 114689" ]]
+
+ @End;
+
diff --git a/cesar/VisualState/coder/SEMEDef.h b/cesar/VisualState/coder/SEMEDef.h
new file mode 100644
index 0000000000..65d094c5c1
--- /dev/null
+++ b/cesar/VisualState/coder/SEMEDef.h
@@ -0,0 +1,178 @@
+/*
+ * Id: SEMEDef.h
+ *
+ * Function: SEM Defines Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __SEMEDEF_H
+#define __SEMEDEF_H
+
+
+/*
+ * Include SEM Types Header File.
+ */
+#include "SEMTypes.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * Conditional Compilation Definitions for the API only.
+ */
+#define SEM_RDHW_TYPE_1 1
+#define SEM_RDHW_TYPE_2 0
+#define SEM_RDHW_TYPE_3 0
+#define SEM_RDHW_WIDTH_16_BIT 1
+#define SEM_RDHW_WIDTH_24_BIT 0
+#define SEM_RDHW_WIDTH_32_BIT 0
+#define SEM_RDHW_WIDTH_48_BIT 0
+#define SEM_RDHW_WIDTH_64_BIT 0
+#define SEM_RD_WIDTH_8_BIT 0
+#define SEM_RD_WIDTH_16_BIT 1
+#define SEM_RD_WIDTH_32_BIT 0
+#define SEM_RDFM_NUMBER 4
+#define SEM_EVENT_GROUP_INDEX 1
+#define SEM_EVENT_GROUP_TABLE_INDEX 0
+#define SEM_SIGNAL_QUEUE_ERROR_IF_FULL 1
+#define SEM_SIGNAL_QUEUE_NO_ERROR_IF_FULL 0
+#define SEM_RMN_ACTIONS 4
+#define SEM_RMN_GUARDS 0
+#define SEM_RMN_NEGATIVE_STATE_SYNCS 1
+#define SEM_RMN_NEXT_STATES 10
+#define SEM_RMN_POSITIVE_STATE_SYNCS 5
+#define SEM_RMN_SIGNALS 0
+#define SEM_SIGNAL 0
+
+
+/*
+ * Conditional Compilation Definitions.
+ */
+#define SEM_FUNCEXPHANDLING 0
+#define SEM_GUARD_EXPRESSION 0
+#define SEM_SIGNAL_DB 0
+#define VS_REALLINKMODE 0
+#define VS_USE_HEAP 1
+
+
+/*
+ * Undefined State.
+ */
+#define STATE_UNDEFINED 0X0FF /* 255 */
+
+
+/*
+ * Undefined Event.
+ */
+#define EVENT_UNDEFINED 0X0FF /* 255 */
+
+
+/*
+ * Undefined Event Group.
+ */
+#define EVENT_GROUP_UNDEFINED 0X0FFFF /* 65535 */
+
+
+/*
+ * Event Termination ID.
+ */
+#define EVENT_TERMINATION_ID 0X0FF /* 255 */
+
+
+/*
+ * Action Expression Termination ID.
+ */
+#define ACTION_EXPRESSION_TERMINATION_ID 0X0FF /* 255 */
+
+
+#ifdef SE_EXPERTDLL
+#include <stdio.h>
+#endif
+
+
+#if (SEM_RD_WIDTH_8_BIT)
+#define SEM_RULE_DATA_TYPE VS_UINT8
+#elif (SEM_RD_WIDTH_16_BIT)
+#define SEM_RULE_DATA_TYPE VS_UINT16
+#elif (SEM_RD_WIDTH_32_BIT)
+#define SEM_RULE_DATA_TYPE VS_UINT32
+#else
+#error Invalid files, contact the vendor
+#endif
+
+
+/*
+ * Type qualifier macros
+ */
+#define VS_TQ_RULEBASE const
+#define VS_TQ_GUARDEXPRCOL const
+#define VS_TQ_ACTIONEXPRCOL const
+#define VS_TQ_CONTEXT
+
+
+/*
+ * Functional expression type definitions
+ */
+struct SEM_CONTEXT;
+typedef VS_BOOL (* VS_GUARDEXPR_TYPE) (struct SEM_CONTEXT VS_TQ_CONTEXT * );
+typedef VS_VOID (* VS_ACTIONEXPR_TYPE) (struct SEM_CONTEXT VS_TQ_CONTEXT * );
+
+
+/*
+ * SEM Library Datatype Definition.
+ */
+typedef struct SEM_CONTEXT
+{
+ SEM_STATE_TYPE VS_TQ_CONTEXT * pCSV;
+ SEM_STATE_TYPE VS_TQ_CONTEXT * pWSV;
+ SEM_STATE_TYPE VS_TQ_CONTEXT * pIns;
+ VS_UINT8 Status;
+ VS_UINT8 EventGroupType;
+ VS_UINT8 State;
+ VS_UINT8 DIt;
+ VS_UINT8 InqAct;
+ VS_UINT8 StateChange;
+ VS_UINT8 nNofActions;
+ SEM_EVENT_TYPE nNofEvents;
+ SEM_STATE_TYPE nNofStates;
+ SEM_STATE_MACHINE_TYPE nNofStateMachines;
+ SEM_ACTION_FUNCTION_TYPE nNofActionFunctions;
+ SEM_INSTANCE_TYPE nNofInstances;
+ SEM_INSTANCE_TYPE ActIns;
+ SEM_EVENT_TYPE EventNo;
+ SEM_RULE_INDEX_TYPE iRI;
+ SEM_RULE_TABLE_INDEX_TYPE iFirstR;
+ SEM_RULE_TABLE_INDEX_TYPE iLastR;
+ SEM_RULE_INDEX_TYPE iInqRI;
+ SEM_EVENT_TYPE InqEventNo;
+ SEM_EVENT_TYPE InqCurrentEventNo;
+ SEM_EVENT_TYPE InqFoundEventNo;
+ VS_FILE_TYPE * pVSFile;
+ void VS_TQ_RULEBASE * pVSData;
+ SEM_STATE_MACHINE_TYPE VS_TQ_RULEBASE * pSMI;
+ SEM_EVENT_GROUP_TYPE VS_TQ_RULEBASE * pEGT;
+ SEM_EGTI_TYPE VS_TQ_RULEBASE * pEGTI;
+ SEM_RULE_DATA_TYPE VS_TQ_RULEBASE * pRD;
+ SEM_RULE_INDEX_TYPE VS_TQ_RULEBASE * pRI;
+ SEM_RULE_TABLE_INDEX_TYPE VS_TQ_RULEBASE * pRTI;
+ unsigned long VS_TQ_RULEBASE * pENIPos;
+ unsigned long VS_TQ_RULEBASE * pSNIPos;
+ unsigned long VS_TQ_RULEBASE * pANIPos;
+ unsigned long VS_TQ_RULEBASE * pEEIPos;
+ unsigned long VS_TQ_RULEBASE * pSEIPos;
+ unsigned long VS_TQ_RULEBASE * pAEIPos;
+} SEM_CONTEXT;
+
+
+#endif
diff --git a/cesar/VisualState/coder/SEMTypes.h b/cesar/VisualState/coder/SEMTypes.h
new file mode 100644
index 0000000000..e6f8afb20d
--- /dev/null
+++ b/cesar/VisualState/coder/SEMTypes.h
@@ -0,0 +1,126 @@
+/*
+ * Id: SEMTypes.h
+ *
+ * Function: SEM Types Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __SEMTYPES_H
+#define __SEMTYPES_H
+
+
+#define VS_CODER_GUID 0X000756878
+
+
+#include <limits.h>
+
+
+#ifdef SE_EXPERTDLL
+#define VS_FILE_TYPE FILE
+#else
+#define VS_FILE_TYPE void
+#endif
+
+
+#define VS_BOOL unsigned char
+#define VS_UCHAR unsigned char
+#define VS_SCHAR signed char
+#define VS_UINT unsigned int
+#define VS_INT signed int
+#define VS_FLOAT float
+#define VS_DOUBLE double
+#define VS_VOID void
+#define VS_VOIDPTR void*
+
+#if (UCHAR_MAX >= 0x0ff)
+#define VS_UINT8 unsigned char
+#define VS_INT8 signed char
+#elif (USHRT_MAX >= 0x0ff)
+#define VS_UINT8 unsigned short
+#define VS_INT8 signed short
+#elif (UINT_MAX >= 0x0ff)
+#define VS_UINT8 unsigned int
+#define VS_INT8 signed int
+#elif (ULONG_MAX >= 0x0ff)
+#define VS_UINT8 unsigned long
+#define VS_INT8 signed long
+#else
+#define VS_UINT8 (unsupported data type)
+#define VS_INT8 (unsupported data type)
+#endif
+
+#define VS_UINT16_VAARG VS_INT
+#define VS_INT16_VAARG VS_INT
+#if (UCHAR_MAX >= 0x0ffff)
+#define VS_UINT16 unsigned char
+#define VS_INT16 signed char
+#elif (USHRT_MAX >= 0x0ffff)
+#define VS_UINT16 unsigned short
+#define VS_INT16 signed short
+#elif (UINT_MAX >= 0x0ffff)
+#define VS_UINT16 unsigned int
+#define VS_INT16 signed int
+#elif (ULONG_MAX >= 0x0ffff)
+#define VS_UINT16 unsigned long
+#define VS_INT16 signed long
+#undef VS_UINT16_VAARG
+#undef VS_INT16_VAARG
+#define VS_UINT16_VAARG VS_INT16
+#define VS_INT16_VAARG VS_INT16
+#else
+#define VS_UINT16 (unsupported data type)
+#define VS_INT16 (unsupported data type)
+#endif
+
+#define VS_UINT32_VAARG VS_INT
+#define VS_INT32_VAARG VS_INT
+#if (UCHAR_MAX >= 0x0ffffffffUL)
+#define VS_UINT32 unsigned char
+#define VS_INT32 signed char
+#elif (USHRT_MAX >= 0x0ffffffffUL)
+#define VS_UINT32 unsigned short
+#define VS_INT32 signed short
+#elif (UINT_MAX >= 0x0ffffffffUL)
+#define VS_UINT32 unsigned int
+#define VS_INT32 signed int
+#elif (ULONG_MAX >= 0x0ffffffffUL)
+#define VS_UINT32 unsigned long
+#define VS_INT32 signed long
+#undef VS_UINT32_VAARG
+#undef VS_INT32_VAARG
+#define VS_UINT32_VAARG VS_INT32
+#define VS_INT32_VAARG VS_INT32
+#else
+#define VS_UINT32 (unsupported data type)
+#define VS_INT32 (unsupported data type)
+#endif
+
+
+/*
+ * SEM Variable Types.
+ */
+#define SEM_EVENT_TYPE VS_UINT8
+#define SEM_ACTION_EXPRESSION_TYPE VS_UINT8
+#define SEM_GUARD_EXPRESSION_TYPE VS_UINT8
+#define SEM_EXPLANATION_TYPE VS_UINT8
+#define SEM_STATE_TYPE VS_UINT8
+#define SEM_STATE_MACHINE_TYPE VS_UINT16
+#define SEM_INSTANCE_TYPE VS_UINT8
+#define SEM_RULE_INDEX_TYPE VS_UINT16
+#define SEM_INTERNAL_TYPE VS_UINT16
+#define SEM_SIGNAL_QUEUE_TYPE VS_UINT8
+#define SEM_ACTION_FUNCTION_TYPE VS_UINT8
+#define SEM_EVENT_GROUP_TYPE VS_UINT16
+#define SEM_EGTI_TYPE VS_UINT16
+#define SEM_RULE_TABLE_INDEX_TYPE VS_UINT16
+
+
+#endif
diff --git a/cesar/VisualState/coder/cesar_cp_PConstant.h b/cesar/VisualState/coder/cesar_cp_PConstant.h
new file mode 100644
index 0000000000..487d98d902
--- /dev/null
+++ b/cesar/VisualState/coder/cesar_cp_PConstant.h
@@ -0,0 +1,25 @@
+/*
+ * Id: cesar_cp_PConstant.h
+ *
+ * Function: VS Project Constant File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __CESAR_CP_PCONSTANT_H
+#define __CESAR_CP_PCONSTANT_H
+
+
+/*
+ * There are no VS Project constants, so this section is intentionally empty!
+ */
+
+
+#endif
diff --git a/cesar/VisualState/coder/cesar_cp_PEvent.h b/cesar/VisualState/coder/cesar_cp_PEvent.h
new file mode 100644
index 0000000000..bb1c4f1c70
--- /dev/null
+++ b/cesar/VisualState/coder/cesar_cp_PEvent.h
@@ -0,0 +1,26 @@
+/*
+ * Id: cesar_cp_PEvent.h
+ *
+ * Function: VS Project Event Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __CESAR_CP_PEVENT_H
+#define __CESAR_CP_PEVENT_H
+
+
+/*
+ * Global Event Identifier Definitions.
+ */
+#define SE_RESET 0X000 /* 0 */
+
+
+#endif
diff --git a/cesar/VisualState/coder/main_fsm.c b/cesar/VisualState/coder/main_fsm.c
new file mode 100644
index 0000000000..b6827938db
--- /dev/null
+++ b/cesar/VisualState/coder/main_fsm.c
@@ -0,0 +1,129 @@
+/*
+ * Id: main_fsm.c
+ *
+ * Function: VS System Source File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+/*
+ * Include VS System Data Header File.
+ */
+#include "main_fsm.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+#include <stddef.h>
+
+
+/*
+ * VS System Data Declaration and Initialization.
+ *
+ * VS System Informations:
+ * - Rule data format number: 4
+ */
+VSDATAmain_fsm const main_fsm =
+{
+ {
+ 0X000000150, 0X00000002A, 0X000000000,
+ 0X000000017, 0X00000000A, 0X00000000C,
+ 0X000000001, 0X000000000, offsetof(VSDATAmain_fsm, S1) + 0,
+ offsetof(VSDATAmain_fsm, S1) + 46, 0X000000000, offsetof(VSDATAmain_fsm, S1) + 130,
+ offsetof(VSDATAmain_fsm, S1) + 1038, offsetof(VSDATAmain_fsm, S1) + 1174, offsetof(VSDATAmain_fsm, S1) + 1262,
+ 0X000000000, 0X000000000, 0X000000000,
+ 0X000000000, 0X000000000, 0X000000000,
+
+ },
+ {
+ 0X00000, 0X00000, 0X00001, 0X00001, 0X00001, 0X00002, 0X00002, 0X00003,
+ 0X00003, 0X00004, 0X00004, 0X00004, 0X00005, 0X00005, 0X00006, 0X00006,
+ 0X00007, 0X00007, 0X00008, 0X00008, 0X00008, 0X00009, 0X00009, 0X0FFFF,
+ 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF,
+ 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF,
+ 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF,
+ 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X00000, 0X0FFFF,
+ 0X0FFFF, 0X00000, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF, 0X0FFFF,
+ 0X0FFFF, 0X01A00, 0X00001, 0X00003, 0X00005, 0X00008, 0X00015, 0X00009,
+ 0X0000C, 0X0000E, 0X00011, 0X00012, 0X00000, 0X01103, 0X00000, 0X00004,
+ 0X00007, 0X00001, 0X0000C, 0X01104, 0X00000, 0X00004, 0X00008, 0X00016,
+ 0X00001, 0X0000D, 0X01102, 0X00000, 0X00004, 0X00001, 0X0000E, 0X00101,
+ 0X00000, 0X00001, 0X04301, 0X00001, 0X00000, 0X00003, 0X00005, 0X0000F,
+ 0X00003, 0X00001, 0X00007, 0X01101, 0X00001, 0X00001, 0X00010, 0X01101,
+ 0X00001, 0X00001, 0X00011, 0X01101, 0X00001, 0X00001, 0X00012, 0X01101,
+ 0X00001, 0X00001, 0X00013, 0X01101, 0X00001, 0X00001, 0X00014, 0X01101,
+ 0X00001, 0X00001, 0X00015, 0X01101, 0X00001, 0X00001, 0X00016, 0X01101,
+ 0X00001, 0X00001, 0X00017, 0X01101, 0X00001, 0X00001, 0X00018, 0X01101,
+ 0X00001, 0X00001, 0X00019, 0X01101, 0X00001, 0X00001, 0X0001A, 0X01101,
+ 0X00001, 0X00001, 0X0001B, 0X02302, 0X00002, 0X00000, 0X00006, 0X00003,
+ 0X00000, 0X00003, 0X0000A, 0X04502, 0X00002, 0X00000, 0X00007, 0X00004,
+ 0X00000, 0X00011, 0X0000E, 0X0001C, 0X0001D, 0X00006, 0X0001E, 0X03502,
+ 0X00003, 0X00000, 0X00007, 0X00004, 0X00000, 0X00011, 0X0000E, 0X0001D,
+ 0X00006, 0X0001E, 0X02402, 0X00003, 0X00000, 0X00004, 0X00000, 0X00008,
+ 0X00015, 0X0001E, 0X00008, 0X02204, 0X00005, 0X00003, 0X00000, 0X0000C,
+ 0X00002, 0X00000, 0X00009, 0X00004, 0X02203, 0X00006, 0X00003, 0X00000,
+ 0X00002, 0X00000, 0X00009, 0X00004, 0X04204, 0X00000, 0X0000C, 0X00004,
+ 0X00007, 0X00002, 0X00000, 0X0000C, 0X0000E, 0X00009, 0X00004, 0X04304,
+ 0X00000, 0X0000D, 0X00004, 0X00007, 0X00006, 0X00003, 0X00000, 0X0000C,
+ 0X0000E, 0X00003, 0X0000A, 0X01305, 0X00000, 0X00011, 0X00004, 0X00008,
+ 0X00016, 0X00005, 0X00003, 0X00000, 0X0000D, 0X04304, 0X00008, 0X00000,
+ 0X00011, 0X00004, 0X00005, 0X00003, 0X00000, 0X0000E, 0X00003, 0X00001,
+ 0X00007, 0X01304, 0X00000, 0X00004, 0X00008, 0X00016, 0X00006, 0X00003,
+ 0X00000, 0X0000D, 0X03303, 0X00008, 0X00000, 0X00004, 0X00006, 0X00003,
+ 0X00000, 0X0000E, 0X00003, 0X0000A, 0X01202, 0X00002, 0X00000, 0X00002,
+ 0X00000, 0X00004, 0X01202, 0X00003, 0X00000, 0X00003, 0X00000, 0X00003,
+ 0X01103, 0X00003, 0X00000, 0X0000D, 0X00000, 0X0000B, 0X01202, 0X00003,
+ 0X00000, 0X00003, 0X00000, 0X0001F, 0X01202, 0X00003, 0X00000, 0X00003,
+ 0X00000, 0X00020, 0X01303, 0X00005, 0X00003, 0X00000, 0X00006, 0X00003,
+ 0X00000, 0X0000A, 0X01303, 0X00005, 0X00003, 0X00000, 0X00005, 0X00003,
+ 0X00000, 0X00005, 0X01303, 0X00005, 0X00003, 0X00000, 0X00005, 0X00003,
+ 0X00000, 0X00021, 0X01303, 0X00006, 0X00003, 0X00000, 0X00006, 0X00003,
+ 0X00000, 0X00022, 0X03404, 0X00004, 0X00000, 0X0000A, 0X00007, 0X00016,
+ 0X00008, 0X00004, 0X00000, 0X0000C, 0X00008, 0X00023, 0X02303, 0X00007,
+ 0X00004, 0X00000, 0X00007, 0X00004, 0X00000, 0X0000C, 0X00024, 0X02303,
+ 0X00007, 0X00004, 0X00000, 0X00007, 0X00004, 0X00000, 0X0000C, 0X00025,
+ 0X01505, 0X00010, 0X00000, 0X00004, 0X00008, 0X00016, 0X00007, 0X00004,
+ 0X00000, 0X00011, 0X0000E, 0X0000D, 0X02504, 0X00008, 0X00004, 0X00000,
+ 0X00010, 0X00007, 0X00004, 0X00000, 0X00011, 0X0000E, 0X0001D, 0X00006,
+ 0X01505, 0X0000A, 0X00000, 0X00004, 0X00008, 0X00016, 0X00007, 0X00004,
+ 0X00000, 0X00011, 0X0000E, 0X0000D, 0X02504, 0X00008, 0X00004, 0X00000,
+ 0X0000A, 0X00007, 0X00004, 0X00000, 0X00011, 0X0000E, 0X0001D, 0X00006,
+ 0X01304, 0X00008, 0X00004, 0X00000, 0X00016, 0X00008, 0X00004, 0X00000,
+ 0X0000D, 0X02403, 0X00008, 0X00004, 0X00000, 0X00008, 0X00004, 0X00000,
+ 0X00015, 0X00026, 0X00008, 0X01404, 0X00015, 0X00008, 0X00004, 0X00000,
+ 0X00016, 0X00008, 0X00004, 0X00000, 0X00023, 0X01404, 0X00008, 0X00004,
+ 0X00000, 0X00016, 0X00015, 0X00008, 0X00004, 0X00000, 0X0000D, 0X00101,
+ 0X00009, 0X0000B, 0X00101, 0X00009, 0X0000A, 0X00101, 0X0000A, 0X00009,
+ 0X00101, 0X0000B, 0X00009, 0X01101, 0X0000C, 0X0000D, 0X00002, 0X01101,
+ 0X0000D, 0X0000D, 0X00002, 0X00101, 0X0000D, 0X0000C, 0X00101, 0X0000E,
+ 0X0000F, 0X00101, 0X0000F, 0X0000E, 0X00101, 0X00010, 0X00011, 0X00104,
+ 0X00011, 0X00000, 0X00004, 0X00008, 0X00010, 0X00112, 0X00011, 0X00000,
+ 0X00004, 0X00010, 0X00102, 0X00011, 0X00001, 0X00010, 0X00101, 0X00012,
+ 0X00013, 0X00101, 0X00012, 0X00014, 0X00101, 0X00013, 0X00012, 0X00103,
+ 0X00014, 0X00003, 0X00000, 0X00013, 0X00101, 0X00014, 0X00012, 0X00000,
+ 0X00172, 0X000F9, 0X0005A, 0X000E5, 0X00192, 0X00196, 0X0008B, 0X000AA,
+ 0X000B4, 0X0012F, 0X0013B, 0X0019A, 0X001A6, 0X001AC, 0X001B1, 0X0019D,
+ 0X00111, 0X00147, 0X00153, 0X0018C, 0X0018F, 0X00093, 0X0009E, 0X001A3,
+ 0X001A0, 0X00082, 0X000EB, 0X00062, 0X0011D, 0X0015F, 0X00168, 0X00126,
+ 0X00021, 0X0000C, 0X00012, 0X00019, 0X0001E, 0X00046, 0X0002E, 0X0003A,
+ 0X0002A, 0X0003E, 0X00052, 0X00036, 0X0004A, 0X00056, 0X0004E, 0X00042,
+ 0X00032, 0X00101, 0X00109, 0X001B5, 0X001B8, 0X001BB, 0X001C3, 0X001BE,
+ 0X00189, 0X00186, 0X00079, 0X000C0, 0X000C9, 0X000F1, 0X000D3, 0X0017C,
+ 0X000D9, 0X000DF, 0X0006E, 0X00000, 0X00001, 0X00002, 0X00003, 0X00007,
+ 0X0000D, 0X00010, 0X00011, 0X00016, 0X00018, 0X00019, 0X0001A, 0X0001B,
+ 0X0001C, 0X0001E, 0X00020, 0X00021, 0X00022, 0X00026, 0X00027, 0X00028,
+ 0X00029, 0X0002A, 0X0002B, 0X0002C, 0X0002D, 0X0002E, 0X0002F, 0X00030,
+ 0X00031, 0X00032, 0X00034, 0X00035, 0X00036, 0X00038, 0X00039, 0X0003A,
+ 0X0003B, 0X0003C, 0X0003F, 0X00040, 0X00041, 0X00043, 0X00044
+ }
+};
diff --git a/cesar/VisualState/coder/main_fsm.h b/cesar/VisualState/coder/main_fsm.h
new file mode 100644
index 0000000000..073a1fe57d
--- /dev/null
+++ b/cesar/VisualState/coder/main_fsm.h
@@ -0,0 +1,47 @@
+/*
+ * Id: main_fsm.h
+ *
+ * Function: Include VS System Data Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __MAIN_FSM_H
+#define __MAIN_FSM_H
+
+
+/*
+ * Include SEM Defines Header File.
+ */
+#include "SEMEDef.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * VS System Datatype Definition.
+ */
+typedef struct
+{
+ VS_UINT32 S0[0X000000016];
+ VS_UINT16 S1[0X00277];
+} VSDATAmain_fsm;
+
+
+/*
+ * External Declaration for VS System Data.
+ */
+extern VSDATAmain_fsm const main_fsm;
+
+
+#endif
diff --git a/cesar/VisualState/coder/main_fsmAction.h b/cesar/VisualState/coder/main_fsmAction.h
new file mode 100644
index 0000000000..cddc6dca2c
--- /dev/null
+++ b/cesar/VisualState/coder/main_fsmAction.h
@@ -0,0 +1,165 @@
+/*
+ * Id: main_fsmAction.h
+ *
+ * Function: VS System Action Expression Pointer Table Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __MAIN_FSMACTION_H
+#define __MAIN_FSMACTION_H
+
+
+/*
+ * Include SEM Defines Header File.
+ */
+#include "SEMEDef.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * Action Function Prototypes.
+ */
+extern VS_VOID cp_station_set_assoc_status (VS_BOOL associated);
+extern VS_VOID cp_station_set_auth_status (VS_BOOL is_authenticated);
+extern VS_VOID cp_station_set_cco_status (VS_BOOL is_cco);
+extern VS_VOID init_system (VS_VOID);
+extern VS_VOID launch_bbt_timer (VS_VOID);
+extern VS_VOID launch_beacon_timer (VS_VOID);
+extern VS_VOID launch_ustt_timer (VS_VOID);
+extern VS_VOID process_cc_assoc_cnf (VS_VOIDPTR mme_address);
+extern VS_VOID process_cc_assoc_req (VS_VOIDPTR mme_address);
+extern VS_VOID process_cc_set_tei_map_ind (VS_VOIDPTR mme_address);
+extern VS_VOID process_cc_set_tei_map_req (VS_VOIDPTR mme_address);
+extern VS_VOID process_drv_set_avln_hfid (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_cco_preference (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_dpw_req (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_m_sta_hfid (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_mac_address (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_nid (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_npw (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_sl (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_snid (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_tonemask (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_u_sta_hfid (VS_VOIDPTR msg);
+extern VS_VOID process_drv_set_was_cco (VS_VOIDPTR msg);
+extern VS_VOID process_drv_start_mac_req (VS_VOIDPTR msg);
+extern VS_VOID process_usta_mme (VS_VOIDPTR mme_address);
+extern VS_VOID record_usta_mme (VS_VOIDPTR mme_address);
+extern VS_VOID send_discover_beacon_as_ucco (VS_VOID);
+extern VS_VOID station_bbt_expires (VS_VOID);
+extern VS_VOID trace_cco (VS_VOID);
+extern VS_VOID trace_pond (VS_VOID);
+extern VS_VOID trace_sta (VS_VOID);
+extern VS_VOID trace_ucco (VS_VOID);
+extern VS_VOID trace_usta (VS_VOID);
+extern VS_VOID transmit_unassoc_sta_mme (VS_VOID);
+extern VS_VOID try_associate (VS_VOIDPTR beacon_address);
+
+
+/*
+ * Include SEM Library Header File.
+ */
+#include "SEMLibE.h"
+
+
+/*
+ * Action Expression Function Prototypes.
+ */
+extern VS_VOID MainVSAction_0 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_1 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_2 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_3 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_4 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_5 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_6 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_7 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_8 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_9 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_10 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_11 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_12 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_13 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_14 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_15 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_16 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_17 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_18 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_19 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_20 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_21 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_22 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_23 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_24 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_25 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_26 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_27 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_28 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_29 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_30 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_31 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_32 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_33 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_34 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_35 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_36 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_37 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+extern VS_VOID MainVSAction_38 (SEM_CONTEXT VS_TQ_CONTEXT * Context);
+
+
+/*
+ * Action Expression Pointer Table.
+ */
+extern VS_ACTIONEXPR_TYPE const MainVSAction[39];
+
+
+#endif
diff --git a/cesar/VisualState/coder/main_fsmData.c b/cesar/VisualState/coder/main_fsmData.c
new file mode 100644
index 0000000000..1cd4cff638
--- /dev/null
+++ b/cesar/VisualState/coder/main_fsmData.c
@@ -0,0 +1,376 @@
+/*
+ * Id: main_fsmData.c
+ *
+ * Function: VS System Data Source File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+/*
+ * Include VS System Data Header File.
+ */
+#include "main_fsmData.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * Include VS System Header File.
+ */
+#include "main_fsm.h"
+
+
+/*
+ * Include VS Project Constants Header file.
+ */
+#include "cesar_cp_PConstant.h"
+
+
+/*
+ * Include VS Project Event Header File.
+ */
+#include "cesar_cp_PEvent.h"
+
+
+/*
+ * Include VS System Action Expression Pointer Table File.
+ */
+#include "main_fsmAction.h"
+
+
+#include <stdarg.h>
+
+
+typedef union
+{
+ struct
+ {
+ VS_VOIDPTR VS_VOIDPTRVar[0X00001];
+ } DB30;
+} main_fsmVSDBDATA;
+
+
+/*
+ * VS System Double Buffer Variable Declaration.
+ */
+static main_fsmVSDBDATA main_fsmVSDBVar;
+
+
+/*
+ * SEM Deduct Function.
+ */
+unsigned char main_fsmSMP_Deduct (SEM_CONTEXT VS_TQ_CONTEXT * Context, SEM_EVENT_TYPE EventNo, ...)
+{
+ va_list ap;
+
+ va_start(ap, EventNo);
+ if (Context == NULL)
+ return (SES_NOT_LOADED);
+ if (Context->nNofEvents <= EventNo)
+ return (SES_RANGE_ERR);
+ Context->EventNo = EventNo;
+ Context->State = STATE_SEM_PREPARE;
+ Context->DIt = 2;
+ switch (EventNo)
+ {
+ case 3:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 12:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 13:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 14:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 15:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 16:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 18:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 19:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 20:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 21:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 22:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 23:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 24:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 25:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 26:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 27:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 28:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 29:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+ case 30:
+ main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0] = (VS_VOIDPTR) va_arg(ap, VS_VOIDPTR);
+ break;
+
+ default:
+ break;
+ }
+
+ va_end(ap);
+ if (Context->InqAct)
+ return (SES_ACTIVE);
+ return (SES_OKAY);
+}
+
+
+/*
+ * Action Expression Functions.
+ */
+VS_VOID MainVSAction_0 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ init_system();
+}
+VS_VOID MainVSAction_1 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ launch_bbt_timer();
+}
+VS_VOID MainVSAction_2 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ launch_beacon_timer();
+}
+VS_VOID MainVSAction_3 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ launch_ustt_timer();
+}
+VS_VOID MainVSAction_4 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ send_discover_beacon_as_ucco();
+}
+VS_VOID MainVSAction_5 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ station_bbt_expires();
+}
+VS_VOID MainVSAction_6 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ trace_cco();
+}
+VS_VOID MainVSAction_7 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ trace_pond();
+}
+VS_VOID MainVSAction_8 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ trace_sta();
+}
+VS_VOID MainVSAction_9 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ trace_ucco();
+}
+VS_VOID MainVSAction_10 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ trace_usta();
+}
+VS_VOID MainVSAction_11 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ transmit_unassoc_sta_mme();
+}
+VS_VOID MainVSAction_12 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ cp_station_set_cco_status(0);
+}
+VS_VOID MainVSAction_13 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ cp_station_set_auth_status(0);
+}
+VS_VOID MainVSAction_14 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ cp_station_set_assoc_status(0);
+}
+VS_VOID MainVSAction_15 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_start_mac_req(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_16 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_mac_address(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_17 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_cco_preference(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_18 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_was_cco(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_19 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_npw(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_20 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_dpw_req(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_21 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_m_sta_hfid(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_22 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_u_sta_hfid(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_23 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_avln_hfid(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_24 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_sl(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_25 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_tonemask(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_26 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_nid(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_27 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_drv_set_snid(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_28 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_cc_assoc_req(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_29 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ cp_station_set_cco_status(1);
+}
+VS_VOID MainVSAction_30 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ cp_station_set_assoc_status(1);
+}
+VS_VOID MainVSAction_31 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ try_associate(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_32 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_cc_assoc_cnf(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_33 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ record_usta_mme(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_34 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_usta_mme(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_35 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ cp_station_set_auth_status(1);
+}
+VS_VOID MainVSAction_36 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_cc_assoc_req(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_37 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_cc_set_tei_map_req(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+VS_VOID MainVSAction_38 (SEM_CONTEXT VS_TQ_CONTEXT * Context)
+{
+ process_cc_set_tei_map_ind(main_fsmVSDBVar.DB30.VS_VOIDPTRVar[0]);
+}
+
+
+/*
+ * Action Expression Pointer Table.
+ */
+VS_ACTIONEXPR_TYPE const MainVSAction[39] =
+{
+ MainVSAction_0,
+ MainVSAction_1,
+ MainVSAction_2,
+ MainVSAction_3,
+ MainVSAction_4,
+ MainVSAction_5,
+ MainVSAction_6,
+ MainVSAction_7,
+ MainVSAction_8,
+ MainVSAction_9,
+ MainVSAction_10,
+ MainVSAction_11,
+ MainVSAction_12,
+ MainVSAction_13,
+ MainVSAction_14,
+ MainVSAction_15,
+ MainVSAction_16,
+ MainVSAction_17,
+ MainVSAction_18,
+ MainVSAction_19,
+ MainVSAction_20,
+ MainVSAction_21,
+ MainVSAction_22,
+ MainVSAction_23,
+ MainVSAction_24,
+ MainVSAction_25,
+ MainVSAction_26,
+ MainVSAction_27,
+ MainVSAction_28,
+ MainVSAction_29,
+ MainVSAction_30,
+ MainVSAction_31,
+ MainVSAction_32,
+ MainVSAction_33,
+ MainVSAction_34,
+ MainVSAction_35,
+ MainVSAction_36,
+ MainVSAction_37,
+ MainVSAction_38
+};
+
+
+/*
+ * Wrapper function for all initializing functions.
+ */
+unsigned char main_fsmSMP_InitAll (SEM_CONTEXT VS_TQ_CONTEXT * * Context)
+{
+ unsigned char CC;
+
+ if ((CC = SMP_Connect(Context, &main_fsm)) != SES_OKAY)
+ return CC;
+
+ SMP_Init(*Context);
+
+ return SES_OKAY;
+}
diff --git a/cesar/VisualState/coder/main_fsmData.h b/cesar/VisualState/coder/main_fsmData.h
new file mode 100644
index 0000000000..33e2e8f6f6
--- /dev/null
+++ b/cesar/VisualState/coder/main_fsmData.h
@@ -0,0 +1,123 @@
+/*
+ * Id: main_fsmData.h
+ *
+ * Function: VS System Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __MAIN_FSMDATA_H
+#define __MAIN_FSMDATA_H
+
+
+/*
+ * Number of Identifiers.
+ */
+#define VS_NOF_ACTION_EXPRESSIONS 0X027 /* 39 */
+#define VS_NOF_ACTION_FUNCTIONS 0X00c /* 12 */
+#define VS_NOF_EVENT_GROUPS 0X001 /* 1 */
+#define VS_NOF_EVENTS 0X02a /* 42 */
+#define VS_NOF_EXTERNAL_VARIABLES 0X000 /* 0 */
+#define VS_NOF_GUARD_EXPRESSIONS 0X000 /* 0 */
+#define VS_NOF_INSTANCES 0X001 /* 1 */
+#define VS_NOF_INTERNAL_VARIABLES 0X000 /* 0 */
+#define VS_NOF_SIGNALS 0X000 /* 0 */
+#define VS_NOF_STATE_MACHINES 0X00a /* 10 */
+#define VS_NOF_STATES 0X017 /* 23 */
+
+
+/*
+ * Include SEM Library Header File.
+ */
+#include "SEMLibE.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * Include Global Events Header File.
+ */
+#include "cesar_cp_PEvent.h"
+
+
+/*
+ * External Declaration for SEM Deduct Function.
+ */
+extern unsigned char main_fsmSMP_Deduct (SEM_CONTEXT VS_TQ_CONTEXT * Context, SEM_EVENT_TYPE EventNo, ...);
+
+
+/*
+ * External Declaration for wrapper function for all initializing functions.
+ */
+extern unsigned char main_fsmSMP_InitAll (SEM_CONTEXT VS_TQ_CONTEXT * * Context);
+
+
+/*
+ * Conditional Compilation Definitions.
+ */
+#define SEM_DEDUCT_FUNC 1
+#define SEM_DEDUCT_WITH_VA_LIST 1
+
+
+/*
+ * Event Identifier Definitions.
+ */
+#define AUTHENTIFIE_STA 0X001 /* 1 */
+#define BBT_EXPIRES 0X002 /* 2 */
+#define BEACON_DETECTED 0X003 /* 3 */
+#define BEACON_TIMER_EXPIRES 0X004 /* 4 */
+#define BECOME_BACKUP_CCO 0X005 /* 5 */
+#define BECOME_PCO 0X006 /* 6 */
+#define HANDOVER_DONE 0X007 /* 7 */
+#define JOIN_WAIT_TIMER_EXPIRES 0X008 /* 8 */
+#define LEAVE_BACKUP_CCO 0X009 /* 9 */
+#define LEAVE_PCO 0X00A /* 10 */
+#define POND_TO_UCCO 0X00B /* 11 */
+#define RECEIVE_CC_ASSOC_CNF 0X00C /* 12 */
+#define RECEIVE_CC_ASSOC_REQ 0X00D /* 13 */
+#define RECEIVE_CC_SET_TEI_MAP_IND 0X00E /* 14 */
+#define RECEIVE_CC_SET_TEI_MAP_REQ 0X00F /* 15 */
+#define RECEIVE_DRV_MAC_START_REQ 0X010 /* 16 */
+#define RECEIVE_DRV_MAC_STOP_IND 0X011 /* 17 */
+#define RECEIVE_DRV_SET_AVLN_HFID 0X012 /* 18 */
+#define RECEIVE_DRV_SET_CCO_PREFERENCE_REQ 0X013 /* 19 */
+#define RECEIVE_DRV_SET_DPW_REQ 0X014 /* 20 */
+#define RECEIVE_DRV_SET_MAC_ADDRESS 0X015 /* 21 */
+#define RECEIVE_DRV_SET_M_STA_HFID 0X016 /* 22 */
+#define RECEIVE_DRV_SET_NID 0X017 /* 23 */
+#define RECEIVE_DRV_SET_NPW_REQ 0X018 /* 24 */
+#define RECEIVE_DRV_SET_SL 0X019 /* 25 */
+#define RECEIVE_DRV_SET_SNID 0X01A /* 26 */
+#define RECEIVE_DRV_SET_TONEMASK 0X01B /* 27 */
+#define RECEIVE_DRV_SET_U_STA_HFID 0X01C /* 28 */
+#define RECEIVE_DRV_SET_WAS_CCO 0X01D /* 29 */
+#define RECEIVE_USTA_MME 0X01E /* 30 */
+#define SC_ADD 0X01F /* 31 */
+#define SC_JOIN 0X020 /* 32 */
+#define SC_TIMER_EXPIRES 0X021 /* 33 */
+#define TO_CCO 0X022 /* 34 */
+#define TO_HANDOVER 0X023 /* 35 */
+#define TO_HANDOVER_IN_PROGRESS 0X024 /* 36 */
+#define TO_STA 0X025 /* 37 */
+#define TO_USTA 0X026 /* 38 */
+#define UCCO_MAX_DISCOVER_EXPIRES 0X027 /* 39 */
+#define UNAUTHENTIFIE_STA 0X028 /* 40 */
+#define USTT_EXPIRES 0X029 /* 41 */
+
+
+/*
+ * There are no VS System constants, so this section is intentionally empty!
+ */
+
+
+#endif
diff --git a/cesar/VisualState/coder/sta_connection.c b/cesar/VisualState/coder/sta_connection.c
new file mode 100644
index 0000000000..7fdc50ebbc
--- /dev/null
+++ b/cesar/VisualState/coder/sta_connection.c
@@ -0,0 +1,54 @@
+/*
+ * Id: sta_connection.c
+ *
+ * Function: VS System Source File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+/*
+ * Include VS System Data Header File.
+ */
+#include "sta_connection.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+#include <stddef.h>
+
+
+/*
+ * VS System Data Declaration and Initialization.
+ *
+ * VS System Informations:
+ * - Rule data format number: 4
+ */
+VSDATAsta_connection const sta_connection =
+{
+ {
+ 0X001000050, 0X000000005, 0X000000000,
+ 0X000000003, 0X000000001, 0X000000000,
+ 0X000000012, 0X000000000, offsetof(VSDATAsta_connection, S1) + 0,
+ 0X000000000, 0X000000000, offsetof(VSDATAsta_connection, S1) + 6,
+ offsetof(VSDATAsta_connection, S1) + 34, offsetof(VSDATAsta_connection, S1) + 44, offsetof(VSDATAsta_connection, S1) + 56,
+ 0X000000000, 0X000000000, 0X000000000,
+ 0X000000000, 0X000000000, 0X000000000,
+
+ },
+ {
+ 0X00000, 0X00000, 0X00000, 0X00100, 0X00000, 0X00101, 0X00000, 0X00001,
+ 0X00101, 0X00001, 0X00002, 0X00101, 0X00001, 0X00000, 0X00101, 0X00002,
+ 0X00000, 0X00000, 0X0000B, 0X00005, 0X00008, 0X00002, 0X00000, 0X00001,
+ 0X00002, 0X00003, 0X00004, 0X00005
+ }
+};
diff --git a/cesar/VisualState/coder/sta_connection.h b/cesar/VisualState/coder/sta_connection.h
new file mode 100644
index 0000000000..4f86c61796
--- /dev/null
+++ b/cesar/VisualState/coder/sta_connection.h
@@ -0,0 +1,47 @@
+/*
+ * Id: sta_connection.h
+ *
+ * Function: Include VS System Data Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __STA_CONNECTION_H
+#define __STA_CONNECTION_H
+
+
+/*
+ * Include SEM Defines Header File.
+ */
+#include "SEMEDef.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * VS System Datatype Definition.
+ */
+typedef struct
+{
+ VS_UINT32 S0[0X000000016];
+ VS_UINT16 S1[0X0001C];
+} VSDATAsta_connection;
+
+
+/*
+ * External Declaration for VS System Data.
+ */
+extern VSDATAsta_connection const sta_connection;
+
+
+#endif
diff --git a/cesar/VisualState/coder/sta_connectionAction.h b/cesar/VisualState/coder/sta_connectionAction.h
new file mode 100644
index 0000000000..894dc90fd7
--- /dev/null
+++ b/cesar/VisualState/coder/sta_connectionAction.h
@@ -0,0 +1,31 @@
+/*
+ * Id: sta_connectionAction.h
+ *
+ * Function: VS System Action Expression Pointer Table Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __STA_CONNECTIONACTION_H
+#define __STA_CONNECTIONACTION_H
+
+
+/*
+ * Include SEM Defines Header File.
+ */
+#include "SEMEDef.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+#endif
diff --git a/cesar/VisualState/coder/sta_connectionData.c b/cesar/VisualState/coder/sta_connectionData.c
new file mode 100644
index 0000000000..328bbc4dc6
--- /dev/null
+++ b/cesar/VisualState/coder/sta_connectionData.c
@@ -0,0 +1,39 @@
+/*
+ * Id: sta_connectionData.c
+ *
+ * Function: VS System Data Source File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+/*
+ * Include VS System Data Header File.
+ */
+#include "sta_connectionData.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * Include VS Project Constants Header file.
+ */
+#include "cesar_cp_PConstant.h"
+
+
+/*
+ * Include VS Project Event Header File.
+ */
+#include "cesar_cp_PEvent.h"
+
+
+#include <stdarg.h>
diff --git a/cesar/VisualState/coder/sta_connectionData.h b/cesar/VisualState/coder/sta_connectionData.h
new file mode 100644
index 0000000000..31aaf9979b
--- /dev/null
+++ b/cesar/VisualState/coder/sta_connectionData.h
@@ -0,0 +1,74 @@
+/*
+ * Id: sta_connectionData.h
+ *
+ * Function: VS System Header File.
+ *
+ * Generated: Fri Feb 15 12:04:56 2008
+ *
+ * Coder 5, 4, 0, 1273
+ *
+ * This is an automatically generated file. It will be overwritten by the Coder.
+ *
+ * DO NOT EDIT THE FILE!
+ */
+
+
+#ifndef __STA_CONNECTIONDATA_H
+#define __STA_CONNECTIONDATA_H
+
+
+/*
+ * Number of Identifiers.
+ */
+#define VS_NOF_ACTION_EXPRESSIONS 0X000 /* 0 */
+#define VS_NOF_ACTION_FUNCTIONS 0X000 /* 0 */
+#define VS_NOF_EVENT_GROUPS 0X000 /* 0 */
+#define VS_NOF_EVENTS 0X005 /* 5 */
+#define VS_NOF_EXTERNAL_VARIABLES 0X000 /* 0 */
+#define VS_NOF_GUARD_EXPRESSIONS 0X000 /* 0 */
+#define VS_NOF_INSTANCES 0X012 /* 18 */
+#define VS_NOF_INTERNAL_VARIABLES 0X000 /* 0 */
+#define VS_NOF_SIGNALS 0X000 /* 0 */
+#define VS_NOF_STATE_MACHINES 0X001 /* 1 */
+#define VS_NOF_STATES 0X003 /* 3 */
+
+
+/*
+ * Include SEM Library Header File.
+ */
+#include "SEMLibE.h"
+
+
+#if (VS_CODER_GUID != 0X000756878)
+#error The generated file does not match the SEMTypes.h header file.
+#endif
+
+
+/*
+ * Include Global Events Header File.
+ */
+#include "cesar_cp_PEvent.h"
+
+
+/*
+ * Conditional Compilation Definitions.
+ */
+#define SEM_DEDUCT_FUNC 0
+#define SEM_DEDUCT_WITH_VA_LIST 0
+
+
+/*
+ * Event Identifier Definitions.
+ */
+#define CLOSE_CONNECTION 0X001 /* 1 */
+#define CONNECTION_REQUEST_ACCEPTED 0X002 /* 2 */
+#define CONNECTION_REQUEST_REFUSED 0X003 /* 3 */
+#define NEW_CONNECTION 0X004 /* 4 */
+
+
+/*
+ * There are no VS System constants, so this section is intentionally empty!
+ */
+
+
+#endif
diff --git a/cesar/VisualState/coder/vscoder.cre b/cesar/VisualState/coder/vscoder.cre
new file mode 100644
index 0000000000..a0cb3c49e0
--- /dev/null
+++ b/cesar/VisualState/coder/vscoder.cre
@@ -0,0 +1,406 @@
+/*****************************************************************************
+* visualSTATE Coder Report
+* Generated by visualSTATE Coder 5, 4, 0, 1273
+* Time: 2008-02-15 12:04:56
+* visualSTATE Project File: <Project1.vsp>
+* visualSTATE Signature Generator: "50"
+* Project Signature: "681b 87c5 a224 3276 ba20 0753"
+*****************************************************************************/
+
+PROJECT INFORMATION
+
+ Project name : cesar_cp
+
+ Explanation :
+ ""
+
+
+CODER OPTIONS
+
+ Configuration
+
+ API type : Expert
+ API version : V4
+ Generate for C-SPYLink : No
+ RealLink mode : None
+ Use additional RealLink extended keywords : No
+ Enforce compatible RealLink extended keywords : Yes
+ C++ code generation : No
+ Limited license :
+ Expert DLL mode : No
+
+
+ File output
+
+ Output directory : coder\
+ Result file : vscoder.cre
+ Project external variables source file : cesar_cp_PExtVar.c
+ Project external variables header file : cesar_cp_PExtVar.h
+ Constants header file : cesar_cp_PConstant.h
+ Events header file : cesar_cp_PEvent.h
+
+
+ Code
+
+ Optimize states and machines : Yes
+ Functional expression handling : Function pointer tables
+ Data width : Optimized
+ Use event group table indexing : No
+ Rule data format no. : Optimized
+ Internal variable initialization : By definition
+ External variable initialization : By definition
+ Generate digital signature : No
+ Initialize static storage : No
+ Use heap memory : Yes
+ Generate global definitions : No
+
+
+ Style
+
+ SEM variable types : As macros
+ VS variable types : As macros
+
+
+ Extended keywords
+
+ RealLink protocol data keyword :
+ RealLink data keyword :
+ RealLink const data keyword :
+ C51 variable segment : None
+ System context keyword :
+ External variable keyword :
+ C51 constant segment : None
+ Core model logic keyword :
+ Guard expression collection keyword :
+ Action expression collection keyword :
+ Run-time info keyword :
+
+
+MODEL CHARACTERISTICS
+
+ Model elements
+
+ Events : 0
+ Event groups : 0
+ Action functions : 0
+ External variables : 0
+ Constants : 0
+
+
+ Model components
+
+ Systems : 2
+
+
+GENERATED STATISTICS
+
+ Files
+
+ SEM types header file : SEMTypes.h
+ SEM definitions header file : SEMEDef.h
+ Constants header file : cesar_cp_PConstant.h
+ Events header file : cesar_cp_PEvent.h
+
+
+******************************************************************************
+
+SYSTEM INFORMATION
+
+ System name : main_fsm
+
+ Explanation :
+ ""
+
+
+CODER OPTIONS
+
+ File output
+
+ Use Project output path : Yes
+ Output directory : coder\
+ System source file : main_fsm.c
+ System header file : main_fsm.h
+ Action expressions header file : main_fsmAction.h
+ Action functions header file :
+ Constants header file :
+ External variables source file :
+ External variables header file :
+ System data source file : main_fsmData.c
+ System data header file : main_fsmData.h
+ System binary file : $(SYSNAME).sld
+
+
+ Code
+
+ Const system structure : Yes
+ Const guard expression fpt : Yes
+ Const action expression fpt : Yes
+ Static model elements : No
+ Merged guard expressions : No
+ Merged action expressions : No
+ Use guard type cast : Yes
+ Use auto variables : Yes
+
+
+ Style
+
+ System structure name : main_fsm
+ Action expression collection name : MainVSAction
+
+
+ Extended keywords
+
+ C51 variable segment : None
+ External variable keyword :
+ Internal variable keyword :
+ Double buffer data keyword :
+
+
+ API functions
+
+ Include SemInitAll : Yes
+
+
+ Names
+
+ Event name printing : No text
+ State name printing : No text
+ Action function printing : No text
+ Event name format : No conversion
+ State name format : Do not print
+ Action function format : Do not print
+ State machine format : Do not print
+
+
+MODEL CHARACTERISTICS
+
+ Model elements
+
+ Events : 42
+ Event groups : 1
+ Action functions : 35
+ Internal variables : 0
+ External variables : 0
+ Signals : 0
+ Constants : 0
+
+
+ Model components
+
+ State chart files : 1
+ States : 23
+ State machines : 10
+ Transitions : 68
+ Guard expressions : 0
+ Assignments : 0
+
+
+ Model parameters
+
+ Instances : 1
+ Signal queue size : 0
+
+
+GENERATED STATISTICS
+
+ Maximum number of rule elements
+
+ Positive state conditions : 5
+ Negative state conditions : 1
+ Guard expressions : 0
+ Action expressions : 4
+ Next states : 10
+ Signals : 0
+
+
+ Files
+
+ System source file : main_fsm.c
+ System header file : main_fsm.h
+ Action expressions header file : main_fsmAction.h
+ System data source file : main_fsmData.c
+ System data header file : main_fsmData.h
+
+
+ Identifier names
+
+ Rule base : main_fsm
+ Action expression collection : MainVSAction
+ Deduct function : main_fsmSMP_Deduct
+
+
+ Size information
+
+ Core logic size in bytes : 1350
+ Number of guard expressions : 0
+ Number of action expressions : 39
+
+
+******************************************************************************
+
+SYSTEM INFORMATION
+
+ System name : sta_connection
+
+ Explanation :
+ ""
+
+
+CODER OPTIONS
+
+ File output
+
+ Use Project output path : Yes
+ Output directory : coder\
+ System source file : sta_connection.c
+ System header file : sta_connection.h
+ Action expressions header file : sta_connectionAction.h
+ Action functions header file :
+ Constants header file :
+ External variables source file :
+ External variables header file :
+ System data source file : sta_connectionData.c
+ System data header file : sta_connectionData.h
+ System binary file : $(SYSNAME).sld
+
+
+ Code
+
+ Const system structure : Yes
+ Const guard expression fpt : Yes
+ Const action expression fpt : Yes
+ Static model elements : No
+ Merged guard expressions : No
+ Merged action expressions : No
+ Use guard type cast : Yes
+ Use auto variables : Yes
+
+
+ Style
+
+ System structure name : sta_connection
+ Action expression collection name : STA_ConnectionVSAction
+
+
+ Extended keywords
+
+ C51 variable segment : None
+ External variable keyword :
+ Internal variable keyword :
+ Double buffer data keyword :
+
+
+ API functions
+
+ Include SemInitAll : No
+
+
+ Names
+
+ Event name printing : No text
+ State name printing : No text
+ Action function printing : No text
+ Event name format : No conversion
+ State name format : Do not print
+ Action function format : Do not print
+ State machine format : Do not print
+
+
+MODEL CHARACTERISTICS
+
+ Model elements
+
+ Events : 5
+ Event groups : 0
+ Action functions : 0
+ Internal variables : 0
+ External variables : 0
+ Signals : 0
+ Constants : 0
+
+
+ Model components
+
+ State chart files : 1
+ States : 3
+ State machines : 1
+ Transitions : 5
+ Guard expressions : 0
+ Assignments : 0
+
+
+ Model parameters
+
+ Instances : 18
+ Signal queue size : 0
+
+
+GENERATED STATISTICS
+
+ Maximum number of rule elements
+
+ Positive state conditions : 1
+ Negative state conditions : 0
+ Guard expressions : 0
+ Action expressions : 0
+ Next states : 1
+ Signals : 0
+
+
+ Files
+
+ System source file : sta_connection.c
+ System header file : sta_connection.h
+ Action expressions header file : sta_connectionAction.h
+ System data source file : sta_connectionData.c
+ System data header file : sta_connectionData.h
+
+
+ Identifier names
+
+ Rule base : sta_connection
+
+
+ Size information
+
+ Core logic size in bytes : 144
+ Number of guard expressions : 0
+ Number of action expressions : 0
+
+
+******************************************************************************
+
+SUMMARY INFORMATION
+
+ Maximum number of rule elements
+
+ Positive state conditions : 5
+ Negative state conditions : 1
+ Guard expressions : 0
+ Action expressions : 4
+ Next states : 10
+ Signals : 0
+
+
+ Core logic information
+
+ Applied rule data format no. : 4
+ Rule data header word width : 16 bit
+ Rule data width : 16 bit
+
+
+ Accumulated size information
+
+ Core logic size in bytes : 1494
+ Number of guard expressions : 0
+ Number of action expressions : 39
+
+
+ Compilation
+
+ Errors : 0
+ Warnings : 0
+
+
+******************************************************************************
+
diff --git a/cesar/VisualState/create_TestAll.txt b/cesar/VisualState/create_TestAll.txt
new file mode 100644
index 0000000000..04b3e1dc41
--- /dev/null
+++ b/cesar/VisualState/create_TestAll.txt
@@ -0,0 +1,10 @@
+awk 'NR<32 {print > "Test_ALL.vlg"}' Test_USTA.vlg
+awk 'NR>=32 && $1 != "******************************************************************************" {print >> "Test_ALL.vlg"}' Test_SmallFSM.vlg
+awk 'NR>32 && $1 != "******************************************************************************" {print >> "Test_ALL.vlg"}' Test_INIT_SYSTEM.vlg
+awk 'NR>32 && $1 != "******************************************************************************" {print >> "Test_ALL.vlg"}' Test_POND.vlg
+awk 'NR>32 && $1 != "******************************************************************************" {print >> "Test_ALL.vlg"}' Test_USTA.vlg
+awk 'NR>32 && $1 != "******************************************************************************" {print >> "Test_ALL.vlg"}' Test_UCCO.vlg
+awk 'NR>32 && $1 != "******************************************************************************" {print >> "Test_ALL.vlg"}' Test_STA.vlg
+awk 'NR>32 {print >> "Test_ALL.vlg"}' Test_CCO.vlg
+
+rm *.bak
diff --git a/cesar/VisualState/sub/Topstate1.vsr b/cesar/VisualState/sub/Topstate1.vsr
new file mode 100644
index 0000000000..6a638d863f
--- /dev/null
+++ b/cesar/VisualState/sub/Topstate1.vsr
@@ -0,0 +1,704 @@
+@visualSTATE @RuleBase @Format2 "NoName"
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2008-02-15;
+ @Time 16:05:36;
+ [[ Expl = "This is the main FSM." ]]
+
+
+@Declaration
+
+ @ActionFunction
+ VS_VOID cp_station_set_assoc_status(VS_BOOL associated),
+ VS_VOID cp_station_set_auth_status(VS_BOOL is_authenticated),
+ VS_VOID cp_station_set_cco_status(VS_BOOL is_cco)
+ [[ Expl = "the station leave the cco state." ]],
+ VS_VOID init_system()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_bbt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_beacon_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_ustt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID process_cc_assoc_cnf(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_assoc_req(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_ind(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_req(VS_VOIDPTR mme_address),
+ VS_VOID process_drv_set_avln_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_cco_preference(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_dpw_req(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_m_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_mac_address(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_nid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_npw(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_sl(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_snid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_tonemask(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_u_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_was_cco(VS_VOIDPTR msg),
+ VS_VOID process_drv_start_mac_req(VS_VOIDPTR msg),
+ VS_VOID process_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID record_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID send_discover_beacon_as_ucco()
+ [[ Expl = "this function will send a discover beacon, and relaunch a timer of 10ms 0x0d0x0afor the next discover beacon."
+ ]],
+ VS_VOID station_bbt_expires(),
+ VS_VOID trace_cco(),
+ VS_VOID trace_pond(),
+ VS_VOID trace_sta(),
+ VS_VOID trace_ucco(),
+ VS_VOID trace_usta(),
+ VS_VOID transmit_unassoc_sta_mme(),
+ VS_VOID try_associate(VS_VOIDPTR beacon_address)
+ [[ Expl = "see fig 7-76 and 7-770x0d0x0athe station had received a beacon, so it will check the NID, and if if match,0x0d0x0asend a CC_ASSOC.REQ to try to associate with the detected CCO."
+ ]];
+
+
+@Definition
+
+ @Event
+ AUTHENTIFIE_STA(),
+ BBT_EXPIRES(),
+ BEACON_DETECTED(VS_VOIDPTR beacon_address),
+ BEACON_TIMER_EXPIRES(),
+ BECOME_BACKUP_CCO(),
+ BECOME_PCO(),
+ HANDOVER_DONE(),
+ JOIN_WAIT_TIMER_EXPIRES(),
+ LEAVE_BACKUP_CCO(),
+ LEAVE_PCO(),
+ POND_TO_UCCO(),
+ RECEIVE_CC_ASSOC_CNF(VS_VOIDPTR mme_address),
+ RECEIVE_CC_ASSOC_REQ(VS_VOIDPTR mme_address),
+ RECEIVE_CC_SET_TEI_MAP_IND(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.35" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.34" ]],
+ RECEIVE_DRV_MAC_START_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_MAC_STOP_IND(),
+ RECEIVE_DRV_SET_AVLN_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_DPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_MAC_ADDRESS(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_M_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SL(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SNID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_TONEMASK(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_U_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_WAS_CCO(VS_VOIDPTR msg),
+ RECEIVE_USTA_MME(VS_VOIDPTR mme_address),
+ SC_ADD(),
+ SC_JOIN(),
+ SC_TIMER_EXPIRES(),
+ TO_CCO(),
+ TO_HANDOVER(),
+ TO_HANDOVER_IN_PROGRESS(),
+ TO_STA(),
+ TO_USTA(),
+ UCCO_MAX_DISCOVER_EXPIRES()
+ [[ Expl = "as UCCO, we must send a discover beacon every MaxDiscoverPeriod."
+ ]],
+ UNAUTHENTIFIE_STA(),
+ USTT_EXPIRES();
+
+ @EventGroup
+ USTA_TO_CCO(TO_CCO, SC_ADD)
+ [[ Expl = "this will trigger when the station should become CCo, 0x0d0x0aor when it is usta and in sc-add state (see 7.4.1, last 0xa7)"
+ ]];
+
+
+@Implementation
+
+ @StateMachine StateMachineSpec_10 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_beacon_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_9 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry;
+
+ @Exit
+ #cp_station_set_cco_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_8 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_usta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ RECEIVE_USTA_MME(mme_address) : #process_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_7 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_bbt_timer(),
+ #trace_pond();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ BBT_EXPIRES() : #station_bbt_expires(),
+ RECEIVE_USTA_MME(mme_address) : #record_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_6 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_ucco(),
+ #send_discover_beacon_as_ucco();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ UCCO_MAX_DISCOVER_EXPIRES() : #send_discover_beacon_as_ucco();
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_5 (@State StateArgument_13,
+ @State StateArgument_6) =
+
+ @State
+ NORMAL
+ [[ Pos440 = "226 96 318 121 16 1 1638401" ]],
+ @Initial _InitialState5
+ [[ Pos440 = "130 96 150 116 114689" ]],
+ HANDOVER
+ [[ Expl = "A handover will happend, and the station is part of it. If it is STA, it will become CCO and if it is CCO, it will become STA."
+ , Pos440 = "410 66 502 91 16 1 1638401" ]],
+ HANDOVER_IN_PROGRESS
+ [[ Expl = "The handover countdown (in beacon) is running, so some messages are not allowed. The STA is not implied in the current handover."
+ , Pos440 = "417 132 640 157 16 1 1638401" ]],
+ NO_AVLN_TO_TRACK
+ [[ Pos440 = "210 244 356 318 16 1 1638401" ]],
+ AVLN_TO_TRACK = StateMachineSpec_10
+ [[ Pos440 = "464 244 610 318 16 1 1638401" ]],
+ @Initial _InitialState6
+ [[ Pos440 = "94 272 114 292 114689" ]],
+ NOT_PCCO
+ [[ Pos440 = "237 493 329 518 16 1 1638401" ]],
+ @Initial _InitialState7
+ [[ Pos440 = "145 493 165 513 114689" ]],
+ PCCO
+ [[ Pos440 = "401 493 493 518 16 1 1638401" ]],
+ BACKUP_CCO
+ [[ Pos440 = "446 660 572 685 16 1 1638401" ]],
+ NOT_BACKUP
+ [[ Pos440 = "202 660 328 685 16 1 1638401" ]],
+ @Initial _InitialState8
+ [[ Pos440 = "125 657 145 677 114689" ]],
+ SC_NONE
+ [[ Pos440 = "226 858 329 894 16 1 1638401" ]],
+ SC_ADD
+ [[ Pos440 = "392 858 495 894 16 1 1638401" ]],
+ SC_JOIN
+ [[ Pos440 = "392 964 495 1000 16 1 1638401" ]],
+ @Initial _InitialState9
+ [[ Pos440 = "267 773 287 793 114689" ]];
+
+ @StateRegion
+ Handover_Region (NORMAL, _InitialState5, HANDOVER, HANDOVER_IN_PROGRESS)
+ [[ Pos440 = "0 0 683 148" ]],
+ AVLN_Tracking (NO_AVLN_TO_TRACK, AVLN_TO_TRACK, _InitialState6)
+ [[ Pos440 = "0 1 683 234" ]],
+ Proxy_CCO (NOT_PCCO, _InitialState7, PCCO)
+ [[ Pos440 = "0 2 683 173" ]],
+ BackupCCO (BACKUP_CCO, NOT_BACKUP, _InitialState8)
+ [[ Pos440 = "0 3 683 168" ]],
+ SC_Level (SC_NONE, SC_ADD, SC_JOIN, _InitialState9)
+ [[ Pos440 = "0 4 683 265" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ TO_HANDOVER_IN_PROGRESS() @Src NORMAL : @Dest HANDOVER_IN_PROGRESS
+ [[ Pos440 = "388 110 601 131 0 809894016 92 19 0 5" ]],
+ TO_HANDOVER() @Src NORMAL : @Dest HANDOVER
+ [[ Pos440 = "272 40 432 70 1 809894017 76 0 343 75 0 0" ]],
+ @NoEvent @Src _InitialState5 : @Dest NORMAL
+ [[ Pos440 = "150 76 230 106 0 809894016 20 10 0 10" ]],
+ HANDOVER_DONE() @Src HANDOVER : @Dest NORMAL
+ [[ Pos440 = "380 91 531 121 1 809894017 0 17 368 102 92 12" ]],
+ HANDOVER_DONE() @Src HANDOVER_IN_PROGRESS : @Dest NORMAL
+ [[ Pos440 = "256 145 395 175 0 809894016 0 20 62 25" ]],
+ BEACON_DETECTED(beacon_address) @Src NO_AVLN_TO_TRACK : @Dest
+ AVLN_TO_TRACK
+ [[ Pos440 = "356 249 483 279 0 809894016 146 35 0 35" ]],
+ BEACON_DETECTED(beacon_address) @Src AVLN_TO_TRACK : @Dest AVLN_TO_TRACK
+ [[ Pos440 = "558 325 704 355 1 809894017 146 13 633 276 146 59" ]],
+ BEACON_TIMER_EXPIRES() @Src AVLN_TO_TRACK : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "317 383 505 402 1 809894017 75 74 394 379 64 74" ]],
+ @NoEvent @Src _InitialState6 : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "114 252 194 282 0 809894016 20 10 0 38" ]],
+ BECOME_PCO() @Src NOT_PCCO : @Dest PCCO
+ [[ Pos440 = "274 442 408 465 1 809894017 76 0 354 472 0 0" ]],
+ @NoEvent @Src _InitialState7 : @Dest NOT_PCCO
+ [[ Pos440 = "165 473 245 503 0 809894016 20 10 0 10" ]],
+ LEAVE_PCO() @Src PCCO : @Dest NOT_PCCO
+ [[ Pos440 = "318 538 443 568 1 809894017 4 25 363 538 84 25" ]],
+ LEAVE_BACKUP_CCO() @Src BACKUP_CCO : @Dest NOT_BACKUP
+ [[ Pos440 = "292 705 463 735 1 809894017 5 25 383 705 115 25" ]],
+ BECOME_BACKUP_CCO() @Src NOT_BACKUP !StateArgument_13 : @Dest BACKUP_CCO
+ [[ Expl = "This transition will fire for message CC_BACKUP_APPOINT_REQ.0x0d0x0asee 11.2.3"
+ , Pos440 = "295 608 411 638 1 809894017 104 0 375 638 0 0" ]],
+ @NoEvent @Src _InitialState8 : @Dest NOT_BACKUP
+ [[ Pos440 = "145 637 225 667 0 809894016 20 10 0 10" ]],
+ SC_ADD() @Src SC_NONE : @Dest SC_ADD
+ [[ Pos440 = "310 832 429 855 0 809894016 103 9 0 9" ]],
+ SC_JOIN() @Src SC_NONE : @Dest SC_JOIN
+ [[ Pos440 = "281 933 404 963 1 809894017 51 36 307 960 0 17" ]],
+ SC_TIMER_EXPIRES() @Src SC_ADD : @Dest SC_NONE
+ [[ Pos440 = "295 891 461 921 0 809894016 0 25 103 25" ]],
+ TO_CCO() @Src SC_JOIN StateArgument_6 : @Dest SC_ADD
+ [[ Expl = "see 7.3.4.4 two unassociated sta, both in SC-Join0x0d0x0a\"If it is the one to become CCo, it shall change it state to SC-Add\""
+ , Pos440 = "448 917 624 940 0 809894016 50 0 50 36" ]],
+ SC_TIMER_EXPIRES() @Src SC_JOIN : @Dest SC_NONE
+ [[ Pos440 = "229 998 402 1028 1 809894017 0 29 297 971 34 36" ]],
+ @NoEvent @Src _InitialState9 : @Dest SC_NONE
+ [[ Pos440 = "277 763 357 793 0 809894016 10 20 51 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_4 =
+
+ @State;
+
+ @StateRegion
+ Region1
+ [[ Pos440 = "0 0 152 59" ]];
+
+ @Entry
+ #cp_station_set_auth_status(1);
+
+ @Exit
+ #cp_station_set_auth_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_3 =
+
+ @State
+ UNAUTHENTICATED
+ [[ Pos440 = "111 705 263 730 16 1 1638401" ]],
+ @Initial _InitialState3
+ [[ Pos440 = "113 668 133 688 114689" ]],
+ AUTHENTICATED = StateMachineSpec_4
+ [[ Pos440 = "111 761 263 893 73 1 1638401" ]];
+
+ @StateRegion
+ Region1 (UNAUTHENTICATED, _InitialState3, AUTHENTICATED)
+ [[ Pos440 = "0 0 181 243" ]];
+
+ @Entry
+ #trace_sta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ AUTHENTIFIE_STA() @Src UNAUTHENTICATED : @Dest AUTHENTICATED
+ [[ Pos440 = "105 735 185 754 0 809894016 22 25 22 0" ]],
+ @NoEvent @Src _InitialState3 : @Dest UNAUTHENTICATED
+ [[ Pos440 = "107 676 187 706 0 809894016 9 20 10 0" ]],
+ UNAUTHENTIFIE_STA() @Src AUTHENTICATED : @Dest UNAUTHENTICATED
+ [[ Pos440 = "206 735 286 765 0 809894016 111 0 111 25" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_2 (@State StateArgument_47,
+ @State StateArgument_58, @State StateArgument_59, @State StateArgument_54)
+ =
+
+ @State
+ CCO = StateMachineSpec_9
+ [[ Pos440 = "570 711 751 895 16 1 1638401" ]],
+ @Initial _InitialState2
+ [[ Pos440 = "102 593 122 613 114689" ]],
+ ASSOCIATED_STA = StateMachineSpec_3
+ [[ Pos440 = "100 633 281 908 32 1 114689" ]],
+ @Junction _JunctionState0
+ [[ Pos440 = "639 664 659 684 1" ]],
+ @ConnectorStart from_CCO
+ [[ Pos440 = "645 918 747 938 114689" ]],
+ @ConnectorEnd to_CCO
+ [[ Pos440 = "633 946 737 966 114689" ]],
+ @ConnectorStart from_STA
+ [[ Pos440 = "201 917 283 937 114689" ]],
+ @ConnectorEnd to_STA
+ [[ Pos440 = "198 948 280 968 114689" ]];
+
+ @StateRegion
+ Region1 (CCO, _InitialState2, ASSOCIATED_STA, _JunctionState0,
+ @ConnectorStart from_CCO, @ConnectorEnd to_CCO, @ConnectorStart from_STA
+ , @ConnectorEnd to_STA)
+ [[ Pos440 = "0 0 684 397" ]];
+
+ @Entry
+ #cp_station_set_assoc_status(1);
+
+ @Exit
+ #cp_station_set_assoc_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ HANDOVER_DONE() @Src CCO StateArgument_47 : @Dest
+ ASSOCIATED_STA.AUTHENTICATED
+ [[ Pos440 = "281 807 546 827 1 809894016 0 112 440 823 152 62" ]],
+ @NoEvent @Src CCO : @Dest from_CCO
+ [[ Pos440 = "622 926 702 956 1 809894018 55 184 622 926 0 9" ]],
+ @NoEvent @Src _InitialState2 : @Dest ASSOCIATED_STA
+ [[ Pos440 = "112 583 192 613 0 809894016 10 20 12 0" ]],
+ BEACON_TIMER_EXPIRES() @Src ASSOCIATED_STA StateArgument_58 : @Dest
+ _JunctionState0
+ [[ Pos440 = "330 657 609 679 0 809894016 181 42 0 11" ]],
+ HANDOVER_DONE() @Src ASSOCIATED_STA StateArgument_47 : @Dest
+ _JunctionState0
+ [[ Pos440 = "326 634 586 660 1 809894018 181 16 544 652 9 0" ]],
+ @NoEvent @Src ASSOCIATED_STA : @Dest from_STA
+ [[ Pos440 = "175 926 255 956 1 809894018 75 275 175 926 0 9" ]],
+ @NoEvent @Src _JunctionState0 : @Dest CCO StateArgument_59
+ StateArgument_54 #cp_station_set_cco_status(1) #trace_cco()
+ [[ Pos440 = "662 686 742 709 0 809894016 12 20 81 0" ]],
+ @NoEvent @Src to_CCO : @Dest CCO
+ [[ Pos440 = "544 939 624 969 1 809894018 0 8 597 952 27 184" ]],
+ @NoEvent @Src to_STA : @Dest ASSOCIATED_STA
+ [[ Pos440 = "156 925 236 955 1 809894018 0 9 156 955 56 275" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_1 (@State StateArgument_51) =
+
+ @State
+ POND = StateMachineSpec_7
+ [[ Pos440 = "114 245 368 324 16 1 1638401" ]],
+ USTA = StateMachineSpec_8
+ [[ Pos440 = "476 245 730 324 16 1 1638401" ]],
+ @Initial _InitialState1
+ [[ Pos440 = "95 219 115 239 114689" ]];
+
+ @StateRegion
+ Region1 (POND, USTA, _InitialState1)
+ [[ Pos440 = "0 0 684 142" ]];
+
+ @Entry
+ #launch_ustt_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ USTT_EXPIRES() : #launch_ustt_timer(),
+ USTT_EXPIRES() StateArgument_51 : #transmit_unassoc_sta_mme(),
+ BEACON_DETECTED(beacon_address) : #try_associate(beacon_address),
+ RECEIVE_CC_ASSOC_CNF(mme_address) : #process_cc_assoc_cnf(mme_address);
+
+ @TransitionRule
+ TO_USTA() @Src POND : @Dest USTA
+ [[ Pos440 = "370 260 473 282 0 809894016 254 36 0 36" ]],
+ @NoEvent @Src _InitialState1 : @Dest POND
+ [[ Pos440 = "157 215 179 239 0 809894016 20 15 23 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_0 (@State StateArgument_51,
+ @State StateArgument_50, @State StateArgument_47, @State StateArgument_58,
+ @State StateArgument_59, @State StateArgument_54) =
+
+ @State
+ UCCO = StateMachineSpec_6
+ [[ Pos440 = "250 441 768 499 16 1 1638401" ]],
+ POND_OR_USTA = StateMachineSpec_1 (StateArgument_51)
+ [[ Pos440 = "84 157 768 355 56 1 114689" ]],
+ STA_OR_CCO = StateMachineSpec_2 (StateArgument_47, StateArgument_58,
+ StateArgument_59, StateArgument_54)
+ [[ Pos440 = "84 548 768 981 36 1 114689" ]],
+ @Initial _InitialState4
+ [[ Pos440 = "27 166 47 186 114689" ]];
+
+ @StateRegion
+ Region1 (UCCO, POND_OR_USTA, STA_OR_CCO, _InitialState4)
+ [[ Pos440 = "0 0 779 879" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ BEACON_DETECTED(beacon_address) @Src UCCO : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "527 389 707 412 0 809894016 366 0 140 79" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src UCCO : @Dest
+ STA_OR_CCO._JunctionState0 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "562 506 748 529 0 809894016 425 58 20 7" ]],
+ USTA_TO_CCO() @Src POND_OR_USTA : @Dest STA_OR_CCO._JunctionState0
+ [[ Pos440 = "571 422 748 444 0 809894016 567 198 12 0" ]],
+ TO_STA() @Src POND_OR_USTA : @Dest STA_OR_CCO
+ [[ Pos440 = "108 366 287 387 0 809894016 112 198 112 0" ]],
+ POND_TO_UCCO() @Src POND_OR_USTA.POND StateArgument_50 : @Dest UCCO
+ [[ Pos440 = "244 357 420 377 0 809894016 225 79 89 0" ]],
+ BEACON_TIMER_EXPIRES() @Src POND_OR_USTA.USTA : @Dest UCCO
+ [[ Pos440 = "452 364 585 384 0 809894016 19 79 245 0" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_50 : @Dest
+ UCCO
+ [[ Pos440 = "639 618 814 637 0 809894016 162 0 482 58" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_51 : @Dest
+ POND_OR_USTA.USTA
+ [[ Pos440 = "609 581 790 611 0 809894016 134 0 229 79" ]],
+ BEACON_TIMER_EXPIRES() @Src STA_OR_CCO.ASSOCIATED_STA !StateArgument_58 :
+ @Dest POND_OR_USTA.POND
+ [[ Pos440 = "80 407 236 430 0 809894016 57 0 43 79" ]],
+ TO_USTA() @Src STA_OR_CCO.ASSOCIATED_STA : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "244 514 398 535 0 809894016 160 0 0 79" ]],
+ @NoEvent @Src _InitialState4 : @Dest POND_OR_USTA
+ [[ Pos440 = "47 146 127 176 0 809894016 20 10 0 19" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @TopStateMachine Station =
+
+ @State
+ @Initial _InitialState0
+ [[ Pos440 = "6 6 44 44 114689" ]],
+ ON = StateMachineSpec_0 (SMALL_FSM.AVLN_TO_TRACK,
+ SMALL_FSM.NO_AVLN_TO_TRACK, SMALL_FSM.HANDOVER, SMALL_FSM.BACKUP_CCO,
+ SMALL_FSM.NOT_BACKUP, SMALL_FSM.NOT_PCCO)
+ [[ Pos440 = "6 110 785 1020 31 1 114689" ]],
+ @ConnectorEnd from_CCO
+ [[ Pos440 = "808 16 897 41 114689" ]],
+ @ConnectorStart to_CCO
+ [[ Pos440 = "1494 16 1573 41 114689" ]],
+ @Junction _JunctionState1
+ [[ Pos440 = "842 75 862 95 1" ]],
+ @Junction _JunctionState2
+ [[ Pos440 = "1523 75 1543 95 1" ]],
+ @ConnectorEnd from_STA
+ [[ Pos440 = "8 1061 89 1081 114689" ]],
+ @ConnectorStart to_STA
+ [[ Pos440 = "685 1061 766 1081 114689" ]],
+ @Junction _JunctionState3
+ [[ Pos440 = "38 1121 58 1141 1" ]],
+ @Junction _JunctionState4
+ [[ Pos440 = "715 1121 735 1141 1" ]],
+ INIT_SYSTEM
+ [[ Pos440 = "200 26 593 76 16 1 1638401" ]],
+ @ConnectorStart from_INIT
+ [[ Pos440 = "632 28 738 48 114689" ]],
+ @ConnectorEnd from_INIT
+ [[ Pos440 = "824 1069 944 1089 114689" ]],
+ @ConnectorEnd to_INIT
+ [[ Pos440 = "624 54 735 74 114689" ]],
+ @ConnectorStart to_INIT
+ [[ Pos440 = "1402 1066 1492 1086 114689" ]],
+ @Junction _JunctionState5
+ [[ Pos440 = "869 1135 889 1155 1" ]],
+ @Junction _JunctionState6
+ [[ Pos440 = "1437 1131 1457 1151 1" ]],
+ SMALL_FSM = StateMachineSpec_5 (ON.STA_OR_CCO.CCO, ON.POND_OR_USTA)
+ [[ Pos440 = "26 17 709 1021 16 1 114689" ]];
+
+ @StateRegion
+ @OffPage Station (_InitialState0, ON, @ConnectorEnd from_CCO,
+ @ConnectorStart to_CCO, _JunctionState1, _JunctionState2, @ConnectorEnd
+ from_STA, @ConnectorStart to_STA, _JunctionState3, _JunctionState4,
+ INIT_SYSTEM, @ConnectorStart from_INIT, @ConnectorEnd from_INIT,
+ @ConnectorEnd to_INIT, @ConnectorStart to_INIT, _JunctionState5,
+ _JunctionState6)
+ [[ Pos440 = "0 0 318 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]],
+ @OffPage Small_FSMs (SMALL_FSM)
+ [[ Pos440 = "1 0 148 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ @NoEvent @Src _InitialState0 : @Dest INIT_SYSTEM #init_system()
+ [[ Pos440 = "160 -114 284 -100 2 809894017 38 18 121 43 0 25" ]],
+ RECEIVE_DRV_MAC_STOP_IND() @Src ON : @Dest INIT_SYSTEM
+ [[ Pos440 = "61 86 295 104 0 809894016 280 0 86 50" ]],
+ @NoEvent @Src from_CCO : @Dest _JunctionState1
+ [[ Pos440 = "851 41 931 71 0 809894016 43 25 9 0" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "914 90 1485 120 1 809894018 20 11 884 110 0 9" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_set_tei_map_req(mme_address)
+ [[ Pos440 = "908 128 1473 158 1 809894018 20 11 868 148 4 20" ]],
+ @NoEvent @Src _JunctionState2 : @Dest to_CCO
+ [[ Pos440 = "1531 45 1611 75 0 809894016 8 0 35 25" ]],
+ @NoEvent @Src from_STA : @Dest _JunctionState3
+ [[ Pos440 = "45 1051 125 1081 0 809894016 37 20 7 0" ]],
+ RECEIVE_CC_SET_TEI_MAP_IND(mme_address) @Src _JunctionState3 : @Dest
+ _JunctionState4 #process_cc_set_tei_map_ind(mme_address)
+ [[ Pos440 = "101 1144 671 1174 1 809894018 20 10 81 1164 0 20" ]],
+ @NoEvent @Src _JunctionState4 : @Dest to_STA
+ [[ Pos440 = "724 1121 804 1151 0 809894016 9 0 39 20" ]],
+ RECEIVE_DRV_MAC_START_REQ(msg) @Src INIT_SYSTEM : @Dest ON
+ #process_drv_start_mac_req(msg)
+ [[ Pos440 = "517 83 779 108 0 809894016 309 50 503 0" ]],
+ @NoEvent @Src INIT_SYSTEM : @Dest from_INIT
+ [[ Pos440 = "593 3 673 33 0 809894016 393 7 0 9" ]],
+ @NoEvent @Src from_INIT : @Dest _JunctionState5
+ [[ Pos440 = "801 1059 881 1089 0 809894016 57 20 9 0" ]],
+ @NoEvent @Src to_INIT : @Dest INIT_SYSTEM
+ [[ Pos440 = "575 12 655 42 0 809894016 0 9 393 37" ]],
+ RECEIVE_DRV_SET_MAC_ADDRESS(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_mac_address(msg)
+ [[ Pos440 = "916 1153 1420 1183 1 809894018 7 20 876 1183 1447 1174 8 20"
+ ]],
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_cco_preference(msg)
+ [[ Pos440 = "922 1211 1402 1241 1 809894018 0 12 893 1238 10 20" ]],
+ RECEIVE_DRV_SET_WAS_CCO(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_was_cco(msg)
+ [[ Pos440 = "919 1257 1426 1287 1 809894018 9 0 891 1285 20 11" ]],
+ RECEIVE_DRV_SET_NPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_npw(msg)
+ [[ Pos440 = "896 1311 1437 1341 1 809894018 12 20 953 1344 11 20" ]],
+ RECEIVE_DRV_SET_DPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_dpw_req(msg)
+ [[ Pos440 = "896 1363 1443 1393 1 809894018 0 10 948 1394 14 20" ]],
+ RECEIVE_DRV_SET_M_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_m_sta_hfid(msg)
+ [[ Pos440 = "895 1423 1429 1453 1 809894018 7 20 887 1449 10 20" ]],
+ RECEIVE_DRV_SET_U_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_u_sta_hfid(msg)
+ [[ Pos440 = "913 1463 1421 1493 1 809894018 12 20 909 1493 8 20" ]],
+ RECEIVE_DRV_SET_AVLN_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_avln_hfid(msg)
+ [[ Pos440 = "913 1516 1432 1546 1 809894018 20 7 908 1545 20 11" ]],
+ RECEIVE_DRV_SET_SL(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_sl(msg)
+ [[ Pos440 = "889 1570 1434 1600 1 809894018 0 13 984 1596 20 11" ]],
+ RECEIVE_DRV_SET_TONEMASK(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_tonemask(msg)
+ [[ Pos440 = "909 1618 1434 1648 1 809894018 7 20 884 1647 20 10" ]],
+ RECEIVE_DRV_SET_NID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_nid(msg)
+ [[ Pos440 = "906 1662 1434 1692 1 809894018 10 0 921 1696 1448 1677 0 8"
+ ]],
+ RECEIVE_DRV_SET_SNID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_snid(msg)
+ [[ Pos440 = "891 1713 1431 1743 1 809894018 0 6 898 1744 1457 1738 20 10"
+ ]],
+ @NoEvent @Src _JunctionState6 : @Dest to_INIT
+ [[ Pos440 = "1367 1131 1447 1161 0 809894016 10 0 65 20" ]];
+
+ @TerminationRule;
+
+ [[ Pos440 = "10 10 476 76 16 1 114689" ]]
+
+ @End;
+
diff --git a/cesar/VisualState/sub/Topstate1.vsr.bk1 b/cesar/VisualState/sub/Topstate1.vsr.bk1
new file mode 100644
index 0000000000..6baabb5252
--- /dev/null
+++ b/cesar/VisualState/sub/Topstate1.vsr.bk1
@@ -0,0 +1,704 @@
+@visualSTATE @RuleBase @Format2 "NoName"
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2008-02-15;
+ @Time 11:49:24;
+ [[ Expl = "This is the main FSM." ]]
+
+
+@Declaration
+
+ @ActionFunction
+ VS_VOID cp_station_set_assoc_status(VS_BOOL associated),
+ VS_VOID cp_station_set_auth_status(VS_BOOL is_authenticated),
+ VS_VOID cp_station_set_cco_status(VS_BOOL is_cco)
+ [[ Expl = "the station leave the cco state." ]],
+ VS_VOID init_system()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_bbt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_beacon_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_ustt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID process_cc_assoc_cnf(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_assoc_req(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_ind(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_req(VS_VOIDPTR mme_address),
+ VS_VOID process_drv_set_avln_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_cco_preference(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_dpw_req(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_m_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_mac_address(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_nid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_npw(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_sl(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_snid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_tonemask(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_u_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_was_cco(VS_VOIDPTR msg),
+ VS_VOID process_drv_start_mac_req(VS_VOIDPTR msg),
+ VS_VOID process_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID record_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID send_discover_beacon_as_ucco()
+ [[ Expl = "this function will send a discover beacon, and relaunch a timer of 10ms 0x0d0x0afor the next discover beacon."
+ ]],
+ VS_VOID station_bbt_expires(),
+ VS_VOID trace_cco(),
+ VS_VOID trace_pond(),
+ VS_VOID trace_sta(),
+ VS_VOID trace_ucco(),
+ VS_VOID trace_usta(),
+ VS_VOID transmit_unassoc_sta_mme(),
+ VS_VOID try_associate(VS_VOIDPTR beacon_address)
+ [[ Expl = "see fig 7-76 and 7-770x0d0x0athe station had received a beacon, so it will check the NID, and if if match,0x0d0x0asend a CC_ASSOC.REQ to try to associate with the detected CCO."
+ ]];
+
+
+@Definition
+
+ @Event
+ AUTHENTIFIE_STA(),
+ BBT_EXPIRES(),
+ BEACON_DETECTED(VS_VOIDPTR beacon_address),
+ BEACON_TIMER_EXPIRES(),
+ BECOME_BACKUP_CCO(),
+ BECOME_PCO(),
+ HANDOVER_DONE(),
+ JOIN_WAIT_TIMER_EXPIRES(),
+ LEAVE_BACKUP_CCO(),
+ LEAVE_PCO(),
+ POND_TO_UCCO(),
+ RECEIVE_CC_ASSOC_CNF(VS_VOIDPTR mme_address),
+ RECEIVE_CC_ASSOC_REQ(VS_VOIDPTR mme_address),
+ RECEIVE_CC_SET_TEI_MAP_IND(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.35" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.34" ]],
+ RECEIVE_DRV_MAC_START_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_MAC_STOP_IND(),
+ RECEIVE_DRV_SET_AVLN_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_DPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_MAC_ADDRESS(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_M_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SL(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SNID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_TONEMASK(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_U_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_WAS_CCO(VS_VOIDPTR msg),
+ RECEIVE_USTA_MME(VS_VOIDPTR mme_address),
+ SC_ADD(),
+ SC_JOIN(),
+ SC_TIMER_EXPIRES(),
+ TO_CCO(),
+ TO_HANDOVER(),
+ TO_HANDOVER_IN_PROGRESS(),
+ TO_STA(),
+ TO_USTA(),
+ UCCO_MAX_DISCOVER_EXPIRES()
+ [[ Expl = "as UCCO, we must send a discover beacon every MaxDiscoverPeriod."
+ ]],
+ UNAUTHENTIFIE_STA(),
+ USTT_EXPIRES();
+
+ @EventGroup
+ USTA_TO_CCO(TO_CCO, SC_ADD)
+ [[ Expl = "this will trigger when the station should become CCo, 0x0d0x0aor when it is usta and in sc-add state (see 7.4.1, last 0xa7)"
+ ]];
+
+
+@Implementation
+
+ @StateMachine StateMachineSpec_10 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_beacon_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_9 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry;
+
+ @Exit
+ #cp_station_set_cco_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_8 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_usta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ RECEIVE_USTA_MME(mme_address) : #process_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_7 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_bbt_timer(),
+ #trace_pond();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ BBT_EXPIRES() : #station_bbt_expires(),
+ RECEIVE_USTA_MME(mme_address) : #record_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_6 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_ucco(),
+ #send_discover_beacon_as_ucco();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ UCCO_MAX_DISCOVER_EXPIRES() : #send_discover_beacon_as_ucco();
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_5 (@State StateArgument_13,
+ @State StateArgument_6) =
+
+ @State
+ NORMAL
+ [[ Pos440 = "226 96 318 121 16 1 1638401" ]],
+ @Initial _InitialState5
+ [[ Pos440 = "130 96 150 116 114689" ]],
+ HANDOVER
+ [[ Expl = "A handover will happend, and the station is part of it. If it is STA, it will become CCO and if it is CCO, it will become STA."
+ , Pos440 = "410 66 502 91 16 1 1638401" ]],
+ HANDOVER_IN_PROGRESS
+ [[ Expl = "The handover countdown (in beacon) is running, so some messages are not allowed. The STA is not implied in the current handover."
+ , Pos440 = "417 132 640 157 16 1 1638401" ]],
+ NO_AVLN_TO_TRACK
+ [[ Pos440 = "210 244 356 318 16 1 1638401" ]],
+ AVLN_TO_TRACK = StateMachineSpec_10
+ [[ Pos440 = "464 244 610 318 16 1 1638401" ]],
+ @Initial _InitialState6
+ [[ Pos440 = "94 272 114 292 114689" ]],
+ NOT_PCCO
+ [[ Pos440 = "237 493 329 518 16 1 1638401" ]],
+ @Initial _InitialState7
+ [[ Pos440 = "145 493 165 513 114689" ]],
+ PCCO
+ [[ Pos440 = "401 493 493 518 16 1 1638401" ]],
+ BACKUP_CCO
+ [[ Pos440 = "446 660 572 685 16 1 1638401" ]],
+ NOT_BACKUP
+ [[ Pos440 = "202 660 328 685 16 1 1638401" ]],
+ @Initial _InitialState8
+ [[ Pos440 = "125 657 145 677 114689" ]],
+ SC_NONE
+ [[ Pos440 = "226 858 329 894 16 1 1638401" ]],
+ SC_ADD
+ [[ Pos440 = "392 858 495 894 16 1 1638401" ]],
+ SC_JOIN
+ [[ Pos440 = "392 964 495 1000 16 1 1638401" ]],
+ @Initial _InitialState9
+ [[ Pos440 = "267 773 287 793 114689" ]];
+
+ @StateRegion
+ Handover_Region (NORMAL, _InitialState5, HANDOVER, HANDOVER_IN_PROGRESS)
+ [[ Pos440 = "0 0 683 148" ]],
+ AVLN_Tracking (NO_AVLN_TO_TRACK, AVLN_TO_TRACK, _InitialState6)
+ [[ Pos440 = "0 1 683 234" ]],
+ Proxy_CCO (NOT_PCCO, _InitialState7, PCCO)
+ [[ Pos440 = "0 2 683 173" ]],
+ BackupCCO (BACKUP_CCO, NOT_BACKUP, _InitialState8)
+ [[ Pos440 = "0 3 683 168" ]],
+ SC_Level (SC_NONE, SC_ADD, SC_JOIN, _InitialState9)
+ [[ Pos440 = "0 4 683 265" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ TO_HANDOVER_IN_PROGRESS() @Src NORMAL : @Dest HANDOVER_IN_PROGRESS
+ [[ Pos440 = "388 110 601 131 0 809894016 92 19 0 5" ]],
+ TO_HANDOVER() @Src NORMAL : @Dest HANDOVER
+ [[ Pos440 = "272 40 432 70 1 809894017 76 0 343 75 0 0" ]],
+ @NoEvent @Src _InitialState5 : @Dest NORMAL
+ [[ Pos440 = "150 76 230 106 0 809894016 20 10 0 10" ]],
+ HANDOVER_DONE() @Src HANDOVER : @Dest NORMAL
+ [[ Pos440 = "380 91 531 121 1 809894017 0 17 368 102 92 12" ]],
+ HANDOVER_DONE() @Src HANDOVER_IN_PROGRESS : @Dest NORMAL
+ [[ Pos440 = "256 145 395 175 0 809894016 0 20 62 25" ]],
+ BEACON_DETECTED(beacon_address) @Src NO_AVLN_TO_TRACK : @Dest
+ AVLN_TO_TRACK
+ [[ Pos440 = "356 249 483 279 0 809894016 146 35 0 35" ]],
+ BEACON_DETECTED(beacon_address) @Src AVLN_TO_TRACK : @Dest AVLN_TO_TRACK
+ [[ Pos440 = "558 325 704 355 1 809894017 146 13 633 276 146 59" ]],
+ BEACON_TIMER_EXPIRES() @Src AVLN_TO_TRACK : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "317 383 505 402 1 809894017 75 74 394 379 64 74" ]],
+ @NoEvent @Src _InitialState6 : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "114 252 194 282 0 809894016 20 10 0 38" ]],
+ BECOME_PCO() @Src NOT_PCCO : @Dest PCCO
+ [[ Pos440 = "274 442 408 465 1 809894017 76 0 354 472 0 0" ]],
+ @NoEvent @Src _InitialState7 : @Dest NOT_PCCO
+ [[ Pos440 = "165 473 245 503 0 809894016 20 10 0 10" ]],
+ LEAVE_PCO() @Src PCCO : @Dest NOT_PCCO
+ [[ Pos440 = "318 538 443 568 1 809894017 4 25 363 538 84 25" ]],
+ LEAVE_BACKUP_CCO() @Src BACKUP_CCO : @Dest NOT_BACKUP
+ [[ Pos440 = "292 705 463 735 1 809894017 5 25 383 705 115 25" ]],
+ BECOME_BACKUP_CCO() @Src NOT_BACKUP !StateArgument_13 : @Dest BACKUP_CCO
+ [[ Expl = "This transition will fire for message CC_BACKUP_APPOINT_REQ.0x0d0x0asee 11.2.3"
+ , Pos440 = "295 608 411 638 1 809894017 104 0 375 638 0 0" ]],
+ @NoEvent @Src _InitialState8 : @Dest NOT_BACKUP
+ [[ Pos440 = "145 637 225 667 0 809894016 20 10 0 10" ]],
+ SC_ADD() @Src SC_NONE : @Dest SC_ADD
+ [[ Pos440 = "310 832 429 855 0 809894016 103 9 0 9" ]],
+ SC_JOIN() @Src SC_NONE : @Dest SC_JOIN
+ [[ Pos440 = "281 933 404 963 1 809894017 51 36 307 960 0 17" ]],
+ SC_TIMER_EXPIRES() @Src SC_ADD : @Dest SC_NONE
+ [[ Pos440 = "295 891 461 921 0 809894016 0 25 103 25" ]],
+ TO_CCO() @Src SC_JOIN StateArgument_6 : @Dest SC_ADD
+ [[ Expl = "see 7.3.4.4 two unassociated sta, both in SC-Join0x0d0x0a\"If it is the one to become CCo, it shall change it state to SC-Add\""
+ , Pos440 = "448 917 624 940 0 809894016 50 0 50 36" ]],
+ SC_TIMER_EXPIRES() @Src SC_JOIN : @Dest SC_NONE
+ [[ Pos440 = "229 998 402 1028 1 809894017 0 29 297 971 34 36" ]],
+ @NoEvent @Src _InitialState9 : @Dest SC_NONE
+ [[ Pos440 = "277 763 357 793 0 809894016 10 20 51 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_4 =
+
+ @State;
+
+ @StateRegion
+ Region1
+ [[ Pos440 = "0 0 152 59" ]];
+
+ @Entry
+ #cp_station_set_auth_status(1);
+
+ @Exit
+ #cp_station_set_auth_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_3 =
+
+ @State
+ UNAUTHENTICATED
+ [[ Pos440 = "111 705 263 730 16 1 1638401" ]],
+ @Initial _InitialState3
+ [[ Pos440 = "113 668 133 688 114689" ]],
+ AUTHENTICATED = StateMachineSpec_4
+ [[ Pos440 = "111 761 263 893 73 1 1638401" ]];
+
+ @StateRegion
+ Region1 (UNAUTHENTICATED, _InitialState3, AUTHENTICATED)
+ [[ Pos440 = "0 0 181 243" ]];
+
+ @Entry
+ #trace_sta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ AUTHENTIFIE_STA() @Src UNAUTHENTICATED : @Dest AUTHENTICATED
+ [[ Pos440 = "105 735 185 754 0 809894016 22 25 22 0" ]],
+ @NoEvent @Src _InitialState3 : @Dest UNAUTHENTICATED
+ [[ Pos440 = "107 676 187 706 0 809894016 9 20 10 0" ]],
+ UNAUTHENTIFIE_STA() @Src AUTHENTICATED : @Dest UNAUTHENTICATED
+ [[ Pos440 = "206 735 286 765 0 809894016 111 0 111 25" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_2 (@State StateArgument_47,
+ @State StateArgument_58, @State StateArgument_59, @State StateArgument_54)
+ =
+
+ @State
+ CCO = StateMachineSpec_9
+ [[ Pos440 = "570 711 751 895 16 1 1638401" ]],
+ @Initial _InitialState2
+ [[ Pos440 = "102 593 122 613 114689" ]],
+ ASSOCIATED_STA = StateMachineSpec_3
+ [[ Pos440 = "100 633 281 908 32 1 114689" ]],
+ @Junction _JunctionState0
+ [[ Pos440 = "639 664 659 684 1" ]],
+ @ConnectorStart from_CCO
+ [[ Pos440 = "645 918 747 938 114689" ]],
+ @ConnectorEnd to_CCO
+ [[ Pos440 = "633 946 737 966 114689" ]],
+ @ConnectorStart from_STA
+ [[ Pos440 = "201 917 283 937 114689" ]],
+ @ConnectorEnd to_STA
+ [[ Pos440 = "198 948 280 968 114689" ]];
+
+ @StateRegion
+ Region1 (CCO, _InitialState2, ASSOCIATED_STA, _JunctionState0,
+ @ConnectorStart from_CCO, @ConnectorEnd to_CCO, @ConnectorStart from_STA
+ , @ConnectorEnd to_STA)
+ [[ Pos440 = "0 0 684 397" ]];
+
+ @Entry
+ #cp_station_set_assoc_status(1);
+
+ @Exit
+ #cp_station_set_assoc_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ HANDOVER_DONE() @Src CCO StateArgument_47 : @Dest
+ ASSOCIATED_STA.AUTHENTICATED
+ [[ Pos440 = "281 807 546 827 1 809894016 0 112 440 823 152 62" ]],
+ @NoEvent @Src CCO : @Dest from_CCO
+ [[ Pos440 = "622 926 702 956 1 809894018 55 184 622 926 0 9" ]],
+ @NoEvent @Src _InitialState2 : @Dest ASSOCIATED_STA
+ [[ Pos440 = "112 583 192 613 0 809894016 10 20 12 0" ]],
+ BEACON_TIMER_EXPIRES() @Src ASSOCIATED_STA StateArgument_58 : @Dest
+ _JunctionState0
+ [[ Pos440 = "330 657 609 679 0 809894016 181 42 0 11" ]],
+ HANDOVER_DONE() @Src ASSOCIATED_STA StateArgument_47 : @Dest
+ _JunctionState0
+ [[ Pos440 = "326 634 586 660 1 809894018 181 16 544 652 9 0" ]],
+ @NoEvent @Src ASSOCIATED_STA : @Dest from_STA
+ [[ Pos440 = "175 926 255 956 1 809894018 75 275 175 926 0 9" ]],
+ @NoEvent @Src _JunctionState0 : @Dest CCO StateArgument_59
+ StateArgument_54 #cp_station_set_cco_status(1) #trace_cco()
+ [[ Pos440 = "662 686 742 709 0 809894016 12 20 81 0" ]],
+ @NoEvent @Src to_CCO : @Dest CCO
+ [[ Pos440 = "544 939 624 969 1 809894018 0 8 597 952 27 184" ]],
+ @NoEvent @Src to_STA : @Dest ASSOCIATED_STA
+ [[ Pos440 = "156 925 236 955 1 809894018 0 9 156 955 56 275" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_1 (@State StateArgument_51) =
+
+ @State
+ POND = StateMachineSpec_7
+ [[ Pos440 = "114 245 368 324 16 1 1638401" ]],
+ USTA = StateMachineSpec_8
+ [[ Pos440 = "476 245 730 324 16 1 1638401" ]],
+ @Initial _InitialState1
+ [[ Pos440 = "95 219 115 239 114689" ]];
+
+ @StateRegion
+ Region1 (POND, USTA, _InitialState1)
+ [[ Pos440 = "0 0 684 142" ]];
+
+ @Entry
+ #launch_ustt_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ USTT_EXPIRES() : #launch_ustt_timer(),
+ USTT_EXPIRES() StateArgument_51 : #transmit_unassoc_sta_mme(),
+ BEACON_DETECTED(beacon_address) : #try_associate(beacon_address),
+ RECEIVE_CC_ASSOC_CNF(mme_address) : #process_cc_assoc_cnf(mme_address);
+
+ @TransitionRule
+ TO_USTA() @Src POND : @Dest USTA
+ [[ Pos440 = "370 260 473 282 0 809894016 254 36 0 36" ]],
+ @NoEvent @Src _InitialState1 : @Dest POND
+ [[ Pos440 = "157 215 179 239 0 809894016 20 15 23 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_0 (@State StateArgument_51,
+ @State StateArgument_50, @State StateArgument_47, @State StateArgument_58,
+ @State StateArgument_59, @State StateArgument_54) =
+
+ @State
+ UCCO = StateMachineSpec_6
+ [[ Pos440 = "250 441 768 499 16 1 1638401" ]],
+ POND_OR_USTA = StateMachineSpec_1 (StateArgument_51)
+ [[ Pos440 = "84 157 768 355 56 1 114689" ]],
+ STA_OR_CCO = StateMachineSpec_2 (StateArgument_47, StateArgument_58,
+ StateArgument_59, StateArgument_54)
+ [[ Pos440 = "84 548 768 981 36 1 114689" ]],
+ @Initial _InitialState4
+ [[ Pos440 = "27 166 47 186 114689" ]];
+
+ @StateRegion
+ Region1 (UCCO, POND_OR_USTA, STA_OR_CCO, _InitialState4)
+ [[ Pos440 = "0 0 779 879" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ BEACON_DETECTED(beacon_address) @Src UCCO : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "527 389 707 412 0 809894016 366 0 140 79" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src UCCO : @Dest
+ STA_OR_CCO._JunctionState0 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "562 506 748 529 0 809894016 425 58 20 7" ]],
+ USTA_TO_CCO() @Src POND_OR_USTA : @Dest STA_OR_CCO._JunctionState0
+ [[ Pos440 = "571 422 748 444 0 809894016 567 198 12 0" ]],
+ TO_STA() @Src POND_OR_USTA : @Dest STA_OR_CCO
+ [[ Pos440 = "108 366 287 387 0 809894016 112 198 112 0" ]],
+ POND_TO_UCCO() @Src POND_OR_USTA.POND StateArgument_50 : @Dest UCCO
+ [[ Pos440 = "244 357 420 377 0 809894016 225 79 89 0" ]],
+ BEACON_TIMER_EXPIRES() @Src POND_OR_USTA.USTA : @Dest UCCO
+ [[ Pos440 = "452 364 585 384 0 809894016 19 79 245 0" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_50 : @Dest
+ UCCO
+ [[ Pos440 = "639 618 814 637 0 809894016 162 0 482 58" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_51 : @Dest
+ POND_OR_USTA.USTA
+ [[ Pos440 = "609 581 790 611 0 809894016 134 0 229 79" ]],
+ BEACON_TIMER_EXPIRES() @Src STA_OR_CCO.ASSOCIATED_STA !StateArgument_58 :
+ @Dest POND_OR_USTA.POND
+ [[ Pos440 = "80 407 236 430 0 809894016 57 0 43 79" ]],
+ TO_USTA() @Src STA_OR_CCO.ASSOCIATED_STA : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "244 514 398 535 0 809894016 160 0 0 79" ]],
+ @NoEvent @Src _InitialState4 : @Dest POND_OR_USTA
+ [[ Pos440 = "47 146 127 176 0 809894016 20 10 0 19" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @TopStateMachine Station =
+
+ @State
+ @Initial _InitialState0
+ [[ Pos440 = "6 6 44 44 114689" ]],
+ ON = StateMachineSpec_0 (SMALL_FSM.AVLN_TO_TRACK,
+ SMALL_FSM.NO_AVLN_TO_TRACK, SMALL_FSM.HANDOVER, SMALL_FSM.BACKUP_CCO,
+ SMALL_FSM.NOT_BACKUP, SMALL_FSM.NOT_PCCO)
+ [[ Pos440 = "6 110 785 1020 31 1 114689" ]],
+ @ConnectorEnd from_CCO
+ [[ Pos440 = "808 16 897 41 114689" ]],
+ @ConnectorStart to_CCO
+ [[ Pos440 = "1494 16 1573 41 114689" ]],
+ @Junction _JunctionState1
+ [[ Pos440 = "842 75 862 95 1" ]],
+ @Junction _JunctionState2
+ [[ Pos440 = "1523 75 1543 95 1" ]],
+ @ConnectorEnd from_STA
+ [[ Pos440 = "8 1061 89 1081 114689" ]],
+ @ConnectorStart to_STA
+ [[ Pos440 = "685 1061 766 1081 114689" ]],
+ @Junction _JunctionState3
+ [[ Pos440 = "38 1121 58 1141 1" ]],
+ @Junction _JunctionState4
+ [[ Pos440 = "715 1121 735 1141 1" ]],
+ INIT_SYSTEM
+ [[ Pos440 = "200 26 593 76 16 1 1638401" ]],
+ @ConnectorStart from_INIT
+ [[ Pos440 = "632 28 738 48 114689" ]],
+ @ConnectorEnd from_INIT
+ [[ Pos440 = "824 1069 944 1089 114689" ]],
+ @ConnectorEnd to_INIT
+ [[ Pos440 = "624 54 735 74 114689" ]],
+ @ConnectorStart to_INIT
+ [[ Pos440 = "1402 1066 1492 1086 114689" ]],
+ @Junction _JunctionState5
+ [[ Pos440 = "869 1135 889 1155 1" ]],
+ @Junction _JunctionState6
+ [[ Pos440 = "1437 1131 1457 1151 1" ]],
+ SMALL_FSM = StateMachineSpec_5 (ON.STA_OR_CCO.CCO, ON.POND_OR_USTA)
+ [[ Pos440 = "26 17 709 1021 16 1 114689" ]];
+
+ @StateRegion
+ @OffPage Station (_InitialState0, ON, @ConnectorEnd from_CCO,
+ @ConnectorStart to_CCO, _JunctionState1, _JunctionState2, @ConnectorEnd
+ from_STA, @ConnectorStart to_STA, _JunctionState3, _JunctionState4,
+ INIT_SYSTEM, @ConnectorStart from_INIT, @ConnectorEnd from_INIT,
+ @ConnectorEnd to_INIT, @ConnectorStart to_INIT, _JunctionState5,
+ _JunctionState6)
+ [[ Pos440 = "0 0 318 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]],
+ @OffPage Small_FSMs (SMALL_FSM)
+ [[ Pos440 = "1 0 148 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ @NoEvent @Src _InitialState0 : @Dest INIT_SYSTEM #init_system()
+ [[ Pos440 = "160 -114 284 -100 2 809894017 38 18 121 43 0 25" ]],
+ RECEIVE_DRV_MAC_STOP_IND() @Src ON : @Dest INIT_SYSTEM
+ [[ Pos440 = "61 86 295 104 0 809894016 280 0 86 50" ]],
+ @NoEvent @Src from_CCO : @Dest _JunctionState1
+ [[ Pos440 = "851 41 931 71 0 809894016 43 25 9 0" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "914 90 1485 120 1 809894018 20 11 884 110 0 9" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_set_tei_map_req(mme_address)
+ [[ Pos440 = "908 128 1473 158 1 809894018 20 11 868 148 4 20" ]],
+ @NoEvent @Src _JunctionState2 : @Dest to_CCO
+ [[ Pos440 = "1531 45 1611 75 0 809894016 8 0 35 25" ]],
+ @NoEvent @Src from_STA : @Dest _JunctionState3
+ [[ Pos440 = "45 1051 125 1081 0 809894016 37 20 7 0" ]],
+ RECEIVE_CC_SET_TEI_MAP_IND(mme_address) @Src _JunctionState3 : @Dest
+ _JunctionState4 #process_cc_set_tei_map_ind(mme_address)
+ [[ Pos440 = "101 1144 671 1174 1 809894018 20 10 81 1164 0 20" ]],
+ @NoEvent @Src _JunctionState4 : @Dest to_STA
+ [[ Pos440 = "724 1121 804 1151 0 809894016 9 0 39 20" ]],
+ RECEIVE_DRV_MAC_START_REQ(msg) @Src INIT_SYSTEM : @Dest ON
+ #process_drv_start_mac_req(msg)
+ [[ Pos440 = "517 83 779 108 0 809894016 309 50 503 0" ]],
+ @NoEvent @Src INIT_SYSTEM : @Dest from_INIT
+ [[ Pos440 = "593 3 673 33 0 809894016 393 7 0 9" ]],
+ @NoEvent @Src from_INIT : @Dest _JunctionState5
+ [[ Pos440 = "801 1059 881 1089 0 809894016 57 20 9 0" ]],
+ @NoEvent @Src to_INIT : @Dest INIT_SYSTEM
+ [[ Pos440 = "575 12 655 42 0 809894016 0 9 393 37" ]],
+ RECEIVE_DRV_SET_MAC_ADDRESS(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_mac_address(msg)
+ [[ Pos440 = "916 1153 1420 1183 1 809894018 7 20 876 1183 1447 1174 8 20"
+ ]],
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_cco_preference(msg)
+ [[ Pos440 = "922 1211 1402 1241 1 809894018 0 12 893 1238 10 20" ]],
+ RECEIVE_DRV_SET_WAS_CCO(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_was_cco(msg)
+ [[ Pos440 = "919 1257 1426 1287 1 809894018 9 0 891 1285 20 11" ]],
+ RECEIVE_DRV_SET_NPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_npw(msg)
+ [[ Pos440 = "896 1311 1437 1341 1 809894018 12 20 953 1344 11 20" ]],
+ RECEIVE_DRV_SET_DPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_dpw_req(msg)
+ [[ Pos440 = "896 1363 1443 1393 1 809894018 0 10 948 1394 14 20" ]],
+ RECEIVE_DRV_SET_M_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_m_sta_hfid(msg)
+ [[ Pos440 = "895 1423 1429 1453 1 809894018 7 20 887 1449 10 20" ]],
+ RECEIVE_DRV_SET_U_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_u_sta_hfid(msg)
+ [[ Pos440 = "913 1463 1421 1493 1 809894018 12 20 909 1493 8 20" ]],
+ RECEIVE_DRV_SET_AVLN_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_avln_hfid(msg)
+ [[ Pos440 = "913 1516 1432 1546 1 809894018 20 7 908 1545 20 11" ]],
+ RECEIVE_DRV_SET_SL(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_sl(msg)
+ [[ Pos440 = "889 1570 1434 1600 1 809894018 0 13 984 1596 20 11" ]],
+ RECEIVE_DRV_SET_TONEMASK(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_tonemask(msg)
+ [[ Pos440 = "909 1618 1434 1648 1 809894018 7 20 884 1647 20 10" ]],
+ RECEIVE_DRV_SET_NID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_nid(msg)
+ [[ Pos440 = "906 1662 1434 1692 1 809894018 10 0 921 1696 1448 1677 0 8"
+ ]],
+ RECEIVE_DRV_SET_SNID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_snid(msg)
+ [[ Pos440 = "891 1713 1431 1743 1 809894018 0 6 898 1744 1457 1738 20 10"
+ ]],
+ @NoEvent @Src _JunctionState6 : @Dest to_INIT
+ [[ Pos440 = "1367 1131 1447 1161 0 809894016 10 0 65 20" ]];
+
+ @TerminationRule;
+
+ [[ Pos440 = "10 10 476 76 16 1 114689" ]]
+
+ @End;
+
diff --git a/cesar/VisualState/sub/Topstate1.vsr.bk2 b/cesar/VisualState/sub/Topstate1.vsr.bk2
new file mode 100644
index 0000000000..0f43f42876
--- /dev/null
+++ b/cesar/VisualState/sub/Topstate1.vsr.bk2
@@ -0,0 +1,704 @@
+@visualSTATE @RuleBase @Format2 "NoName"
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2008-02-15;
+ @Time 11:46:29;
+ [[ Expl = "This is the main FSM." ]]
+
+
+@Declaration
+
+ @ActionFunction
+ VS_VOID cp_station_set_assoc_status(VS_BOOL associated),
+ VS_VOID cp_station_set_auth_status(VS_BOOL is_authenticated),
+ VS_VOID cp_station_set_cco_status(VS_BOOL is_cco)
+ [[ Expl = "the station leave the cco state." ]],
+ VS_VOID init_system()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_bbt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_beacon_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_ustt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID process_cc_assoc_cnf(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_assoc_req(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_ind(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_req(VS_VOIDPTR mme_address),
+ VS_VOID process_drv_set_avln_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_cco_preference(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_dpw_req(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_m_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_mac_address(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_nid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_npw(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_sl(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_snid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_tonemask(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_u_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_was_cco(VS_VOIDPTR msg),
+ VS_VOID process_drv_start_mac_req(VS_VOIDPTR msg),
+ VS_VOID process_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID record_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID send_discover_beacon_as_ucco()
+ [[ Expl = "this function will send a discover beacon, and relaunch a timer of 10ms 0x0d0x0afor the next discover beacon."
+ ]],
+ VS_VOID station_bbt_expires(),
+ VS_VOID trace_cco(),
+ VS_VOID trace_pond(),
+ VS_VOID trace_sta(),
+ VS_VOID trace_ucco(),
+ VS_VOID trace_usta(),
+ VS_VOID transmit_unassoc_sta_mme(),
+ VS_VOID try_associate(VS_VOIDPTR beacon_address)
+ [[ Expl = "see fig 7-76 and 7-770x0d0x0athe station had received a beacon, so it will check the NID, and if if match,0x0d0x0asend a CC_ASSOC.REQ to try to associate with the detected CCO."
+ ]];
+
+
+@Definition
+
+ @Event
+ AUTHENTIFIE_STA(),
+ BBT_EXPIRES(),
+ BEACON_DETECTED(VS_VOIDPTR beacon_address),
+ BEACON_TIMER_EXPIRES(),
+ BECOME_BACKUP_CCO(),
+ BECOME_PCO(),
+ HANDOVER_DONE(),
+ JOIN_WAIT_TIMER_EXPIRES(),
+ LEAVE_BACKUP_CCO(),
+ LEAVE_PCO(),
+ POND_TO_UCCO(),
+ RECEIVE_CC_ASSOC_CNF(VS_VOIDPTR mme_address),
+ RECEIVE_CC_ASSOC_REQ(VS_VOIDPTR mme_address),
+ RECEIVE_CC_SET_TEI_MAP_IND(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.35" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.34" ]],
+ RECEIVE_DRV_MAC_START_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_MAC_STOP_IND(),
+ RECEIVE_DRV_SET_AVLN_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_DPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_MAC_ADDRESS(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_M_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SL(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SNID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_TONEMASK(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_U_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_WAS_CCO(VS_VOIDPTR msg),
+ RECEIVE_USTA_MME(VS_VOIDPTR mme_address),
+ SC_ADD(),
+ SC_JOIN(),
+ SC_TIMER_EXPIRES(),
+ TO_CCO(),
+ TO_HANDOVER(),
+ TO_HANDOVER_IN_PROGRESS(),
+ TO_STA(),
+ TO_USTA(),
+ UCCO_MAX_DISCOVER_EXPIRES()
+ [[ Expl = "as UCCO, we must send a discover beacon every MaxDiscoverPeriod."
+ ]],
+ UNAUTHENTIFIE_STA(),
+ USTT_EXPIRES();
+
+ @EventGroup
+ USTA_TO_CCO(TO_CCO, SC_ADD)
+ [[ Expl = "this will trigger when the station should become CCo, 0x0d0x0aor when it is usta and in sc-add state (see 7.4.1, last 0xa7)"
+ ]];
+
+
+@Implementation
+
+ @StateMachine StateMachineSpec_10 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_beacon_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_9 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry;
+
+ @Exit
+ #cp_station_set_cco_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_8 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_usta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ RECEIVE_USTA_MME(mme_address) : #process_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_7 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_bbt_timer(),
+ #trace_pond();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ BBT_EXPIRES() : #station_bbt_expires(),
+ RECEIVE_USTA_MME(mme_address) : #record_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_6 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_ucco(),
+ #send_discover_beacon_as_ucco();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ UCCO_MAX_DISCOVER_EXPIRES() : #send_discover_beacon_as_ucco();
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_5 (@State StateArgument_13,
+ @State StateArgument_6) =
+
+ @State
+ NORMAL
+ [[ Pos440 = "226 96 318 121 16 1 1638401" ]],
+ @Initial _InitialState5
+ [[ Pos440 = "130 96 150 116 114689" ]],
+ HANDOVER
+ [[ Expl = "A handover will happend, and the station is part of it. If it is STA, it will become CCO and if it is CCO, it will become STA."
+ , Pos440 = "410 66 502 91 16 1 1638401" ]],
+ HANDOVER_IN_PROGRESS
+ [[ Expl = "The handover countdown (in beacon) is running, so some messages are not allowed. The STA is not implied in the current handover."
+ , Pos440 = "417 132 640 157 16 1 1638401" ]],
+ NO_AVLN_TO_TRACK
+ [[ Pos440 = "210 244 356 318 16 1 1638401" ]],
+ AVLN_TO_TRACK = StateMachineSpec_10
+ [[ Pos440 = "464 244 610 318 16 1 1638401" ]],
+ @Initial _InitialState6
+ [[ Pos440 = "94 272 114 292 114689" ]],
+ NOT_PCCO
+ [[ Pos440 = "237 493 329 518 16 1 1638401" ]],
+ @Initial _InitialState7
+ [[ Pos440 = "145 493 165 513 114689" ]],
+ PCCO
+ [[ Pos440 = "401 493 493 518 16 1 1638401" ]],
+ BACKUP_CCO
+ [[ Pos440 = "446 660 572 685 16 1 1638401" ]],
+ NOT_BACKUP
+ [[ Pos440 = "202 660 328 685 16 1 1638401" ]],
+ @Initial _InitialState8
+ [[ Pos440 = "125 657 145 677 114689" ]],
+ SC_NONE
+ [[ Pos440 = "226 858 329 894 16 1 1638401" ]],
+ SC_ADD
+ [[ Pos440 = "392 858 495 894 16 1 1638401" ]],
+ SC_JOIN
+ [[ Pos440 = "392 964 495 1000 16 1 1638401" ]],
+ @Initial _InitialState9
+ [[ Pos440 = "267 773 287 793 114689" ]];
+
+ @StateRegion
+ Handover_Region (NORMAL, _InitialState5, HANDOVER, HANDOVER_IN_PROGRESS)
+ [[ Pos440 = "0 0 683 148" ]],
+ AVLN_Tracking (NO_AVLN_TO_TRACK, AVLN_TO_TRACK, _InitialState6)
+ [[ Pos440 = "0 1 683 234" ]],
+ Proxy_CCO (NOT_PCCO, _InitialState7, PCCO)
+ [[ Pos440 = "0 2 683 173" ]],
+ BackupCCO (BACKUP_CCO, NOT_BACKUP, _InitialState8)
+ [[ Pos440 = "0 3 683 168" ]],
+ SC_Level (SC_NONE, SC_ADD, SC_JOIN, _InitialState9)
+ [[ Pos440 = "0 4 683 265" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ TO_HANDOVER_IN_PROGRESS() @Src NORMAL : @Dest HANDOVER_IN_PROGRESS
+ [[ Pos440 = "388 110 601 131 0 809894016 92 19 0 5" ]],
+ TO_HANDOVER() @Src NORMAL : @Dest HANDOVER
+ [[ Pos440 = "272 40 432 70 1 809894017 76 0 343 75 0 0" ]],
+ @NoEvent @Src _InitialState5 : @Dest NORMAL
+ [[ Pos440 = "150 76 230 106 0 809894016 20 10 0 10" ]],
+ HANDOVER_DONE() @Src HANDOVER : @Dest NORMAL
+ [[ Pos440 = "380 91 531 121 1 809894017 0 17 368 102 92 12" ]],
+ HANDOVER_DONE() @Src HANDOVER_IN_PROGRESS : @Dest NORMAL
+ [[ Pos440 = "256 145 395 175 0 809894016 0 20 62 25" ]],
+ BEACON_DETECTED(beacon_address) @Src NO_AVLN_TO_TRACK : @Dest
+ AVLN_TO_TRACK
+ [[ Pos440 = "356 249 483 279 0 809894016 146 35 0 35" ]],
+ BEACON_DETECTED(beacon_address) @Src AVLN_TO_TRACK : @Dest AVLN_TO_TRACK
+ [[ Pos440 = "558 325 704 355 1 809894017 146 13 633 276 146 59" ]],
+ BEACON_TIMER_EXPIRES() @Src AVLN_TO_TRACK : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "317 383 505 402 1 809894017 75 74 394 379 64 74" ]],
+ @NoEvent @Src _InitialState6 : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "114 252 194 282 0 809894016 20 10 0 38" ]],
+ BECOME_PCO() @Src NOT_PCCO : @Dest PCCO
+ [[ Pos440 = "274 442 408 465 1 809894017 76 0 354 472 0 0" ]],
+ @NoEvent @Src _InitialState7 : @Dest NOT_PCCO
+ [[ Pos440 = "165 473 245 503 0 809894016 20 10 0 10" ]],
+ LEAVE_PCO() @Src PCCO : @Dest NOT_PCCO
+ [[ Pos440 = "318 538 443 568 1 809894017 4 25 363 538 84 25" ]],
+ LEAVE_BACKUP_CCO() @Src BACKUP_CCO : @Dest NOT_BACKUP
+ [[ Pos440 = "292 705 463 735 1 809894017 5 25 383 705 115 25" ]],
+ BECOME_BACKUP_CCO() @Src NOT_BACKUP !StateArgument_13 : @Dest BACKUP_CCO
+ [[ Expl = "This transition will fire for message CC_BACKUP_APPOINT_REQ.0x0d0x0asee 11.2.3"
+ , Pos440 = "295 608 411 638 1 809894017 104 0 375 638 0 0" ]],
+ @NoEvent @Src _InitialState8 : @Dest NOT_BACKUP
+ [[ Pos440 = "145 637 225 667 0 809894016 20 10 0 10" ]],
+ SC_ADD() @Src SC_NONE : @Dest SC_ADD
+ [[ Pos440 = "310 832 429 855 0 809894016 103 9 0 9" ]],
+ SC_JOIN() @Src SC_NONE : @Dest SC_JOIN
+ [[ Pos440 = "281 933 404 963 1 809894017 51 36 307 960 0 17" ]],
+ SC_TIMER_EXPIRES() @Src SC_ADD : @Dest SC_NONE
+ [[ Pos440 = "295 891 461 921 0 809894016 0 25 103 25" ]],
+ TO_CCO() @Src SC_JOIN StateArgument_6 : @Dest SC_ADD
+ [[ Expl = "see 7.3.4.4 two unassociated sta, both in SC-Join0x0d0x0a\"If it is the one to become CCo, it shall change it state to SC-Add\""
+ , Pos440 = "448 917 624 940 0 809894016 50 0 50 36" ]],
+ SC_TIMER_EXPIRES() @Src SC_JOIN : @Dest SC_NONE
+ [[ Pos440 = "229 998 402 1028 1 809894017 0 29 297 971 34 36" ]],
+ @NoEvent @Src _InitialState9 : @Dest SC_NONE
+ [[ Pos440 = "277 763 357 793 0 809894016 10 20 51 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_4 =
+
+ @State;
+
+ @StateRegion
+ Region1
+ [[ Pos440 = "0 0 152 59" ]];
+
+ @Entry
+ #cp_station_set_auth_status(1);
+
+ @Exit
+ #cp_station_set_auth_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_3 =
+
+ @State
+ UNAUTHENTICATED
+ [[ Pos440 = "111 705 263 730 16 1 1638401" ]],
+ @Initial _InitialState3
+ [[ Pos440 = "113 668 133 688 114689" ]],
+ AUTHENTICATED = StateMachineSpec_4
+ [[ Pos440 = "111 761 263 893 73 1 1638401" ]];
+
+ @StateRegion
+ Region1 (UNAUTHENTICATED, _InitialState3, AUTHENTICATED)
+ [[ Pos440 = "0 0 181 243" ]];
+
+ @Entry
+ #trace_sta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ AUTHENTIFIE_STA() @Src UNAUTHENTICATED : @Dest AUTHENTICATED
+ [[ Pos440 = "105 735 185 754 0 809894016 22 25 22 0" ]],
+ @NoEvent @Src _InitialState3 : @Dest UNAUTHENTICATED
+ [[ Pos440 = "107 676 187 706 0 809894016 9 20 10 0" ]],
+ UNAUTHENTIFIE_STA() @Src AUTHENTICATED : @Dest UNAUTHENTICATED
+ [[ Pos440 = "206 735 286 765 0 809894016 111 0 111 25" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_2 (@State StateArgument_47,
+ @State StateArgument_58, @State StateArgument_59, @State StateArgument_54)
+ =
+
+ @State
+ CCO = StateMachineSpec_9
+ [[ Pos440 = "570 711 751 895 16 1 1638401" ]],
+ @Initial _InitialState2
+ [[ Pos440 = "102 593 122 613 114689" ]],
+ ASSOCIATED_STA = StateMachineSpec_3
+ [[ Pos440 = "100 633 281 908 32 1 114689" ]],
+ @Junction _JunctionState0
+ [[ Pos440 = "639 664 659 684 1" ]],
+ @ConnectorStart from_CCO
+ [[ Pos440 = "645 918 747 938 114689" ]],
+ @ConnectorEnd to_CCO
+ [[ Pos440 = "633 946 737 966 114689" ]],
+ @ConnectorStart from_STA
+ [[ Pos440 = "201 917 283 937 114689" ]],
+ @ConnectorEnd to_STA
+ [[ Pos440 = "198 948 280 968 114689" ]];
+
+ @StateRegion
+ Region1 (CCO, _InitialState2, ASSOCIATED_STA, _JunctionState0,
+ @ConnectorStart from_CCO, @ConnectorEnd to_CCO, @ConnectorStart from_STA
+ , @ConnectorEnd to_STA)
+ [[ Pos440 = "0 0 684 397" ]];
+
+ @Entry
+ #cp_station_set_assoc_status(1);
+
+ @Exit
+ #cp_station_set_assoc_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ HANDOVER_DONE() @Src CCO StateArgument_47 : @Dest
+ ASSOCIATED_STA.AUTHENTICATED
+ [[ Pos440 = "281 807 546 827 1 809894016 0 112 440 823 152 62" ]],
+ @NoEvent @Src CCO : @Dest from_CCO
+ [[ Pos440 = "622 926 702 956 1 809894018 55 184 622 926 0 9" ]],
+ @NoEvent @Src _InitialState2 : @Dest ASSOCIATED_STA
+ [[ Pos440 = "112 583 192 613 0 809894016 10 20 12 0" ]],
+ BEACON_TIMER_EXPIRES() @Src ASSOCIATED_STA StateArgument_58 : @Dest
+ _JunctionState0
+ [[ Pos440 = "330 657 609 679 0 809894016 181 42 0 11" ]],
+ HANDOVER_DONE() @Src ASSOCIATED_STA StateArgument_47 : @Dest
+ _JunctionState0
+ [[ Pos440 = "326 634 586 660 1 809894018 181 16 544 652 9 0" ]],
+ @NoEvent @Src ASSOCIATED_STA : @Dest from_STA
+ [[ Pos440 = "175 926 255 956 1 809894018 75 275 175 926 0 9" ]],
+ @NoEvent @Src _JunctionState0 : @Dest CCO StateArgument_59
+ StateArgument_54 #cp_station_set_cco_status(1) #trace_cco()
+ [[ Pos440 = "662 686 742 709 0 809894016 12 20 81 0" ]],
+ @NoEvent @Src to_CCO : @Dest CCO
+ [[ Pos440 = "544 939 624 969 1 809894018 0 8 597 952 27 184" ]],
+ @NoEvent @Src to_STA : @Dest ASSOCIATED_STA
+ [[ Pos440 = "156 925 236 955 1 809894018 0 9 156 955 56 275" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_1 (@State StateArgument_51) =
+
+ @State
+ POND = StateMachineSpec_7
+ [[ Pos440 = "114 245 368 324 16 1 1638401" ]],
+ USTA = StateMachineSpec_8
+ [[ Pos440 = "476 245 730 324 16 1 1638401" ]],
+ @Initial _InitialState1
+ [[ Pos440 = "95 219 115 239 114689" ]];
+
+ @StateRegion
+ Region1 (POND, USTA, _InitialState1)
+ [[ Pos440 = "0 0 684 142" ]];
+
+ @Entry
+ #launch_ustt_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ USTT_EXPIRES() : #launch_ustt_timer(),
+ USTT_EXPIRES() StateArgument_51 : #transmit_unassoc_sta_mme(),
+ BEACON_DETECTED(beacon_address) : #try_associate(beacon_address),
+ RECEIVE_CC_ASSOC_CNF(mme_address) : #process_cc_assoc_cnf(mme_address);
+
+ @TransitionRule
+ TO_USTA() @Src POND : @Dest USTA
+ [[ Pos440 = "370 260 473 282 0 809894016 254 36 0 36" ]],
+ @NoEvent @Src _InitialState1 : @Dest POND
+ [[ Pos440 = "157 215 179 239 0 809894016 20 15 23 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_0 (@State StateArgument_51,
+ @State StateArgument_50, @State StateArgument_47, @State StateArgument_58,
+ @State StateArgument_59, @State StateArgument_54) =
+
+ @State
+ UCCO = StateMachineSpec_6
+ [[ Pos440 = "250 441 768 499 16 1 1638401" ]],
+ POND_OR_USTA = StateMachineSpec_1 (StateArgument_51)
+ [[ Pos440 = "84 157 768 355 56 1 114689" ]],
+ STA_OR_CCO = StateMachineSpec_2 (StateArgument_47, StateArgument_58,
+ StateArgument_59, StateArgument_54)
+ [[ Pos440 = "84 548 768 981 36 1 114689" ]],
+ @Initial _InitialState4
+ [[ Pos440 = "27 166 47 186 114689" ]];
+
+ @StateRegion
+ Region1 (UCCO, POND_OR_USTA, STA_OR_CCO, _InitialState4)
+ [[ Pos440 = "0 0 779 879" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ BEACON_DETECTED(beacon_address) @Src UCCO : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "527 389 707 412 0 809894016 366 0 140 79" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src UCCO : @Dest
+ STA_OR_CCO._JunctionState0 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "562 506 748 529 0 809894016 425 58 20 7" ]],
+ USTA_TO_CCO() @Src POND_OR_USTA : @Dest STA_OR_CCO._JunctionState0
+ [[ Pos440 = "571 422 748 444 0 809894016 567 198 12 0" ]],
+ TO_STA() @Src POND_OR_USTA : @Dest STA_OR_CCO
+ [[ Pos440 = "108 366 287 387 0 809894016 112 198 112 0" ]],
+ POND_TO_UCCO() @Src POND_OR_USTA.POND StateArgument_50 : @Dest UCCO
+ [[ Pos440 = "244 357 420 377 0 809894016 225 79 89 0" ]],
+ BEACON_TIMER_EXPIRES() @Src POND_OR_USTA.USTA : @Dest UCCO
+ [[ Pos440 = "452 364 585 384 0 809894016 19 79 245 0" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_50 : @Dest
+ UCCO
+ [[ Pos440 = "639 618 814 637 0 809894016 162 0 482 58" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_51 : @Dest
+ POND_OR_USTA.USTA
+ [[ Pos440 = "609 581 790 611 0 809894016 134 0 229 79" ]],
+ BEACON_TIMER_EXPIRES() @Src STA_OR_CCO.ASSOCIATED_STA !StateArgument_58 :
+ @Dest POND_OR_USTA.POND
+ [[ Pos440 = "80 407 236 430 0 809894016 57 0 43 79" ]],
+ TO_USTA() @Src STA_OR_CCO.ASSOCIATED_STA : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "244 514 398 535 0 809894016 160 0 0 79" ]],
+ @NoEvent @Src _InitialState4 : @Dest POND_OR_USTA
+ [[ Pos440 = "47 146 127 176 0 809894016 20 10 0 19" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @TopStateMachine Station =
+
+ @State
+ @Initial _InitialState0
+ [[ Pos440 = "6 6 44 44 114689" ]],
+ ON = StateMachineSpec_0 (SMALL_FSM.AVLN_TO_TRACK,
+ SMALL_FSM.NO_AVLN_TO_TRACK, SMALL_FSM.HANDOVER, SMALL_FSM.BACKUP_CCO,
+ SMALL_FSM.NOT_BACKUP, SMALL_FSM.NOT_PCCO)
+ [[ Pos440 = "6 110 785 1020 31 1 114689" ]],
+ @ConnectorEnd from_CCO
+ [[ Pos440 = "808 16 897 41 114689" ]],
+ @ConnectorStart to_CCO
+ [[ Pos440 = "1494 16 1573 41 114689" ]],
+ @Junction _JunctionState1
+ [[ Pos440 = "842 75 862 95 1" ]],
+ @Junction _JunctionState2
+ [[ Pos440 = "1523 75 1543 95 1" ]],
+ @ConnectorEnd from_STA
+ [[ Pos440 = "8 1061 89 1081 114689" ]],
+ @ConnectorStart to_STA
+ [[ Pos440 = "685 1061 766 1081 114689" ]],
+ @Junction _JunctionState3
+ [[ Pos440 = "38 1121 58 1141 1" ]],
+ @Junction _JunctionState4
+ [[ Pos440 = "715 1121 735 1141 1" ]],
+ INIT_SYSTEM
+ [[ Pos440 = "200 26 593 76 16 1 1638401" ]],
+ @ConnectorStart from_INIT
+ [[ Pos440 = "632 28 738 48 114689" ]],
+ @ConnectorEnd from_INIT
+ [[ Pos440 = "824 1069 944 1089 114689" ]],
+ @ConnectorEnd to_INIT
+ [[ Pos440 = "624 54 735 74 114689" ]],
+ @ConnectorStart to_INIT
+ [[ Pos440 = "1402 1066 1492 1086 114689" ]],
+ @Junction _JunctionState5
+ [[ Pos440 = "869 1135 889 1155 1" ]],
+ @Junction _JunctionState6
+ [[ Pos440 = "1437 1131 1457 1151 1" ]],
+ SMALL_FSM = StateMachineSpec_5 (ON.STA_OR_CCO.CCO, ON.POND_OR_USTA)
+ [[ Pos440 = "26 17 709 1021 16 1 114689" ]];
+
+ @StateRegion
+ @OffPage Station (_InitialState0, ON, @ConnectorEnd from_CCO,
+ @ConnectorStart to_CCO, _JunctionState1, _JunctionState2, @ConnectorEnd
+ from_STA, @ConnectorStart to_STA, _JunctionState3, _JunctionState4,
+ INIT_SYSTEM, @ConnectorStart from_INIT, @ConnectorEnd from_INIT,
+ @ConnectorEnd to_INIT, @ConnectorStart to_INIT, _JunctionState5,
+ _JunctionState6)
+ [[ Pos440 = "0 0 318 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]],
+ @OffPage Small_FSMs (SMALL_FSM)
+ [[ Pos440 = "1 0 148 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ @NoEvent @Src _InitialState0 : @Dest INIT_SYSTEM #init_system()
+ [[ Pos440 = "160 -114 284 -100 2 809894017 38 18 121 43 0 25" ]],
+ RECEIVE_DRV_MAC_STOP_IND() @Src ON : @Dest INIT_SYSTEM
+ [[ Pos440 = "61 86 295 104 0 809894016 280 0 86 50" ]],
+ @NoEvent @Src from_CCO : @Dest _JunctionState1
+ [[ Pos440 = "851 41 931 71 0 809894016 43 25 9 0" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "914 90 1485 120 1 809894018 20 11 884 110 0 9" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_set_tei_map_req(mme_address)
+ [[ Pos440 = "908 128 1473 158 1 809894018 20 11 868 148 4 20" ]],
+ @NoEvent @Src _JunctionState2 : @Dest to_CCO
+ [[ Pos440 = "1531 45 1611 75 0 809894016 8 0 35 25" ]],
+ @NoEvent @Src from_STA : @Dest _JunctionState3
+ [[ Pos440 = "45 1051 125 1081 0 809894016 37 20 7 0" ]],
+ RECEIVE_CC_SET_TEI_MAP_IND(mme_address) @Src _JunctionState3 : @Dest
+ _JunctionState4 #process_cc_set_tei_map_ind(mme_address)
+ [[ Pos440 = "101 1144 671 1174 1 809894018 20 10 81 1164 0 20" ]],
+ @NoEvent @Src _JunctionState4 : @Dest to_STA
+ [[ Pos440 = "724 1121 804 1151 0 809894016 9 0 39 20" ]],
+ RECEIVE_DRV_MAC_START_REQ(msg) @Src INIT_SYSTEM : @Dest ON
+ #process_drv_start_mac_req(msg)
+ [[ Pos440 = "517 83 779 108 0 809894016 309 50 503 0" ]],
+ @NoEvent @Src INIT_SYSTEM : @Dest from_INIT
+ [[ Pos440 = "593 3 673 33 0 809894016 393 7 0 9" ]],
+ @NoEvent @Src from_INIT : @Dest _JunctionState5
+ [[ Pos440 = "801 1059 881 1089 0 809894016 57 20 9 0" ]],
+ @NoEvent @Src to_INIT : @Dest INIT_SYSTEM
+ [[ Pos440 = "575 12 655 42 0 809894016 0 9 393 37" ]],
+ RECEIVE_DRV_SET_MAC_ADDRESS(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_mac_address(msg)
+ [[ Pos440 = "916 1153 1420 1183 1 809894018 7 20 876 1183 1447 1174 8 20"
+ ]],
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_cco_preference(msg)
+ [[ Pos440 = "922 1211 1402 1241 1 809894018 0 12 893 1238 10 20" ]],
+ RECEIVE_DRV_SET_WAS_CCO(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_was_cco(msg)
+ [[ Pos440 = "919 1257 1426 1287 1 809894018 9 0 891 1285 20 11" ]],
+ RECEIVE_DRV_SET_NPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_npw(msg)
+ [[ Pos440 = "896 1311 1437 1341 1 809894018 12 20 953 1344 11 20" ]],
+ RECEIVE_DRV_SET_DPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_dpw_req(msg)
+ [[ Pos440 = "896 1363 1443 1393 1 809894018 0 10 948 1394 14 20" ]],
+ RECEIVE_DRV_SET_M_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_m_sta_hfid(msg)
+ [[ Pos440 = "895 1423 1429 1453 1 809894018 7 20 887 1449 10 20" ]],
+ RECEIVE_DRV_SET_U_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_u_sta_hfid(msg)
+ [[ Pos440 = "913 1463 1421 1493 1 809894018 12 20 909 1493 8 20" ]],
+ RECEIVE_DRV_SET_AVLN_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_avln_hfid(msg)
+ [[ Pos440 = "913 1516 1432 1546 1 809894018 20 7 908 1545 20 11" ]],
+ RECEIVE_DRV_SET_SL(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_sl(msg)
+ [[ Pos440 = "889 1570 1434 1600 1 809894018 0 13 984 1596 20 11" ]],
+ RECEIVE_DRV_SET_TONEMASK(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_tonemask(msg)
+ [[ Pos440 = "909 1618 1434 1648 1 809894018 7 20 884 1647 20 10" ]],
+ RECEIVE_DRV_SET_NID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_nid(msg)
+ [[ Pos440 = "906 1662 1434 1692 1 809894018 10 0 921 1696 1448 1677 0 8"
+ ]],
+ RECEIVE_DRV_SET_SNID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_snid(msg)
+ [[ Pos440 = "891 1713 1431 1743 1 809894018 0 6 898 1744 1457 1738 20 10"
+ ]],
+ @NoEvent @Src _JunctionState6 : @Dest to_INIT
+ [[ Pos440 = "1367 1131 1447 1161 0 809894016 10 0 65 20" ]];
+
+ @TerminationRule;
+
+ [[ Pos440 = "10 10 476 76 16 1 114689" ]]
+
+ @End;
+
diff --git a/cesar/VisualState/sub/Topstate1.vsr.bk3 b/cesar/VisualState/sub/Topstate1.vsr.bk3
new file mode 100644
index 0000000000..54acb51267
--- /dev/null
+++ b/cesar/VisualState/sub/Topstate1.vsr.bk3
@@ -0,0 +1,704 @@
+@visualSTATE @RuleBase @Format2 "NoName"
+
+@Directives
+
+ @visualSTATE 5-4-0-1273;
+ @Date 2008-02-13;
+ @Time 10:47:14;
+ [[ Expl = "This is the main FSM." ]]
+
+
+@Declaration
+
+ @ActionFunction
+ VS_VOID cp_station_set_assoc_status(VS_BOOL associated),
+ VS_VOID cp_station_set_auth_status(VS_BOOL is_authenticated),
+ VS_VOID cp_station_set_cco_status(VS_BOOL is_cco)
+ [[ Expl = "the station leave the cco state." ]],
+ VS_VOID init_system()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_bbt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_beacon_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID launch_ustt_timer()
+ [[ File = "cp/station/inc/station_events.h" ]],
+ VS_VOID process_cc_assoc_cnf(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_assoc_req(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_ind(VS_VOIDPTR mme_address),
+ VS_VOID process_cc_set_tei_map_req(VS_VOIDPTR mme_address),
+ VS_VOID process_drv_set_avln_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_cco_preference(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_dpw_req(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_m_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_mac_address(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_nid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_npw(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_sl(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_snid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_tonemask(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_u_sta_hfid(VS_VOIDPTR msg),
+ VS_VOID process_drv_set_was_cco(VS_VOIDPTR msg),
+ VS_VOID process_drv_start_mac_req(VS_VOIDPTR msg),
+ VS_VOID process_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID record_usta_mme(VS_VOIDPTR mme_address),
+ VS_VOID send_discover_beacon_as_ucco()
+ [[ Expl = "this function will send a discover beacon, and relaunch a timer of 10ms 0x0d0x0afor the next discover beacon."
+ ]],
+ VS_VOID station_bbt_expires(),
+ VS_VOID trace_cco(),
+ VS_VOID trace_pond(),
+ VS_VOID trace_sta(),
+ VS_VOID trace_ucco(),
+ VS_VOID trace_usta(),
+ VS_VOID transmit_unassoc_sta_mme(),
+ VS_VOID try_associate(VS_VOIDPTR beacon_address)
+ [[ Expl = "see fig 7-76 and 7-770x0d0x0athe station had received a beacon, so it will check the NID, and if if match,0x0d0x0asend a CC_ASSOC.REQ to try to associate with the detected CCO."
+ ]];
+
+
+@Definition
+
+ @Event
+ AUTHENTIFIE_STA(),
+ BBT_EXPIRES(),
+ BEACON_DETECTED(VS_VOIDPTR beacon_address),
+ BEACON_TIMER_EXPIRES(),
+ BECOME_BACKUP_CCO(),
+ BECOME_PCO(),
+ HANDOVER_DONE(),
+ JOIN_WAIT_TIMER_EXPIRES(),
+ LEAVE_BACKUP_CCO(),
+ LEAVE_PCO(),
+ POND_TO_UCCO(),
+ RECEIVE_CC_ASSOC_CNF(VS_VOIDPTR mme_address),
+ RECEIVE_CC_ASSOC_REQ(VS_VOIDPTR mme_address),
+ RECEIVE_CC_SET_TEI_MAP_IND(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.35" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(VS_VOIDPTR mme_address)
+ [[ Expl = "11.2.34" ]],
+ RECEIVE_DRV_MAC_START_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_MAC_STOP_IND(),
+ RECEIVE_DRV_SET_AVLN_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_DPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_MAC_ADDRESS(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_M_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_NPW_REQ(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SL(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_SNID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_TONEMASK(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_U_STA_HFID(VS_VOIDPTR msg),
+ RECEIVE_DRV_SET_WAS_CCO(VS_VOIDPTR msg),
+ RECEIVE_USTA_MME(VS_VOIDPTR mme_address),
+ SC_ADD(),
+ SC_JOIN(),
+ SC_TIMER_EXPIRES(),
+ TO_CCO(),
+ TO_HANDOVER(),
+ TO_HANDOVER_IN_PROGRESS(),
+ TO_STA(),
+ TO_USTA(),
+ UCCO_MAX_DISCOVER_EXPIRES()
+ [[ Expl = "as UCCO, we must send a discover beacon every MaxDiscoverPeriod."
+ ]],
+ UNAUTHENTIFIE_STA(),
+ USTT_EXPIRES();
+
+ @EventGroup
+ USTA_TO_CCO(TO_CCO, SC_ADD)
+ [[ Expl = "this will trigger when the station should become CCo, 0x0d0x0aor when it is usta and in sc-add state (see 7.4.1, last 0xa7)"
+ ]];
+
+
+@Implementation
+
+ @StateMachine StateMachineSpec_10 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_beacon_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_9 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry;
+
+ @Exit
+ #cp_station_set_cco_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_8 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_usta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ RECEIVE_USTA_MME(mme_address) : #process_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_7 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #launch_bbt_timer(),
+ #trace_pond();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ BBT_EXPIRES() : #station_bbt_expires(),
+ RECEIVE_USTA_MME(mme_address) : #record_usta_mme(mme_address);
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_6 =
+
+ @State;
+
+ @StateRegion;
+
+ @Entry
+ #trace_ucco(),
+ #send_discover_beacon_as_ucco();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ UCCO_MAX_DISCOVER_EXPIRES() : #send_discover_beacon_as_ucco();
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_5 (@State StateArgument_13,
+ @State StateArgument_6) =
+
+ @State
+ NORMAL
+ [[ Pos440 = "226 96 318 121 16 1 1638401" ]],
+ @Initial _InitialState5
+ [[ Pos440 = "130 96 150 116 114689" ]],
+ HANDOVER
+ [[ Expl = "A handover will happend, and the station is part of it. If it is STA, it will become CCO and if it is CCO, it will become STA."
+ , Pos440 = "410 66 502 91 16 1 1638401" ]],
+ HANDOVER_IN_PROGRESS
+ [[ Expl = "The handover countdown (in beacon) is running, so some messages are not allowed. The STA is not implied in the current handover."
+ , Pos440 = "417 132 640 157 16 1 1638401" ]],
+ NO_AVLN_TO_TRACK
+ [[ Pos440 = "210 244 356 318 16 1 1638401" ]],
+ AVLN_TO_TRACK = StateMachineSpec_10
+ [[ Pos440 = "464 244 610 318 16 1 1638401" ]],
+ @Initial _InitialState6
+ [[ Pos440 = "94 272 114 292 114689" ]],
+ NOT_PCCO
+ [[ Pos440 = "237 493 329 518 16 1 1638401" ]],
+ @Initial _InitialState7
+ [[ Pos440 = "145 493 165 513 114689" ]],
+ PCCO
+ [[ Pos440 = "401 493 493 518 16 1 1638401" ]],
+ BACKUP_CCO
+ [[ Pos440 = "446 660 572 685 16 1 1638401" ]],
+ NOT_BACKUP
+ [[ Pos440 = "202 660 328 685 16 1 1638401" ]],
+ @Initial _InitialState8
+ [[ Pos440 = "125 657 145 677 114689" ]],
+ SC_NONE
+ [[ Pos440 = "226 858 329 894 16 1 1638401" ]],
+ SC_ADD
+ [[ Pos440 = "392 858 495 894 16 1 1638401" ]],
+ SC_JOIN
+ [[ Pos440 = "392 964 495 1000 16 1 1638401" ]],
+ @Initial _InitialState9
+ [[ Pos440 = "267 773 287 793 114689" ]];
+
+ @StateRegion
+ Handover_Region (NORMAL, _InitialState5, HANDOVER, HANDOVER_IN_PROGRESS)
+ [[ Pos440 = "0 0 683 148" ]],
+ AVLN_Tracking (NO_AVLN_TO_TRACK, AVLN_TO_TRACK, _InitialState6)
+ [[ Pos440 = "0 1 683 234" ]],
+ Proxy_CCO (NOT_PCCO, _InitialState7, PCCO)
+ [[ Pos440 = "0 2 683 173" ]],
+ BackupCCO (BACKUP_CCO, NOT_BACKUP, _InitialState8)
+ [[ Pos440 = "0 3 683 168" ]],
+ SC_Level (SC_NONE, SC_ADD, SC_JOIN, _InitialState9)
+ [[ Pos440 = "0 4 683 265" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ TO_HANDOVER_IN_PROGRESS() @Src NORMAL : @Dest HANDOVER_IN_PROGRESS
+ [[ Pos440 = "388 110 601 131 0 809894016 92 19 0 5" ]],
+ TO_HANDOVER() @Src NORMAL : @Dest HANDOVER
+ [[ Pos440 = "272 40 432 70 1 809894017 76 0 343 75 0 0" ]],
+ @NoEvent @Src _InitialState5 : @Dest NORMAL
+ [[ Pos440 = "150 76 230 106 0 809894016 20 10 0 10" ]],
+ HANDOVER_DONE() @Src HANDOVER : @Dest NORMAL
+ [[ Pos440 = "380 91 531 121 1 809894017 0 17 368 102 92 12" ]],
+ HANDOVER_DONE() @Src HANDOVER_IN_PROGRESS : @Dest NORMAL
+ [[ Pos440 = "256 145 395 175 0 809894016 0 20 62 25" ]],
+ BEACON_DETECTED(beacon_address) @Src NO_AVLN_TO_TRACK : @Dest
+ AVLN_TO_TRACK
+ [[ Pos440 = "356 249 483 279 0 809894016 146 35 0 35" ]],
+ BEACON_DETECTED(beacon_address) @Src AVLN_TO_TRACK : @Dest AVLN_TO_TRACK
+ [[ Pos440 = "558 325 704 355 1 809894017 146 13 633 276 146 59" ]],
+ BEACON_TIMER_EXPIRES() @Src AVLN_TO_TRACK : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "317 383 505 402 1 809894017 75 74 394 379 64 74" ]],
+ @NoEvent @Src _InitialState6 : @Dest NO_AVLN_TO_TRACK
+ [[ Pos440 = "114 252 194 282 0 809894016 20 10 0 38" ]],
+ BECOME_PCO() @Src NOT_PCCO : @Dest PCCO
+ [[ Pos440 = "274 442 408 465 1 809894017 76 0 354 472 0 0" ]],
+ @NoEvent @Src _InitialState7 : @Dest NOT_PCCO
+ [[ Pos440 = "165 473 245 503 0 809894016 20 10 0 10" ]],
+ LEAVE_PCO() @Src PCCO : @Dest NOT_PCCO
+ [[ Pos440 = "318 538 443 568 1 809894017 4 25 363 538 84 25" ]],
+ LEAVE_BACKUP_CCO() @Src BACKUP_CCO : @Dest NOT_BACKUP
+ [[ Pos440 = "292 705 463 735 1 809894017 5 25 383 705 115 25" ]],
+ BECOME_BACKUP_CCO() @Src NOT_BACKUP !StateArgument_13 : @Dest BACKUP_CCO
+ [[ Expl = "This transition will fire for message CC_BACKUP_APPOINT_REQ.0x0d0x0asee 11.2.3"
+ , Pos440 = "295 608 411 638 1 809894017 104 0 375 638 0 0" ]],
+ @NoEvent @Src _InitialState8 : @Dest NOT_BACKUP
+ [[ Pos440 = "145 637 225 667 0 809894016 20 10 0 10" ]],
+ SC_ADD() @Src SC_NONE : @Dest SC_ADD
+ [[ Pos440 = "310 832 429 855 0 809894016 103 9 0 9" ]],
+ SC_JOIN() @Src SC_NONE : @Dest SC_JOIN
+ [[ Pos440 = "281 933 404 963 1 809894017 51 36 307 960 0 17" ]],
+ SC_TIMER_EXPIRES() @Src SC_ADD : @Dest SC_NONE
+ [[ Pos440 = "295 891 461 921 0 809894016 0 25 103 25" ]],
+ TO_CCO() @Src SC_JOIN StateArgument_6 : @Dest SC_ADD
+ [[ Expl = "see 7.3.4.4 two unassociated sta, both in SC-Join0x0d0x0a\"If it is the one to become CCo, it shall change it state to SC-Add\""
+ , Pos440 = "448 917 624 940 0 809894016 50 0 50 36" ]],
+ SC_TIMER_EXPIRES() @Src SC_JOIN : @Dest SC_NONE
+ [[ Pos440 = "229 998 402 1028 1 809894017 0 29 297 971 34 36" ]],
+ @NoEvent @Src _InitialState9 : @Dest SC_NONE
+ [[ Pos440 = "277 763 357 793 0 809894016 10 20 51 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_4 =
+
+ @State;
+
+ @StateRegion
+ Region1
+ [[ Pos440 = "0 0 152 59" ]];
+
+ @Entry
+ #cp_station_set_auth_status(1);
+
+ @Exit
+ #cp_station_set_auth_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule;
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_3 =
+
+ @State
+ UNAUTHENTICATED
+ [[ Pos440 = "111 705 263 730 16 1 1638401" ]],
+ @Initial _InitialState3
+ [[ Pos440 = "113 668 133 688 114689" ]],
+ AUTHENTICATED = StateMachineSpec_4
+ [[ Pos440 = "111 761 263 893 73 1 1638401" ]];
+
+ @StateRegion
+ Region1 (UNAUTHENTICATED, _InitialState3, AUTHENTICATED)
+ [[ Pos440 = "0 0 181 243" ]];
+
+ @Entry
+ #trace_sta();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ AUTHENTIFIE_STA() @Src UNAUTHENTICATED : @Dest AUTHENTICATED
+ [[ Pos440 = "105 735 185 754 0 809894016 22 25 22 0" ]],
+ @NoEvent @Src _InitialState3 : @Dest UNAUTHENTICATED
+ [[ Pos440 = "107 676 187 706 0 809894016 9 20 10 0" ]],
+ UNAUTHENTIFIE_STA() @Src AUTHENTICATED : @Dest UNAUTHENTICATED
+ [[ Pos440 = "206 735 286 765 0 809894016 111 0 111 25" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_2 (@State StateArgument_47,
+ @State StateArgument_58, @State StateArgument_59, @State StateArgument_54)
+ =
+
+ @State
+ CCO = StateMachineSpec_9
+ [[ Pos440 = "570 711 751 895 16 1 1638401" ]],
+ @Initial _InitialState2
+ [[ Pos440 = "102 593 122 613 114689" ]],
+ ASSOCIATED_STA = StateMachineSpec_3
+ [[ Pos440 = "100 633 281 908 32 1 114689" ]],
+ @Junction _JunctionState0
+ [[ Pos440 = "639 664 659 684 1" ]],
+ @ConnectorStart from_CCO
+ [[ Pos440 = "645 918 747 938 114689" ]],
+ @ConnectorEnd to_CCO
+ [[ Pos440 = "633 946 737 966 114689" ]],
+ @ConnectorStart from_STA
+ [[ Pos440 = "201 917 283 937 114689" ]],
+ @ConnectorEnd to_STA
+ [[ Pos440 = "198 948 280 968 114689" ]];
+
+ @StateRegion
+ Region1 (CCO, _InitialState2, ASSOCIATED_STA, _JunctionState0,
+ @ConnectorStart from_CCO, @ConnectorEnd to_CCO, @ConnectorStart from_STA
+ , @ConnectorEnd to_STA)
+ [[ Pos440 = "0 0 684 397" ]];
+
+ @Entry
+ #cp_station_set_assoc_status(1);
+
+ @Exit
+ #cp_station_set_assoc_status(0);
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ HANDOVER_DONE() @Src CCO StateArgument_47 : @Dest
+ ASSOCIATED_STA.AUTHENTICATED
+ [[ Pos440 = "281 807 546 827 1 809894016 0 112 440 823 152 62" ]],
+ @NoEvent @Src CCO : @Dest from_CCO
+ [[ Pos440 = "622 926 702 956 1 809894018 55 184 622 926 0 9" ]],
+ @NoEvent @Src _InitialState2 : @Dest ASSOCIATED_STA
+ [[ Pos440 = "112 583 192 613 0 809894016 10 20 12 0" ]],
+ BEACON_TIMER_EXPIRES() @Src ASSOCIATED_STA StateArgument_58 : @Dest
+ _JunctionState0
+ [[ Pos440 = "330 657 609 679 0 809894016 181 42 0 11" ]],
+ HANDOVER_DONE() @Src ASSOCIATED_STA StateArgument_47 : @Dest
+ _JunctionState0
+ [[ Pos440 = "326 634 586 660 1 809894018 181 16 544 652 9 0" ]],
+ @NoEvent @Src ASSOCIATED_STA : @Dest from_STA
+ [[ Pos440 = "175 926 255 956 1 809894018 75 275 175 926 0 9" ]],
+ @NoEvent @Src _JunctionState0 : @Dest CCO StateArgument_59
+ StateArgument_54 #cp_station_set_cco_status(1) #trace_cco()
+ [[ Pos440 = "662 686 742 709 0 809894016 12 20 81 0" ]],
+ @NoEvent @Src to_CCO : @Dest CCO
+ [[ Pos440 = "544 939 624 969 1 809894018 0 8 597 952 27 184" ]],
+ @NoEvent @Src to_STA : @Dest ASSOCIATED_STA
+ [[ Pos440 = "156 925 236 955 1 809894018 0 9 156 955 56 275" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_1 (@State StateArgument_51) =
+
+ @State
+ POND = StateMachineSpec_7
+ [[ Pos440 = "114 245 368 324 16 1 1638401" ]],
+ USTA = StateMachineSpec_8
+ [[ Pos440 = "476 245 730 324 16 1 1638401" ]],
+ @Initial _InitialState1
+ [[ Pos440 = "95 219 115 239 114689" ]];
+
+ @StateRegion
+ Region1 (POND, USTA, _InitialState1)
+ [[ Pos440 = "0 0 684 142" ]];
+
+ @Entry
+ #launch_ustt_timer();
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule
+ USTT_EXPIRES() : #launch_ustt_timer(),
+ USTT_EXPIRES() StateArgument_51 : #transmit_unassoc_sta_mme(),
+ BEACON_DETECTED(beacon_address) : #try_associate(beacon_address),
+ RECEIVE_CC_ASSOC_CNF(mme_address) : #process_cc_assoc_cnf(mme_address);
+
+ @TransitionRule
+ TO_USTA() @Src POND : @Dest USTA
+ [[ Pos440 = "370 260 473 282 0 809894016 254 36 0 36" ]],
+ @NoEvent @Src _InitialState1 : @Dest POND
+ [[ Pos440 = "157 215 179 239 0 809894016 20 15 23 0" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @StateMachine StateMachineSpec_0 (@State StateArgument_51,
+ @State StateArgument_50, @State StateArgument_47, @State StateArgument_58,
+ @State StateArgument_59, @State StateArgument_54) =
+
+ @State
+ UCCO = StateMachineSpec_6
+ [[ Pos440 = "250 441 768 499 16 1 1638401" ]],
+ POND_OR_USTA = StateMachineSpec_1 (StateArgument_51)
+ [[ Pos440 = "84 157 768 355 56 1 114689" ]],
+ STA_OR_CCO = StateMachineSpec_2 (StateArgument_47, StateArgument_58,
+ StateArgument_59, StateArgument_54)
+ [[ Pos440 = "84 548 768 981 36 1 114689" ]],
+ @Initial _InitialState4
+ [[ Pos440 = "27 166 47 186 114689" ]];
+
+ @StateRegion
+ Region1 (UCCO, POND_OR_USTA, STA_OR_CCO, _InitialState4)
+ [[ Pos440 = "0 0 779 879" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ BEACON_DETECTED(beacon_address) @Src UCCO : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "527 389 707 412 0 809894016 366 0 140 79" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src UCCO : @Dest
+ STA_OR_CCO._JunctionState0 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "562 506 748 529 0 809894016 425 58 20 7" ]],
+ USTA_TO_CCO() @Src POND_OR_USTA : @Dest STA_OR_CCO._JunctionState0
+ [[ Pos440 = "571 422 748 444 0 809894016 567 198 12 0" ]],
+ TO_STA() @Src POND_OR_USTA : @Dest STA_OR_CCO
+ [[ Pos440 = "108 366 287 387 0 809894016 112 198 112 0" ]],
+ POND_TO_UCCO() @Src POND_OR_USTA.POND StateArgument_50 : @Dest UCCO
+ [[ Pos440 = "244 357 420 377 0 809894016 225 79 89 0" ]],
+ BEACON_TIMER_EXPIRES() @Src POND_OR_USTA.USTA : @Dest UCCO
+ [[ Pos440 = "452 364 585 384 0 809894016 19 79 245 0" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_50 : @Dest
+ UCCO
+ [[ Pos440 = "639 618 814 637 0 809894016 162 0 482 58" ]],
+ JOIN_WAIT_TIMER_EXPIRES() @Src STA_OR_CCO.CCO StateArgument_51 : @Dest
+ POND_OR_USTA.USTA
+ [[ Pos440 = "609 581 790 611 0 809894016 134 0 229 79" ]],
+ BEACON_TIMER_EXPIRES() @Src STA_OR_CCO.ASSOCIATED_STA !StateArgument_58 :
+ @Dest POND_OR_USTA.POND
+ [[ Pos440 = "80 407 236 430 0 809894016 57 0 43 79" ]],
+ TO_USTA() @Src STA_OR_CCO.ASSOCIATED_STA : @Dest POND_OR_USTA.USTA
+ [[ Pos440 = "244 514 398 535 0 809894016 160 0 0 79" ]],
+ @NoEvent @Src _InitialState4 : @Dest POND_OR_USTA
+ [[ Pos440 = "47 146 127 176 0 809894016 20 10 0 19" ]];
+
+ @TerminationRule;
+
+ @End;
+
+ @TopStateMachine Station =
+
+ @State
+ @Initial _InitialState0
+ [[ Pos440 = "6 6 44 44 114689" ]],
+ ON = StateMachineSpec_0 (SMALL_FSM.AVLN_TO_TRACK,
+ SMALL_FSM.NO_AVLN_TO_TRACK, SMALL_FSM.HANDOVER, SMALL_FSM.BACKUP_CCO,
+ SMALL_FSM.NOT_BACKUP, SMALL_FSM.NOT_PCCO)
+ [[ Pos440 = "6 110 785 1020 31 1 114689" ]],
+ @ConnectorEnd from_CCO
+ [[ Pos440 = "808 16 897 41 114689" ]],
+ @ConnectorStart to_CCO
+ [[ Pos440 = "1494 16 1573 41 114689" ]],
+ @Junction _JunctionState1
+ [[ Pos440 = "842 75 862 95 1" ]],
+ @Junction _JunctionState2
+ [[ Pos440 = "1523 75 1543 95 1" ]],
+ @ConnectorEnd from_STA
+ [[ Pos440 = "8 1061 89 1081 114689" ]],
+ @ConnectorStart to_STA
+ [[ Pos440 = "685 1061 766 1081 114689" ]],
+ @Junction _JunctionState3
+ [[ Pos440 = "38 1121 58 1141 1" ]],
+ @Junction _JunctionState4
+ [[ Pos440 = "715 1121 735 1141 1" ]],
+ INIT_SYSTEM
+ [[ Pos440 = "200 26 593 76 16 1 1638401" ]],
+ @ConnectorStart from_INIT
+ [[ Pos440 = "632 28 738 48 114689" ]],
+ @ConnectorEnd from_INIT
+ [[ Pos440 = "824 1069 944 1089 114689" ]],
+ @ConnectorEnd to_INIT
+ [[ Pos440 = "624 54 735 74 114689" ]],
+ @ConnectorStart to_INIT
+ [[ Pos440 = "1402 1066 1492 1086 114689" ]],
+ @Junction _JunctionState5
+ [[ Pos440 = "869 1135 889 1155 1" ]],
+ @Junction _JunctionState6
+ [[ Pos440 = "1437 1131 1457 1151 1" ]],
+ SMALL_FSM = StateMachineSpec_5 (ON.STA_OR_CCO.CCO, ON.POND_OR_USTA)
+ [[ Pos440 = "26 17 709 1021 16 1 114689" ]];
+
+ @StateRegion
+ @OffPage Station (_InitialState0, ON, @ConnectorEnd from_CCO,
+ @ConnectorStart to_CCO, _JunctionState1, _JunctionState2, @ConnectorEnd
+ from_STA, @ConnectorStart to_STA, _JunctionState3, _JunctionState4,
+ INIT_SYSTEM, @ConnectorStart from_INIT, @ConnectorEnd from_INIT,
+ @ConnectorEnd to_INIT, @ConnectorStart to_INIT, _JunctionState5,
+ _JunctionState6)
+ [[ Pos440 = "0 0 318 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]],
+ @OffPage Small_FSMs (SMALL_FSM)
+ [[ Pos440 = "1 0 148 50", TextDisplayNote = "Preserve",
+ TextDisplayState = "Preserve", TextDisplayTransDesc = "Preserve",
+ View = "2 2 7" ]];
+
+ @Entry;
+
+ @Exit;
+
+ @Do;
+
+ @InternalRule;
+
+ @TransitionRule
+ @NoEvent @Src _InitialState0 : @Dest INIT_SYSTEM #init_system()
+ [[ Pos440 = "160 -114 284 -100 2 809894017 38 18 121 43 0 25" ]],
+ RECEIVE_DRV_MAC_STOP_IND() @Src ON : @Dest INIT_SYSTEM
+ [[ Pos440 = "61 86 295 104 0 809894016 280 0 86 50" ]],
+ @NoEvent @Src from_CCO : @Dest _JunctionState1
+ [[ Pos440 = "851 41 931 71 0 809894016 43 25 9 0" ]],
+ RECEIVE_CC_ASSOC_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_assoc_req(mme_address)
+ [[ Pos440 = "914 90 1485 120 1 809894018 20 11 884 110 0 9" ]],
+ RECEIVE_CC_SET_TEI_MAP_REQ(mme_address) @Src _JunctionState1 : @Dest
+ _JunctionState2 #process_cc_set_tei_map_req(mme_address)
+ [[ Pos440 = "908 128 1473 158 1 809894018 20 11 868 148 4 20" ]],
+ @NoEvent @Src _JunctionState2 : @Dest to_CCO
+ [[ Pos440 = "1531 45 1611 75 0 809894016 8 0 35 25" ]],
+ @NoEvent @Src from_STA : @Dest _JunctionState3
+ [[ Pos440 = "45 1051 125 1081 0 809894016 37 20 7 0" ]],
+ RECEIVE_CC_SET_TEI_MAP_IND(mme_address) @Src _JunctionState3 : @Dest
+ _JunctionState4 #process_cc_set_tei_map_ind(mme_address)
+ [[ Pos440 = "101 1144 671 1174 1 809894018 20 10 81 1164 0 20" ]],
+ @NoEvent @Src _JunctionState4 : @Dest to_STA
+ [[ Pos440 = "724 1121 804 1151 0 809894016 9 0 39 20" ]],
+ RECEIVE_DRV_MAC_START_REQ(msg) @Src INIT_SYSTEM : @Dest ON
+ #process_drv_start_mac_req(msg)
+ [[ Pos440 = "517 83 779 108 0 809894016 309 50 503 0" ]],
+ @NoEvent @Src INIT_SYSTEM : @Dest from_INIT
+ [[ Pos440 = "593 3 673 33 0 809894016 393 7 0 9" ]],
+ @NoEvent @Src from_INIT : @Dest _JunctionState5
+ [[ Pos440 = "801 1059 881 1089 0 809894016 57 20 9 0" ]],
+ @NoEvent @Src to_INIT : @Dest INIT_SYSTEM
+ [[ Pos440 = "575 12 655 42 0 809894016 0 9 393 37" ]],
+ RECEIVE_DRV_SET_MAC_ADDRESS(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_mac_address(msg)
+ [[ Pos440 = "916 1153 1420 1183 1 809894018 7 20 876 1183 1447 1174 8 20"
+ ]],
+ RECEIVE_DRV_SET_CCO_PREFERENCE_REQ(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_cco_preference(msg)
+ [[ Pos440 = "922 1211 1402 1241 1 809894018 0 12 893 1238 10 20" ]],
+ RECEIVE_DRV_SET_WAS_CCO(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_was_cco(msg)
+ [[ Pos440 = "919 1257 1426 1287 1 809894018 9 0 891 1285 20 11" ]],
+ RECEIVE_DRV_SET_NPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_npw(msg)
+ [[ Pos440 = "896 1311 1437 1341 1 809894018 12 20 953 1344 11 20" ]],
+ RECEIVE_DRV_SET_DPW_REQ(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_dpw_req(msg)
+ [[ Pos440 = "896 1363 1443 1393 1 809894018 0 10 948 1394 14 20" ]],
+ RECEIVE_DRV_SET_M_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_m_sta_hfid(msg)
+ [[ Pos440 = "895 1423 1429 1453 1 809894018 7 20 887 1449 10 20" ]],
+ RECEIVE_DRV_SET_U_STA_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_u_sta_hfid(msg)
+ [[ Pos440 = "913 1463 1421 1493 1 809894018 12 20 909 1493 8 20" ]],
+ RECEIVE_DRV_SET_AVLN_HFID(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_avln_hfid(msg)
+ [[ Pos440 = "913 1516 1432 1546 1 809894018 20 7 908 1545 20 11" ]],
+ RECEIVE_DRV_SET_SL(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_sl(msg)
+ [[ Pos440 = "889 1570 1434 1600 1 809894018 0 13 984 1596 20 11" ]],
+ RECEIVE_DRV_SET_TONEMASK(msg) @Src _JunctionState5 : @Dest
+ _JunctionState6 #process_drv_set_tonemask(msg)
+ [[ Pos440 = "909 1618 1434 1648 1 809894018 7 20 884 1647 20 10" ]],
+ RECEIVE_DRV_SET_NID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_nid(msg)
+ [[ Pos440 = "906 1662 1434 1692 1 809894018 10 0 921 1696 1448 1677 0 8"
+ ]],
+ RECEIVE_DRV_SET_SNID(msg) @Src _JunctionState5 : @Dest _JunctionState6
+ #process_drv_set_snid(msg)
+ [[ Pos440 = "891 1713 1431 1743 1 809894018 0 6 898 1744 1457 1738 20 10"
+ ]],
+ @NoEvent @Src _JunctionState6 : @Dest to_INIT
+ [[ Pos440 = "1367 1131 1447 1161 0 809894016 10 0 65 20" ]];
+
+ @TerminationRule;
+
+ [[ Pos440 = "10 10 476 76 16 1 114689" ]]
+
+ @End;
+
diff --git a/cesar/VisualState/sub/cp.vnw b/cesar/VisualState/sub/cp.vnw
new file mode 100644
index 0000000000..802bc0a5e8
--- /dev/null
+++ b/cesar/VisualState/sub/cp.vnw
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
+<NavigatorWorkspace Date="2008-02-15" Explanation="" Time="16:05:39">
+
+ <SourceControl SccAuxPath="" SccName="" SccPath="." SccProvider=""/>
+
+ <Project Active="true" ActiveSystem="main_fsm" File="..\Project1.vsp">
+ <Signature CheckSum="681b 87c5 a224 3276 ba20 0753" Version="50"/>
+ <Validator File="..\Project1.vws"/>
+ <OSEK APIType="0" ConfigApp="" Enabled="false" OILFile=""/>
+ <Report Creator="0" File="..\coder\vscoder.cre"/>
+ <Report Creator="1" File="..\doc\Project.rtf"/>
+ <Report Creator="1" File="..\doc\Cesar_CP.rtf"/>
+ </Project>
+
+</NavigatorWorkspace>