Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(330)

Issue 13720052: ns-3 GSoC 2013 (LTE) - Final code review

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 7 months ago by buherman
Modified:
10 years, 5 months ago
Reviewers:
Nicola Baldo, bpswenson
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

Hi, This is the final deliverables of the ns-3 GSoC 2013 project, LTE UE measurements. The objective of this code review is to let the ns-3 community review the code and provide some feedback. This issue contains a collection of self-contained patch sets, which is a subset of the full changes. To keep each patch set short and straight to the point, I only include the changes that I deem essential and worth reviewing. Thus, these patch sets most likely won't work when you download them. If you're interested with the full list of changes, or need a working code, please refer to another code review issue [1], which is intended for merging purpose. Each patch set contains a GSOC_README.txt file which has a brief introduction to the content of the patch set. There are 4 patch sets: - Patch Set 1: Models - UE measurements - Patch Set 2: Models - Initial cell selection - Patch Set 3: Models - ANR and handover algorithm - Patch Set 4: Tests, examples, and Sphinx documentation === UPDATE (23rd October 2013). Added Patch Set 5, containing only the updates from the provided feedback. Note: the compiled Sphinx documentation is also available for review, e.g., to see the figures and formatting. It is provided in HTML [2] and PDF [3] formats. These links lead to the whole ns-3 Model Library documentation, which is very large, so please jump to the related sections, as listed below: - Design Documentation > RRC > Initial Cell Selection - Design Documentation > RRC > UE RRC Measurements Model - Design Documentation > RRC > Handover - Design Documentation > RRC > Neighbour Relation - Design Documentation > X2 (only the part mentioning handover) - User Documentation > Network Attachment (about initial cell selection) - User Documentation > Configure UE measurements - User Documentation > X2-based handover - User Documentation > Reference scenarios > Handover simulation campaign - Testing Documentation > UE measurement configuration tests - Testing Documentation > Initial cell selection - Testing Documentation > Selection of target cell in handover algorithm Comments and feedback are very much appreciated. Regards, -budi- [1] https://codereview.appspot.com/13728043/ [2] http://www.nsnam.org/~buherman/sphinx_gsoc2013/html/lte.html [3] http://www.nsnam.org/~buherman/sphinx_gsoc2013/latex/ns-3-model-library.pdf

Patch Set 1 : Models - UE measurements #

Total comments: 32

Patch Set 2 : Models - Initial cell selection #

Total comments: 23

Patch Set 3 : Models - ANR and handover algorithm #

Total comments: 26

Patch Set 4 : Tests, examples, and Sphinx documentation #

Total comments: 1

