--- 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
+ }
+
+