Bugzilla – Full Text Bug Listing |
Summary: | Remove unnecessary modules dependencies | ||
---|---|---|---|
Product: | ns-3 | Reporter: | Tommaso Pecorella <tommaso.pecorella> |
Component: | lte | Assignee: | Biljana Bojović <bbojovic> |
Status: | CONFIRMED --- | ||
Severity: | enhancement | CC: | dinos.katsaros, ns-bugs, tomh |
Priority: | P5 | ||
Version: | ns-3-dev | ||
Hardware: | All | ||
OS: | All | ||
Bug Depends on: | 2142, 1811, 2130 | ||
Bug Blocks: | |||
Attachments: |
patch to fix (remove 'applications' from csma wscript, and adjust others)
AODV cleanup OLSR cleanup Energy model cleanup MESH cleanup WAVE cleanup dependency graph Internet-Network-Core redundancy dependency graph pruned |
Description
Tommaso Pecorella
2014-06-27 16:44:30 EDT
Looking at the wscript of other modules, I noticed that others have the same dependency on application without any obvious reason, e.g. routing protocols (aodv, olsr, dsr), csma-layout, wimax, mesh. I guess this is due to examples dependency on application. Created attachment 1853 [details]
patch to fix (remove 'applications' from csma wscript, and adjust others)
Comment on attachment 1853 [details]
patch to fix (remove 'applications' from csma wscript, and adjust others)
Thanks, pushed in changeset: 10824:c5f41363f688 a merge between your and mine.
Keeping the bug open to fix Spectrum, Mesh and others.
Note that some of them needs the "SimpleApplications" to be fixed.
I updated some more wscripts. The modules remaining to be fixed are: - aodv - mesh - spectrum - wimax - lte - wave In all the above cases, a small refactoring of the tests is needed, as "applications" are used (among other strictly unnecessary modules) in tests. Leaving the bug open for those cases. changeset 10849 is the best we can do without the "new" apps here: https://codereview.appspot.com/45320043 The patch includes already fixes for the other low hanging fruits: wave and spectrum. The missing ones are: - aodv - mesh - olsr - lte - test + aodv, mesh and olsr are all a matter of re-building the reference traces. Boring but easy. + lte is too complex for my taste. I'd leave to Nicola + the test module should die anyway. Sooner or later. I guess more later than sooner, but I'd rather fix the tests AND move them to their right places. Created attachment 2044 [details]
AODV cleanup
New AODV tests. Some regression traces had to be rebuilt (small differences).
All the applications have been replaced with internal ones and/or stripped down versions of the normal apps.
Created attachment 2053 [details]
OLSR cleanup
This patch needs one more functionality to SimpleChannel: to be able to blacklist some devices. I.e., to have a shared medium where two devices can not communicate (e.g., because they are out of range or because they are mutually hidden). (In reply to Tommaso Pecorella from comment #7) > Created attachment 2053 [details] > OLSR cleanup Created attachment 2070 [details]
Energy model cleanup
This one is... intrusive.
The energy model dependency on wifi is removed by:
1) moving the wifi energy models to wifi
2) changing some tests in examples (not extremely example-ish, tho).
3) adding some dependencies to other modules (e.g., uan didn't need mobility explicitly).
Created attachment 2084 [details]
MESH cleanup
Created attachment 2085 [details]
WAVE cleanup
This was easy... a module included for an header (used in a test).
Created attachment 2086 [details]
dependency graph
Dependency graph as today (with the patches), minus LTE and test modules.
There's still a lot of redundancy (e.g., why network *and* core, just network is enough), but it's definitely cleaner.
Created attachment 2087 [details]
Internet-Network-Core redundancy
This removes the Internet / Network / Core redundancy.
There are still some "quirks". E.g., point-to-point has a "hard" dependency on mpi, but it could work flawlessly without.
Created attachment 2088 [details]
dependency graph pruned
Dependencies without Internet / Network / Core redundancy.
(In reply to Tommaso Pecorella from comment #14) > Created attachment 2088 [details] > dependency graph pruned > > Dependencies without Internet / Network / Core redundancy. Is there any reason to do this other than to save some typing in wscripts? If not, I'd prefer to be more explicit in listing the dependencies. (In reply to Tom Henderson from comment #15) > (In reply to Tommaso Pecorella from comment #14) > > Created attachment 2088 [details] > > dependency graph pruned > > > > Dependencies without Internet / Network / Core redundancy. > > Is there any reason to do this other than to save some typing in wscripts? > If not, I'd prefer to be more explicit in listing the dependencies. None, it's purely cosmetic (so far). It could be useful for bake (less complex inter-dependencies) and to spot misplaced dependencies. Still, it's largely a matter of taste. While the other patches are to be applied (in the present or improved form), this is safely skippable. Added a dependency on Bug #2142 (NS_EXAMPLE_ASSERT needed) to remember that some tests have been "promoted" to examples and they should be cleaned once a NS_EXAMPLE_ASSERT is available. Comment on attachment 2044 [details]
AODV cleanup
changeset 11484 a7698ae651ec
Comment on attachment 2053 [details]
OLSR cleanup
changeset 11483 36003018211b
Comment on attachment 2084 [details]
MESH cleanup
changeset 11485 df37afec1b0f
Comment on attachment 2085 [details]
WAVE cleanup
changeset 11486 882eb93bc1bb
Comment on attachment 2070 [details]
Energy model cleanup
changeset 11487 36b7799aa256
The missing ones are: - test (unavoidable) - lte (sooner or later I'll do that one too). I'll leave the bug open to remember to fix lte and to improve the examples once bug# 2142 is fixed. |