merge
authorNicola Baldo <nbaldo@cttc.es>
Wed, 19 Oct 2011 19:04:02 +0200
changeset 8384 e74d4ce259c8
parent 8380 f615b30c26e1 (current diff)
parent 8383 f712768d84a8 (diff)
child 8385 1c778218d880
merge
--- a/src/lte/doc/source/conf.py	Wed Oct 19 19:01:50 2011 +0200
+++ b/src/lte/doc/source/conf.py	Wed Oct 19 19:04:02 2011 +0200
@@ -25,7 +25,8 @@
 
 # Add any Sphinx extension module names here, as strings. They can be extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['sphinx.ext.pngmath']
+extensions = ['sphinx.ext.pngmath', 
+              'sphinxcontrib.seqdiag']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lte/doc/source/helpers.seqdiag	Wed Oct 19 19:04:02 2011 +0200
@@ -0,0 +1,27 @@
+
+
+diagram {
+
+LenaHelper => EpcHelper [label="AddEnb"] {
+  EpcHelper  -> EpcHelper [label="create EpcEnbApplication"];
+  EpcHelper  -> EpcHelper [label="Setup S1 link"];
+  EpcHelper  => EpcSgwPgwApplication [label="AddEnb (enbIpv4Address)"];
+}
+
+
+LenaHelper => LteUeRrc [label="GetRnti", return="RNTI"]
+LenaHelper => LteEnbRrc [label="SetupRadioBearer", return="LCID"] 
+
+LenaHelper => EpcHelper [label="ActivateEpsBearer(UE IP, eNB IP, TFT, RNTI, LCID)"] {
+  EpcHelper => EpcSgwPgwApplication [label="ActivateS1Bearer (UE IP, eNB IP, TFT)", return="TEID"] {
+    EpcSgwPgwApplication => EpcSgwPgwApplication [label="Store UE IP<->eNB IP mapping"];
+    EpcSgwPgwApplication => EpcSgwPgwApplication [label="Create GTP-U tunnel endpoint"];
+  }
+  EpcHelper => EpcEnbApplication [label="ErabSetupRequest(TEID, RNTI, LCID	)"] {
+    EpcEnbApplication -> EpcEnbApplication [label="Create GTP-U tunnel endpoint (TEID)"];
+    EpcEnbApplication -> EpcEnbApplication [label="store TEID<->(RNTI,LCID) mapping"]
+  }  
+}
+    
+
+}
\ No newline at end of file
--- a/src/lte/doc/source/lte-design.rst	Wed Oct 19 19:01:50 2011 +0200
+++ b/src/lte/doc/source/lte-design.rst	Wed Oct 19 19:04:02 2011 +0200
@@ -95,16 +95,11 @@
 
    Architecture of the LTE UE
 
-Design
-++++++
-
-The MAC Scheduler interface is **specified** or defined as **abstract classes**. The MAC Scheduler interface is **implemented** as **derived classes** from the abstract classes. We have splitted the MAC Scheduler interface into 4 abstract classes:
 
 
-  * Provider Side is specified in the ``FfMacSchedSapProvider`` class
-  * User Side is specified in the ``FfMacSchedSapUser`` class
+Description of the components
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
-* CSCHED SAP API
 
 The FemtoForum MAC Scheduler Interface
 ++++++++++++++++++++++++++++++++++++++
@@ -371,3 +366,53 @@
 of periodic wideband CQI (i.e., a single value of channel state that is deemed representative of all RBs 
 in use) and inband CQIs (i.e., a set of value representing the channel state for each RB). 
 
+
+
+
+Sequence Diagrams
+~~~~~~~~~~~~~~~~~
+
+In this section we provide some sequence diagram that illustrate some important interactions among the components of the LTE module.
+
+
+Physical Layer
+++++++++++++++
+
+TODO: add diagram showing interference calculation
+
+
+RLC buffer status report
+++++++++++++++++++++++++
+
+These sequence diagrams represent how the RLC buffer status is updated in the different cases of the downlink and the uplink.
+
+For the downlink:
+
+.. seqdiag:: rlc_buffer_status_report_downlink.seqdiag
+
+
+For the uplink:
+
+.. seqdiag:: rlc_buffer_status_report_uplink.seqdiag
+
+
+Helpers
++++++++
+
+
+.. seqdiag:: helpers.seqdiag
+
+A few notes on the above diagram:
+
+  * the role of the MME is taken by the EpcHelper, since we don't have
+    an MME at the moment (the current code supports data plane only);
+
+  * in a real LTE/EPC system, the setup of the RadioBearer comes after
+    the setup of the S1 bearer, but here due to the use of Helpers
+    instead of S1-AP messages we do it the other way around
+    (RadioBearers first, then S1 bearer) because of easier
+    implementation. This is fine to do since the current code focuses
+    on control plane only.
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lte/doc/source/rlc_buffer_status_report_downlink.seqdiag	Wed Oct 19 19:04:02 2011 +0200
@@ -0,0 +1,15 @@
+
+diagram {
+	
+   LtePdcp -> LteRlc [label="send SDU"]
+             LteRlc -> LteMacSapProvider [label="ReportBufferStatus ()"] 
+                       LteMacSapProvider -> LteEnbMac [label="DoReportBufferStatus ()"] 
+                                            LteEnbMac -> FfMacSchedSapProvider [label="SchedDlRlcBufferReq ()"] 
+                                                         FfMacSchedSapProvider -> Scheduler [label="DoSchedDlRlcBufferReq ()"]
+                                                         FfMacSchedSapProvider <-- Scheduler 
+                                            LteEnbMac <-- FfMacSchedSapProvider 
+                       LteMacSapProvider <-- LteEnbMac
+             LteRlc <-- LteMacSapProvider 
+   LtePdcp <-- LteRlc 
+   }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lte/doc/source/rlc_buffer_status_report_uplink.seqdiag	Wed Oct 19 19:04:02 2011 +0200
@@ -0,0 +1,17 @@
+
+   diagram {
+
+   LtePdcp -> LteRlc [label="send SDU"]
+             LteRlc -> LteMacSapProvider [label="ReportBufferStatus ()"] 
+                       LteMacSapProvider -> LteUeMac [label="DoReportBufferStatus ()"] 
+                                          LteUeMac -->> LteEnbMac [label="send ideal CTRL message"]		       
+                       LteMacSapProvider <-- LteUeMac
+             LteRlc <-- LteMacSapProvider
+   LtePdcp <-- LteRlc 
+                                                        LteEnbMac ->  FfMacSchedSapProvider [label="SchedUlMacCtrlInfoReq ()"] 
+                                                                      FfMacSchedSapProvider ->  Scheduler [label="DoSchedUlMacCtrlInfoReq ()"] 
+                                                                      FfMacSchedSapProvider <-- Scheduler
+                                                        LteEnbMac <--  FfMacSchedSapProvider                                                                       
+   }          
+
+