Vehicular application development

ms-van3t, thanks to its straightforward implementation, allows the user to generate arbitrarily complex scenarios with few steps. In general, to run simulations with ms-van3t it is required to follow four steps as follows:

  1. Define the mobility model. If SUMO is used, the user can define the simulation scenario, and upload all the XML configuration files in a dedicated folder inside ms-van3t (preferably in the examples folder). If offline-collected GNSS traces are used, instead, the user is required to upload them into a dedicated folder inside ms-van3t, and, if needed, to format them as required by the framework (i.e., a highly flexible CSV format) like the ones provided in the gps-tc example.

  2. Define the application logic. The user needs to define the behavior of the network nodes when sending and receiving V2X messages, in dedicated C++ files. To do so, the Facilities layer of ms-van3t gives the possibility of configuring dedicated callbacks that will be invoked when receiving CAMs, DENMs, IVIMs and CPMS, as well as functions to trigger the creation of new DENMs and start/stop the dissemination of CAMs and CPMs. Dedicated functions are also provided to generate new IVIMs to be transmitted from infrastructure to vehicles.

  3. Select and configure the access technology. The user needs to configure the simulated nodes to adopt the chosen access technology; depending on the desired configuration, it may be required to set up the main network parameters (e.g., frequency, transmission power, subchannel size, etc.). In this way, the V2X messages generated by the higher layers of ms-van3t will be dispatched using the MAC and Physical models of the selected access technology. This step should be done by creating a main simulation C++ file, which contains the overall simulation logic and parameters, and in which applications are assigned to each vehicle or infrastructure node. ms-van3t provides, as detailed in the next Section, several examples meant to be used as a starting point for creating customized simulation files.

  4. Configure additional utilities and modules. Optionally, the user can configure the usage of additional modules, such as the MetricSupervisor to seamlessly gather average latency and PRR metrics. The latter should be configured in the same file that is also used to set up the access technology parameters.

After creating the simulation files, they can be compiled, executed and debugged with ns3.