Patch Set 5 : Updates due to review (as of 22nd October 2013) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1228 lines, -673 lines) Patch
A GSOC_README View 1 2 3 4 1 chunk +18 lines, -0 lines 0 comments Download
M src/lte/doc/source/lte-testing.rst View 1 2 3 4 3 chunks +17 lines, -14 lines 0 comments Download
M src/lte/doc/source/lte-user.rst View 1 2 3 4 1 chunk +13 lines, -7 lines 0 comments Download
M src/lte/examples/lena-dual-stripe.cc View 1 2 3 4 3 chunks +4 lines, -5 lines 0 comments Download
M src/lte/helper/lte-helper.h View 1 2 3 4 1 chunk +0 lines, -128 lines 0 comments Download
M src/lte/helper/lte-helper.cc View 1 2 3 4 1 chunk +0 lines, -82 lines 0 comments Download
M src/lte/model/a2-a4-rsrq-handover-algorithm.h View 1 2 3 4 4 chunks +50 lines, -23 lines 0 comments Download
M src/lte/model/a2-a4-rsrq-handover-algorithm.cc View 1 2 3 4 5 chunks +17 lines, -11 lines 0 comments Download
M src/lte/model/a3-rsrp-handover-algorithm.h View 1 2 3 4 2 chunks +32 lines, -11 lines 0 comments Download
M src/lte/model/a3-rsrp-handover-algorithm.cc View 1 2 3 4 4 chunks +13 lines, -8 lines 0 comments Download
M src/lte/model/epc-ue-nas.h View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
M src/lte/model/epc-ue-nas.cc View 1 2 3 4 5 chunks +18 lines, -4 lines 0 comments Download
M src/lte/model/lte-anr.h View 1 2 3 4 5 chunks +113 lines, -22 lines 0 comments Download
M src/lte/model/lte-anr.cc View 1 2 3 4 10 chunks +27 lines, -16 lines 0 comments Download
M src/lte/model/lte-anr-sap.h View 1 2 3 4 10 chunks +17 lines, -17 lines 0 comments Download
M src/lte/model/lte-common.cc View 1 2 3 4 6 chunks +19 lines, -7 lines 0 comments Download
M src/lte/model/lte-control-messages.h View 1 2 3 4 10 chunks +52 lines, -145 lines 0 comments Download
M src/lte/model/lte-enb-net-device.h View 1 2 3 4 3 chunks +59 lines, -8 lines 0 comments Download
M src/lte/model/lte-enb-net-device.cc View 1 2 3 4 8 chunks +74 lines, -13 lines 0 comments Download
M src/lte/model/lte-enb-rrc.h View 1 2 3 4 5 chunks +26 lines, -12 lines 0 comments Download
M src/lte/model/lte-enb-rrc.cc View 1 2 3 4 9 chunks +33 lines, -20 lines 0 comments Download
M src/lte/model/lte-handover-algorithm.h View 1 2 3 4 2 chunks +52 lines, -12 lines 0 comments Download
M src/lte/model/lte-handover-algorithm.cc View 1 2 3 4 2 chunks +8 lines, -7 lines 0 comments Download
M src/lte/model/lte-handover-management-sap.h View 1 2 3 4 4 chunks +13 lines, -6 lines 0 comments Download
M src/lte/model/lte-ue-cphy-sap.h View 1 2 3 4 4 chunks +20 lines, -8 lines 0 comments Download
M src/lte/model/lte-ue-net-device.h View 1 2 3 4 3 chunks +31 lines, -8 lines 0 comments Download
M src/lte/model/lte-ue-net-device.cc View 1 2 3 4 5 chunks +44 lines, -2 lines 0 comments Download
M src/lte/model/lte-ue-phy.h View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/lte/model/lte-ue-phy.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/lte/model/lte-ue-rrc.h View 1 2 3 4 9 chunks +367 lines, -35 lines 0 comments Download
M src/lte/model/lte-ue-rrc.cc View 1 2 3 4 14 chunks +21 lines, -9 lines 0 comments Download
M src/lte/model/no-op-handover-algorithm.h View 1 2 3 4 1 chunk +17 lines, -8 lines 0 comments Download
M src/lte/model/no-op-handover-algorithm.cc View 1 2 3 4 5 chunks +8 lines, -1 line 0 comments Download
M src/lte/test/lte-test-cell-selection.cc View 1 2 3 4 3 chunks +36 lines, -20 lines 0 comments Download
M src/lte/test/lte-test-ue-measurements.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 15
bpswenson
https://codereview.appspot.com/13720052/diff/45001/src/lte/model/lte-common.cc File src/lte/model/lte-common.cc (right): https://codereview.appspot.com/13720052/diff/45001/src/lte/model/lte-common.cc#newcode245 src/lte/model/lte-common.cc:245: double This method and others: No use of NS_LOG_FUNCTION ...
10 years, 7 months ago (2013-09-25 17:30:51 UTC) #1
bpswenson
https://codereview.appspot.com/13720052/diff/48001/src/lte/model/epc-ue-nas.cc File src/lte/model/epc-ue-nas.cc (right): https://codereview.appspot.com/13720052/diff/48001/src/lte/model/epc-ue-nas.cc#newcode106 src/lte/model/epc-ue-nas.cc:106: EpcUeNas::SetCsgId (uint32_t csgId) Need NS_LOG_FUNCTION? https://codereview.appspot.com/13720052/diff/48001/src/lte/model/epc-ue-nas.cc#newcode238 src/lte/model/epc-ue-nas.cc:238: // TODO ...
10 years, 7 months ago (2013-09-25 18:51:13 UTC) #2
bpswenson
https://codereview.appspot.com/13720052/diff/51001/src/lte/model/a2-a4-rsrq-handover-algorithm.cc File src/lte/model/a2-a4-rsrq-handover-algorithm.cc (right): https://codereview.appspot.com/13720052/diff/51001/src/lte/model/a2-a4-rsrq-handover-algorithm.cc#newcode228 src/lte/model/a2-a4-rsrq-handover-algorithm.cc:228: // TODO TODO what? https://codereview.appspot.com/13720052/diff/51001/src/lte/model/a2-a4-rsrq-handover-algorithm.h File src/lte/model/a2-a4-rsrq-handover-algorithm.h (right): https://codereview.appspot.com/13720052/diff/51001/src/lte/model/a2-a4-rsrq-handover-algorithm.h#newcode103 ...
10 years, 7 months ago (2013-09-25 19:55:04 UTC) #3
buherman
https://codereview.appspot.com/13720052/diff/53001/src/lte/test/lte-test-cell-selection.cc File src/lte/test/lte-test-cell-selection.cc (right): https://codereview.appspot.com/13720052/diff/53001/src/lte/test/lte-test-cell-selection.cc#newcode165 src/lte/test/lte-test-cell-selection.cc:165: Config::SetGlobal ("RngRun", IntegerValue (m_rngRun)); One question. Is it actually ...
10 years, 7 months ago (2013-09-26 07:02:18 UTC) #4
buherman
Hi Brian, Thanks for your comments. I've worked on some of them, as listed below. ...
10 years, 7 months ago (2013-09-26 11:42:35 UTC) #5
buherman
https://codereview.appspot.com/13720052/diff/51001/src/lte/model/a3-rsrp-handover-algorithm.cc File src/lte/model/a3-rsrp-handover-algorithm.cc (right): https://codereview.appspot.com/13720052/diff/51001/src/lte/model/a3-rsrp-handover-algorithm.cc#newcode37 src/lte/model/a3-rsrp-handover-algorithm.cc:37: { Added NS_LOG_FUNCTION here and in all the other ...
10 years, 7 months ago (2013-09-26 11:49:30 UTC) #6
Nicola Baldo
I went through the code. The major issue to be fixed is the Helper API ...
10 years, 6 months ago (2013-10-04 12:25:01 UTC) #7
buherman
Hi All, Thanks a lot for the review. Well, I haven't got the time to ...
10 years, 6 months ago (2013-10-06 18:54:30 UTC) #8
buherman
Hi All, Thanks a lot for the review. Well, I haven't got the time to ...
10 years, 6 months ago (2013-10-06 18:54:44 UTC) #9
Nicola Baldo
Hi Budi, On 2013/10/06 18:54:30, buherman wrote: > At that time when I discovered the ...
10 years, 6 months ago (2013-10-10 09:57:04 UTC) #10
buherman
Hi All, Thanks for the feedback. I've finally completed implementing them to the repository. Patch ...
10 years, 6 months ago (2013-10-23 15:37:51 UTC) #11
Nicola Baldo
Hi Budi, thank you very much for the update. I've reviewed your resolution of the ...
10 years, 5 months ago (2013-11-07 18:10:27 UTC) #12
buherman
Hi Nicola, Please see my comments below. Regards, -budi- On 2013/11/07 18:10:27, Nicola Baldo wrote: ...
10 years, 5 months ago (2013-11-07 19:59:36 UTC) #13
Nicola Baldo
Hi Budi, On 2013/11/07 19:59:36, buherman wrote: > Revision 9928:048edf672cef of June 4th was the ...
10 years, 5 months ago (2013-11-08 12:08:25 UTC) #14
buherman
10 years, 5 months ago (2013-11-09 14:14:14 UTC) #15
Hi Nicola,

