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

Issue 176430044: mobility-service-interface module code review (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
3 years, 11 months ago by tiago.cerqueira
Modified:
3 years, 2 months ago
Reviewers:
CC:
ns-3-reviews_googlegroups.com
Visibility:
Public.

Description

SummerMentorshipProgram 2014 RoutesMobilityModel - Mobility trace generation using the Google Maps API. Mobility trace generation in ns-3 is done either by using the Mobility module included in NS-3 or by importing mobility traces generated by third party programs in a compatible format. The Mobility module included in ns-3 gives programmers the building blocks to create simple or complex traces, but is hindered by the fact that creating complex traces using the current module alone takes too long, even for simulations with just a couple of mobility capable nodes. As for mobility traces generated by third party programs, such as SUMO, they can involve too much work for their generation, especially when the researcher's interest - and expertise - is more on the data communication than on the traffic simulation. Using the Google Maps API it is possible to generate complex mobility traces, simply by providing a start and end point. Since the API is robust, well documented and supported, it can be assumed it will be available in the future. This patch covers my development from the beginning of the project. This module supports the following features: * Mobility trace generation for nodes * Mobility traces with dynamic redirection * Automatic creation of mobility for a node container * Create mobility traces for nodes using local XML files One test was developed, to test for the conversion of the WSG84 coordinates to Cartesian coordinates, the time placement of the |ns3::Waypoints| and the polyline conversion algorithm. Three examples illustrate typical uses for this module * routes-mobility-example.cc * routes-mobility-automatic-example.cc * routes-mobility-offline-example.cc A Google Maps API key must be created in order to use this module. Information on how to create a Google Maps API key is on the module sphinx documentation. The API key must be placed in the file src/mobility-service-interface/conf/api-key.txt More information on this module can be found in the file src/mobility-service-interface/doc/mobility-service-interface.rst and on the project wiki [1]. [1] - http://www.nsnam.org/wiki/RoutesMobilityModel

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+5042 lines, -1 line) Patch
M doc/models/Makefile View 1 chunk +11 lines, -1 line 0 comments Download
A src/mobility-service-interface/doc/figures/ChooseRouteAutomaticSD.pdf View Binary file 0 comments Download
A src/mobility-service-interface/doc/figures/ChooseRouteBaseSD.pdf View Binary file 0 comments Download
A src/mobility-service-interface/doc/figures/MobilityServiceClassDiagram.pdf View Binary file 0 comments Download
A src/mobility-service-interface/doc/figures/MobilityServiceUC.pdf View Binary file 0 comments Download
A src/mobility-service-interface/doc/figures/MobilityTraceExample.pdf View Binary file 0 comments Download
A src/mobility-service-interface/doc/mobility-service-interface.rst View 1 chunk +621 lines, -0 lines 0 comments Download
A src/mobility-service-interface/examples/mobility-service-interface-example.cc View 1 chunk +26 lines, -0 lines 0 comments Download
A src/mobility-service-interface/examples/routes-mobility-automatic-example.cc View 1 chunk +92 lines, -0 lines 0 comments Download
A src/mobility-service-interface/examples/routes-mobility-example.cc View 1 chunk +92 lines, -0 lines 0 comments Download
A src/mobility-service-interface/examples/routes-mobility-offline-example.cc View 1 chunk +91 lines, -0 lines 0 comments Download
A src/mobility-service-interface/examples/wscript View 1 chunk +18 lines, -0 lines 0 comments Download
A src/mobility-service-interface/helper/routes-mobility-helper.h View 1 chunk +213 lines, -0 lines 0 comments Download
A src/mobility-service-interface/helper/routes-mobility-helper.cc View 1 chunk +363 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/directions-api-connect.h View 1 chunk +54 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/google-maps-api-connect.h View 1 chunk +147 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/google-maps-api-connect.cc View 1 chunk +211 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/google-maps-decoder.h View 1 chunk +128 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/google-maps-decoder.cc View 1 chunk +240 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/google-maps-places-api-connect.h View 1 chunk +121 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/google-maps-places-api-connect.cc View 1 chunk +180 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/leg.h View 1 chunk +92 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/leg.cc View 1 chunk +79 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/place.h View 1 chunk +92 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/place.cc View 1 chunk +82 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/places-api-connect.h View 1 chunk +43 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/point.h View 1 chunk +135 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/point.cc View 1 chunk +136 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/routes-mobility-helper.h View 1 chunk +213 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/routes-mobility-helper.cc View 1 chunk +359 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/sax-handler.h View 1 chunk +64 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/sax-handler.cc View 1 chunk +196 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/sax-places-handler.h View 1 chunk +63 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/sax-places-handler.cc View 1 chunk +200 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/step.h View 1 chunk +92 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/step.cc View 1 chunk +94 lines, -0 lines 0 comments Download
A src/mobility-service-interface/model/strategy-api-connect.cc View 1 chunk +21 lines, -0 lines 0 comments Download
A src/mobility-service-interface/test/examples-to-run.py View 1 chunk +23 lines, -0 lines 0 comments Download
A src/mobility-service-interface/test/mobility-service-interface-test-suite.cc View 1 chunk +68 lines, -0 lines 0 comments Download
A src/mobility-service-interface/test/routes-mobility-model-test.cc View 1 chunk +147 lines, -0 lines 0 comments Download
A src/mobility-service-interface/test/routes-mobility-model-xml-test.xml View 1 chunk +183 lines, -0 lines 0 comments Download
A src/mobility-service-interface/wscript View 1 chunk +52 lines, -0 lines 0 comments Download

Messages

Total messages: 1
tiago.cerqueira
3 years, 11 months ago (2014-12-07 01:23:40 UTC) #1
SummerMentorshipProgram 2014 RoutesMobilityModel - Mobility trace generation
using the Google Maps API.

Mobility trace generation in ns-3 is done either by using the Mobility module
included in NS-3 or by importing mobility traces generated by third party
programs in a compatible format. The Mobility module included in ns-3 gives
programmers the building blocks to create simple or complex traces, but is
hindered by the fact that creating complex traces using the current module alone
takes too long, even for simulations with just a couple of mobility capable
nodes. As for mobility traces generated by third party programs, such as SUMO,
they can involve too much work for their generation, especially when the
researcher's interest - and expertise - is more on the data communication than
on the traffic simulation. Using the Google Maps API it is possible to generate
complex mobility traces, simply by providing a start and end point. Since the
API is robust, well documented and supported, it can be assumed it will be
available in the future.

This patch covers my development from the beginning of the project.
This module supports the following features:

 * Mobility trace generation for nodes
 * Mobility traces with dynamic redirection
 * Automatic creation of mobility for a node container
 * Create mobility traces for nodes using local XML files

One test was developed, to test for the conversion of the WSG84 coordinates to
Cartesian coordinates, the time placement of the |ns3::Waypoints| and the
polyline conversion algorithm.

Three examples illustrate typical uses for this module
 * routes-mobility-example.cc
 * routes-mobility-automatic-example.cc
 * routes-mobility-offline-example.cc

A Google Maps API key must be created in order to use this module. Information
on how to create a Google Maps API key is on the module sphinx documentation.
The API key must be placed in the file
src/mobility-service-interface/conf/api-key.txt

More information on this module can be found in the file
src/mobility-service-interface/doc/mobility-service-interface.rst and on the
project wiki [1].

[1] - http://www.nsnam.org/wiki/RoutesMobilityModel
Sign in to reply to this message.

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