added seqdiags to lte doc
authorNicola Baldo <nbaldo@cttc.es>
Wed, 28 Sep 2011 16:37:57 +0200
changeset 8381 413d1934c6a8
parent 8377 3ae363919ea3
child 8382 74a6867a45b7
added seqdiags to lte doc
src/lte/doc/source/conf.py
src/lte/doc/source/helpers.seqdiag
src/lte/doc/source/lte-design.rst
src/lte/doc/source/rlc_buffer_status_report_downlink.seqdiag
src/lte/doc/source/rlc_buffer_status_report_uplink.seqdiag
--- a/src/lte/doc/source/conf.py	Fri Sep 16 17:44:11 2011 +0200
+++ b/src/lte/doc/source/conf.py	Wed Sep 28 16:37:57 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 Sep 28 16:37:57 2011 +0200
@@ -0,0 +1,22 @@
+
+
+diagram {
+
+LenaHelper => EpcHelper [label="AddEnb"] {
+  EpcHelper  -> EpcHelper [label="create EpcEnbApplication"];
+  EpcHelper  => EpcSgwPgwApplication [label="SetupS1Link"];
+  EpcHelper  => EpcEnbApplication [label="SetupS1Link"];
+}
+
+LenaHelper => EpcHelper [label="SetupEpsBearer"] {
+  EpcHelper => EpcSgwPgwApplication [label="GTP/C CreateSessionRequest / BearerResourceCommand"] {
+    EpcSgwPgwApplication => EpcSgwPgwApplication [label="Setup S1 Bearer"];
+    EpcSgwPgwApplication => EpcEnbApplication [label="CreateBearer(TEID)"] {
+      EpcEnbApplication => EpcEnbApplication [label="SetupS1Bearer"];
+      EpcEnbApplication => LteEnbNetDevice [label="SetupRadioBearer", return="RBID"];
+    }
+  }
+  
+}
+
+}
\ No newline at end of file
--- a/src/lte/doc/source/lte-design.rst	Fri Sep 16 17:44:11 2011 +0200
+++ b/src/lte/doc/source/lte-design.rst	Wed Sep 28 16:37:57 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,41 @@
 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
+
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/lte/doc/source/rlc_buffer_status_report_downlink.seqdiag	Wed Sep 28 16:37:57 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 Sep 28 16:37:57 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                                                                       
+   }          
+
+