I am working on the implementation of the following scenario using OMNET++ & VEINS simulators.
- Every RSU will broadcast WSA (Wave Service Advertisement) Beacon once per second. (i.e. I2V communication).
- Every passing vehicle would store these WSAs. (i.e. Caching)
- Vehicles interested in a WSA, would query nearby vehicles. (i.e. Searching for WSA) (i.e. V2V communication).
- Vehicles after receiving the query, would response to the query (if the required WSA is inside the vehicle cache). (i.e. V2V communication)
Issues regarding implementation:
- Do I need to define a new .msg files for each of the above phases
(for RSU broadcast, for vehicles query, and for vehicles responding) ?
or I need to amend the
WaveShortMessage.msgfile only ? - Do I need to define my own
.cc,.h,.nedfiles for RSU and CAR or I can amend the traci examples (of Veins).
It is highly recommended that you create a general message type for your specific application. You could extend the
WaveShortMessage.msg, and then add atypefield in your message, which would represent different types of messages for the application:RSUbroadcast,VehicleQueryFrameand so on. The decision in the end boils down to your choice. But having messages as specified as possible (keeping them atomic for a certain task) is good practice.Having the different types will allow you control over the behaviour of the application based on the different message type.
In general yes. You will probably need to define
.ned,.cc,.hfor the application(s) which you want to run on the RSU and the Car, but not for redefining what a RSU and a Car really is.If you are reluctant you can start of by looking and the demo files and examples inside Veins.