On 2013/11/08 12:08:25, Nicola Baldo wrote:
> ok, anyway the "other way around" affects only the ordering of the changesets,
> and which parent changeset is considered the default (e.g., when doing "hg
> diff"). The actual result does not vary.
> 
> > 
> > I've created and recreated ns-3-gsoc-lte-merge several times already for
code
> > review purpose. So I had to resolve the same conflicts again and again. 
> 
> actually there was no need to delete and recreate the merge repository several
> time. You could have just committed different merge operations subsequently,
and
> still you would be able to generate a proper patch for code review by
selecting
> the appropriate revision to diff against.
> Maybe I should have been more explict on this issue before, sorry for this. I
> understand that re-doing the merge repeatedly is time consuming and very
> annoying.

Well, to be honest I still don't understand it either from the above explanation
:). I need to try it out see it myself, so I will do that next time.

> no this is not the right way of doing it. I agree that the resulting code is
> correct, and effectively the merge becomes easier, but as a side effect you
are
> overwriting the information about the author of each change which you merged
> manually. As a result, for example, "hg annotate" will show that you are the
> author for those changes by someone else that you applied manually.
> 
> 
> 
> > As an alternative, you
> > can safely ignore this latest revision (because its content is already in
> > ns-3-dev) and pull only up to the revision before it:
> > 
> > changeset:   10073:665af58c863b
> > user:        Budiarto Herman <mailto:budiarto.herman@magister.fi>
> > date:        Tue Oct 22 20:36:56 2013 +0300
> > summary:     Fix to SetCsgId in LteEnbRrc for not updating SIB1 in PHY
> > 
> 
> 
> I just did that, then I merged with ns-3-dev, and I resolved the conflicts by
> taking manually the resolved files from bab468e8fe1d in your repo (without
> actually pulling in that changeset). I committed this as 
> 
> changeset:   10386:0156b589bf78
> tag:         tip
> parent:      10240:dd5bd38d3587
> parent:      10385:665af58c863b
> user:        Budiarto Herman <mailto:budiarto.herman@magister.fi>
> date:        Fri Nov 08 12:09:58 2013 +0100
> summary:     merge from ns-3-dev branch to GSoC branch
> 
> Note I put you as the author as the resolved conflict files came from you - I
> did not have to add anything else.
> I've just pushed all this to ns-3-dev, so that we are in time for the feature
> freeze for the ns-3.19 release.
> 
> As a final remark, here is an example of the "hg annotate" issues that I
> mentioned before. 
> This is the result of the merge operation as I've done it:
>
http://code.nsnam.org/ns-3-dev/annotate/tip/src/lte/examples/lena-dual-stripe...
> and this is how it resulted from your manual application of the changesets:
>
http://code.nsnam.org/buherman/ns-3-gsoc-lte-merge/annotate/6d30b5f127b4/src/...

Hm... I wasn't aware about "hg annotate" before. Thanks for explaining this. And
yes, I agree that this is  not the right way to do.

Anyway, thanks for the effort reviewing and then merging the code. I guess the
issue is closed now. Looking forward to contributing again to ns-3 and LENA in
the near future.

Regards,
-budi-
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b