simulation of vehicular...
TRANSCRIPT
![Page 1: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/1.jpg)
MicheleSegata,RenatoLoCigno - UniversityofTrento
withspecialthankstoFalko Dressler,ChristophSommer,BastianBloessl,Stefan Joerer,DavidEckhoff
WirelessMeshandVehicularNetworks
SimulationofVehicularNetworks
![Page 2: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/2.jpg)
Anoutline
A(rough)outlineoftheVehicularNetworkstopics• Application:whyVN?• Communication:technologies,alternatives,protocols,challenges• Simulation: evaluatingvehicularnetworkswithoutvehiclesand
withoutnetworks.Toolsandmodels
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 2
![Page 3: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/3.jpg)
SIMULATION
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 3
![Page 4: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/4.jpg)
ApproachestoPerformanceEvaluation
• FieldOperationalTests+Highestdegreeofrealism- noin-depthinvestigationsofnetworkbehavior- Non-suppressiblesideeffects- Limitedextrapolationfromfieldoperationaltests
• Analyticalevaluation+Closed-formdescriptionallowsforfar-reachingconclusions- Mayneedtooversimplifycomplexsystems
• Simulation– Canserveasmiddleground
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 4
GM/CMU
100m 200m 300m
1 MBit/
s
11 MBit/s
54 MBit/s
b
a
g
![Page 5: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/5.jpg)
RequirementsforSimulation
• Models– Networkprotocollayers– Radiopropagation– Nodemobility– Modelofapproachtobeinvestigated(e.g.,flooding)
• Scenarios– Roadgeometry,trafficlights,metainformation– Normaltrafficpattern– Scenarioofusecasetobeinvestigated(e.g.,accident)
• Metrics– Networktrafficmetrics(delay,load,…)– Roadtrafficmetrics(traveltime,stoppingtime,emissions,…)– Metricofusecasetobeinvestigated(e.g.,timeuntiljamresolved)
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 5
![Page 6: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/6.jpg)
ModelingNetworkProtocols
• Dedicatedsimulationtools– DiscreteEventSimulation(DES)kernel– Managesqueueofevents(e.g.,“anIPfragmentwasreceived”)– Deliverseventstosimulationmodels
• Modellibraries– Simulatecomponents’reactiontoevents– E.g.,HTTPserver,TCPstatemachine,radiochannel,human,…– “whenenoughIPfragmentsreceived ⇨ tellTCP:packetreceived”
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 6
Engine Language Library Language
OMNeT++ C++ MiXiM C++
ns-2/ns-3 C++ ns-2/ns-3 ObjectiveTcl /Python
JiST Java SWANS Java
ONE
TWO
![Page 7: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/7.jpg)
ModelingRadioChannel
• Simplemodel:unitdisk– Fixedradio“range”– Nodewithinrange⬄ packetreceived
• Enhancedmodels:– Foreachpacket,consider
• Signalstrength• Interference(otherradios)• Noise(e.g.,thermalnoise)
– Calculate“signaltonoiseandinterferenceratio”(SNIR)
– Derivepacketerrorrate(PER)
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 7
100%
0%
12.3%
![Page 8: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/8.jpg)
ModelingRadioPropagation
• Signalattenuation– Receivedpowerdependsontransmittedpower,antennagains,andpathloss
• Freespacepathloss
• Empiricalfreespacepathloss
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 8
![Page 9: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/9.jpg)
ModelingRadioPropagation
• TwoRayInterferencepathloss
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 9
![Page 10: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/10.jpg)
ModelingRadioPropagation
• Comparison:TwoRayInterferencevs.FreeSpace
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 10
![Page 11: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/11.jpg)
ModelingMobility
• Traditionalapproachinnetworksimulation:RandomWaypoint(RWP)– „pickdestination,movethere,repeat“
• Firstadaptationtovehicularmovement– Addmass,inertia– Addrestrictionto“roads”– Addangularrestrictions
• Problem– Veryunrealistic(longitudinal)mobilitypattern
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 11
[1] J. Yoon, M. Liu, and B. Noble, "Random waypoint considered harmful," Proceedings of 22nd IEEE Conference on Computer Communications (IEEE INFOCOM 2003), vol. 2, San Francisco, CA, March 2003, pp. 1312-1321
![Page 12: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/12.jpg)
ModelingMobility
• Firstapproach:Replayrecordedtracedata– UseGPS– InstallinTaxi,Bus,…– Highestdegreeofrealism
• Problems:– Invariantscenario– Noextrapolation
• Toothervehicles(cars,trucks,…)
• Tomorevehicles• Tofewervehicles
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 12
[1] V. Naumov, R. Baumann, and T. Gross, "An evaluation of inter-vehicle ad hoc networks based on realistic vehicular traces," Proceedings of 7th ACM International Symposium on Mobile Ad Hoc Networking and Computing (ACM Mobihoc 2006), Florence, Italy, March 2006, pp. 108-119
[2] M. Fiore, J. Härri, F. Filali, and C. Bonnet, "Vehicular Mobility Simulation for VANETs," Proceedings of 40th Annual Simulation Symposium (ANSS 2007), March 2007, pp. 301-309
[3] H-Y. Huang, P-E. Luo, M. Li, D. Li, X. Li, W. Shu, and M-Y. Wu, "Performance Evaluation of SUVnet With Real-Time Traffic Data," IEEE Transactions on Vehicular Technology, vol. 56 (6), pp. 3381-3396, November 2007
NetworkSimulation
B.Real-worldtraces
![Page 13: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/13.jpg)
ModelingMobility
• Replayartificialtracedata– Microsimulationofroadtraffic– Pre-computationorlivesimulation– Problem:howtoinvestigatetrafficinformationsystems(TIS)?
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 13
[1] C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network Protocols in VANET Scenarios," Proceedings of 26th IEEE Conference on Computer Communications (INFOCOM 2007): IEEE Workshop on Mobile Networking for Vehicular Environments (MOVE 2007), Poster Session, Anchorage, AK, May 2007, pp. 139-143
[2] B. Raney, A. Voellmy, N. Cetin, M. Vrtic, and K. Nagel, "Towards a Microscopic Traffic Simulation of All of Switzerland," Proceedings of International Conference on Computational Science (ICCS 2002), Amsterdam, The Netherlands, April 2002, pp. 371-380
[3] M. Treiber, A. Hennecke, and D. Helbing, "Congested Traffic States in Empirical Observations and Microscopic Simulations," Physical Review E, vol. 62, pp. 1805, 2000
NetworkSimulation RoadTrafficSimulation
C.Micro-simulation
![Page 14: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/14.jpg)
ModelingMobility
• Bidirectionalcoupling– Networktrafficcaninfluenceroadtraffic
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 14
[1] C. Sommer, Z. Yao, R. German, and F. Dressler, "On the Need for Bidirectional Coupling of Road Traffic Microsimulation and Network Simulation," Proceedings of 9th ACM International Symposium on Mobile Ad Hoc Networking and Computing (Mobihoc 2008): 1st ACM International Workshop on Mobility Models for Networking Research (MobilityModels 2008), Hong Kong, China, May 2008, pp. 41-48
[2] C. Sommer, R. German, and F. Dressler, "Bidirectionally Coupled Network and Road Traffic Simulation for Improved IVC Analysis," IEEE Transactions on Mobile Computing, 2010. (to appear)
NetworkSimulation RoadTrafficSimulation
D.Bidirect.coupling
![Page 15: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/15.jpg)
ModelingRoadTraffic
• Roadtrafficmicrosimulation– Ex.:SUMO– SimulationofUrbanMobility– Timediscretemicrosimulation
– Carfollowingmodels(Krauss,IDM)– Lanechangemodels– Roadtopology
• Speedlimits• Trafficlights• Accessrestrictions• Turnrestrictions• ...
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 15
[1] D. Krajzewicz, G. Hertkorn, C. Rössel, and P. Wagner, "SUMO (Simulation of Urban MObility); An open-source traffic simulation," Proceedings of 4th Middle East Symposium on Simulation and Modelling (MESM2002), Sharjah, United Arab Emirates, September 2002, pp. 183-187
![Page 16: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/16.jpg)
Veins
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 16
http://veins.car2x.org
[1] C. Sommer, R. German, and F. Dressler, “Bidirectionally Coupled Network and Road Traffic Simulation for Improved IVC Analysis,” IEEE Transactions on Mobile Computing, vol. 10, no. 1.
[2] C. Sommer, Z. Yao, R. German, and F. Dressler, “Simulating the Influence of IVC on Road Traffic using Bidirectionally Coupled Simulators,” in 27th IEEE Conference on Computer Communications (INFOCOM 2008), Phoenix, AZ: IEEE, April 2008.
![Page 17: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/17.jpg)
Veins
• OMNeT++– Discrete-EventSimulation(DES)kernel
• Simulatemodel’sreactiontoqueueofevents– Mainusecase:networksimulation
• e.g.,MANETs,Sensornodes
• (Forkof)MiXiM– ModellibraryforOMNeT++forPHYlayerandmobilitysupport– Eventscheduling– Signalpropagation– SINR/biterrorcalculation– Radioswitching– …
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 17
[1] A. Varga, "The OMNeT++ Discrete Event Simulation System," Proceedings of European Simulation Multiconference (ESM 2001), Prague, Czech Republic, June 2001
![Page 18: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/18.jpg)
Veins
• CouplingOMNeT++andSUMO– Synchronizetimesteps– Exchangecommandsandstatusinformation
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 18
![Page 19: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/19.jpg)
Veins
• TraCI:MessageSequenceChart
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 19
![Page 20: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/20.jpg)
SimulationScenarios
• Freelyavailableroadtopologyinformation– GeodatabaseofOpenStreetMapproject
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 20
![Page 21: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/21.jpg)
DISCRETEEVENTSIMULATIONAlittlebitofbackground
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 21
![Page 22: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/22.jpg)
Whatisadiscretesimulation?
• Simulation:reproducingthebehaviorofareal-worldsystem– mathematical
• a(t)=a0• v(t)=a0*t+v0• x(t)=a0/2*t2 +v0*t+x0
– numerical• a[k]=a0• v[k]=v[k-1]+a0*dT,withv[0]=v0• x[k]=x[k-1]+(v[k]+v[k-1])/2*dT,withx[0]=x0
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 22
![Page 23: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/23.jpg)
Whatisadiscretesimulation?
• Discretesimulation:simulation“exists”onlyinspecifictimemoments– timedriven:sampledwithacertainfrequency(e.g.,10Hz)
– eventdriven:evolutionbythegenerationandtheconsumptionofevents
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 23
![Page 24: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/24.jpg)
DiscreteEventSimulation:Anexample
• Veryeasyexample:twonodescommunication
Node1
Node2
on init:scheduleEvent(sendMsg, now + exp(1))messageCount = 0
on event(event):if (event == sendMsg) {send(packet)scheduleEvent(sendMsg, now + exp(1))
} else {if (random() > 0.5)messageCount++
}
on finish:saveToFile(messageCount)
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 24
![Page 25: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/25.jpg)
DES– Agenericview
init simulation
time>maxtime?
picknextevent
processevent
no
finalizesimulation
yes
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 25
![Page 26: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/26.jpg)
DESphilosophy
• Becareful:philosophychangeneeded– EVERYTHINGisanevent
• scheduleevents• handleevents
– eventsareatomic• noduration
onStartRx:beginRx = nowwait(endOfTransmission)rxDuration = now - beginRx
onStartRx:beginRx = now
onEndRx:rxDuration = now - beginRx
WRONG! CORRECT!
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 26
![Page 27: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/27.jpg)
DESphilosophy
• Consideragainanetworksimulation– managingcollisions:whentwopacketsoverlap,theybothcan’tbereceived
Packet1 Packet2 Packet3 Packet4
onInit:state = IDLErecvPackets = {}
onEndRx(packet):if (not packet.isLost())sendUp(packet)
recvPackets.del(packet)if (|recvPackets| == 0)state = IDLE
onStartRx(packet):recvPackets.add(packet)if (state == IDLE)state = RX
elsefor p in recvPacketsp.setLost()
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 27
![Page 28: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/28.jpg)
OMNET++Thecorenetworksimulator
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 28
![Page 29: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/29.jpg)
WhatisOMNeT++?
• DiscreteEventSimulator– mainlyusedfornetworksimulations– freeforacademicusage– multi-platformandopensource– providesIDEforprogramming(ifneeded)– providesGUIforsimulations(ifneeded)
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 29
![Page 30: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/30.jpg)
ProgrammingOMNeT++
• ProgrammingOMNeT++meanscreatingmodules:– NED:textualfilesdefiningparametersandgatesofthemodule– C++:sourcefiledefiningthebehaviorofthemodule– example:Protocol.ned,Protocol.h,Protocol.cc– inaddition:.msg (messagefiles)
• Modulesinterconnectthroughgates• YoucandefinecompoundmodulesthatdonotrequireaC++
implementation• YoucanimplementC++classeswithnoNED• NEDfilessupportinheritance
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 30
![Page 31: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/31.jpg)
UsingtheOMNeT++IDE
• Goodforcoding,butNEVERbuildsourcecodefromthereorrunthem,exceptfordebugging
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 31
![Page 32: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/32.jpg)
Moduleexample
NetworkProtocol
Networkcard
Computer
Channel
NetworkProtocol
Networkcard
Computer
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 32
![Page 33: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/33.jpg)
NEDsyntaxexample
package org.car2x.veins.modules.application.platooning;
import org.car2x.veins.modules.application.ieee80211p.BaseWaveApplLayer;
simple UnicastProtocol extends BaseWaveApplLayer{
parameters://maximum queue size. set to 0 for infinite queueint queueSize = default(0);//maximum number of attemptsint maxAttempts = default(16);//ack timeoutdouble ackTimeout @unit(s) = default(1ms);//packet loss rate (between 0 and 1)double packetLossRate = default(0);
@class(UnicastProtocol);@display("i=msg/mail");
gates:input upperControlIn;output upperControlOut;input upperLayerIn;output upperLayerOut;
}
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 33
![Page 34: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/34.jpg)
Compoundmoduleexample
import org.car2x.veins.base.modules.IBaseApplLayer;[…]import org.car2x.veins.modules.nic.Nic80211p;
module Car {parameters:
string scenario_type;string helper_type;string appl_type;string protocol_type;
gates:input radioIn; // gate for sendDirect
submodules:[…]appl: <appl_type> like BaseApp {}prot: <protocol_type> like BaseProtocol {}unicast: UnicastProtocol {}nic: Nic80211p {}mobility: TraCIMobility {}
connections allowunconnected:unicast.upperControlIn <-- prot.lowerControlOut;unicast.upperControlOut --> prot.lowerControlIn;unicast.upperLayerIn <-- prot.lowerLayerOut;unicast.upperLayerOut --> prot.lowerLayerIn;nic.upperLayerIn <-- unicast.lowerLayerOut;nic.upperLayerOut --> unicast.lowerLayerIn;
radioIn --> nic.radioIn;}
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 34
![Page 35: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/35.jpg)
OMNeT++messages
• Definedin.msg files
message MyMessage {int sourceId;string information;
}
• AutomaticallytransformedintoC++code
class MyMessage : public ::cPacket {protected:int sourceId_var;opp_string information_var;
public:virtual int getSourceId() const;virtual void setSourceId(int sourceId);
[…]
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 35
![Page 36: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/36.jpg)
Recordingdata
• InOMNeT++youcanrecorddataforstatistics– vector:timesequenceofvaluesrecordedmultipletimes
• cOutVector speed;• speed.setName(“speed”);• speed.record(<value>);
– scalars:singlevalueusuallyrecordedinthefinish()method• recordScalar(“avgSpeed”,<value>);
• Toextractdatafromvectorspleaseseethescriptsat– https://github.com/michele-segata/plexe-data-extraction
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 36
![Page 37: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/37.jpg)
C/C++moduleimplementation
• Definesthefollowingmethods:– initialize(int stage)– finish()– handleMessage(cMessage *msg)
• Usesthefollowingmethods:– simTime()– scheduleAt(SimTime t,cMessage *msg)– send(cMessage *msg,int gateId)– cancelEvent(cMessage *msg)– par(const char*parName)
• Manymorethings…– refertoOMNeT++documentation
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 37
![Page 38: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/38.jpg)
Runtimeparameters:omnetpp.ini
*.node[*].nic.mac1609_4.txPower = 100mW*.node[*].nic.mac1609_4.bitrate = 6Mbps
*.node[*].nic.phy80211p.useThermalNoise = true*.node[*].nic.phy80211p.thermalNoise = -95dBm
[Config ConfigName]extends = OtherConfig
repeat = 10
*.node[*].module.param1 = ${p1 = 1,2}*.node[*].module.param2 = ${p2 = 3,4}*.node[*].module.param3 = ${p3 = 7,8 ! p1}
output-vector-file = ${resultdir}/${configname}_${p1}_${p2}_${repetition}.vecoutput-scalar-file = ${resultdir}/${configname}_${p1}_${p2}_${repetition}.sca
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 38
![Page 39: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/39.jpg)
Exampletutorial
• Downloadsourcecodefromcoursewebsite• Buildingtheexample
• Runningtheexamples(livedemo)
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 39
unzip tictoc.zipcd tictocmake –j <number of cores> MODE=<release,debug>
cd simulations./run [-u Cmdenv] -c TxcSimulation -r 0./run [-u Cmdenv] -c Txc2Simulation -r 0
![Page 40: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/40.jpg)
GettingthecodeintheIDE
• OpentheOMNeT++IDE(typeomnetpp inyourterminal)• ClickonFile->Import…->General->Existingprojectsinto
workspace• Choosethefolderwheretheprojectislocated• ClickOpen!
• ./run –a– Listsalltheconfigurationswiththenumberofruns
• ./run –x <CONFIGNAME> -g– Listsalltherunsforaparticularconfig– Foreachrun,itshowstheparametersforthatspecificrun
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 40
![Page 41: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/41.jpg)
Exampletutorial
• Contentofthetutorial:– Simpletic-tocmessageexchangebetweentwonodes
• Version1:– Uponreceptionofamessage,aresponseisimmediatelysentback
• Version2:– Uponreceptionofamessage,anodewaitsforsometimebeforereplying
• Featuresexplored:– C/C++andNEDmodules,withparametersandgates– TicToc.ned network– Schedulingeventsandsendingmessagesthroughgates– omnetpp.ini configurationfilewithfeatures
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 41
![Page 42: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/42.jpg)
VEINSANDSUMO
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 42
![Page 43: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/43.jpg)
Gettingitalltogether
• OMNeT++:– aDiscreteEventSimulatormainlyusedfornetworksimulations
• SUMO:– atime-drivendiscretesimulatorofvehicularmobility
• Veins:– avehicularnetworkingsimulationframework– couplesOMNeT++andSUMO
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 43
![Page 44: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/44.jpg)
Veinsnodetovehiclemapping
1. AvehicleiscreatedinSUMO– viaSUMOconfiguration– viaVeinsmanualinjection
2. Veinsisnotified3. VeinscreatesanOMNeT++module
– moduletypeandnamedefinedinsideomnetpp.ini orned files• *.manager.moduleType ="Car”• *.manager.moduleName ="node”
– possibilitytomapSUMOvehicletypetospecificmodule• *.manager.moduleType =”vtypeauto=Carvtypeother=OtherCar”• *.manager.moduleName =”vtypeauto=nodevtypeother=other”
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 44
![Page 45: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/45.jpg)
GettingVeins
• DownloadVeinssourcecodeandcompileit(afterOMNeT++)
• InstallSUMO(version0.30.0)
• CheckthatSUMOisworkingbytyping:
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 45
git clone https://github.com/sommer/veins.gitcd veins./configuremake –j <number of cores> MODE=<release,debug>
sudo add-apt-repository ppa:sumo/stablesudo apt-get updateapt-get -s install sumo #check that this would install 0.30.0sudo apt-get install sumo
sumo-gui
![Page 46: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/46.jpg)
TheVeinsExample
• Inoneterminalstartthelaunchdaemon(we’llseehowtoavoidthis)
• Inasecondterminallaunchtheexamplesimulation
• Theexamplesimulatesvehicleswhich– Whenstoppingformorethan10s,senda“Trafficcongestion”message– Uponreceivingsuchmessageavehicle
• Re-sendsittoothervehicles• Choosesanotherroutetoitsdestination
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 46
cd veins./sumo-launchd.py –c sumo-gui
cd veins/examples/veins./run -u Cmdenv -c WithoutChannelSwitching -r 0
![Page 47: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/47.jpg)
CoreComponents/Files
• examples/veins folder:– Configurationfiles:omnetpp.ini (nextslide),SUMOconfig,etc.
• src/veins/modules/mobility/traci/TraciScenarioManagerLaunchd.ned
– DefaultvaluesformoduleType andmoduleName• string moduleType = default("org.car2x.veins.nodes.Car");• string moduleName = default("node");
• src/veins/nodes/Car.ned
– Definitionofa“car”nodeinOMNeT++• Compoundmodule:application,NICcard,mobilitymodule
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 47
![Page 48: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/48.jpg)
omnetpp.ini
[General][…]network = RSUExampleScenario[…]*.manager.updateInterval = 1s*.manager.host = "localhost"*.manager.port = 9999*.manager.launchConfig = xmldoc("erlangen.launchd.xml")[…]*.rsu[0].mobility.x = 2000*.rsu[0].mobility.y = 2000*.rsu[0].mobility.z = 3*.rsu[*].applType = "TraCIDemoRSU11p”[…]
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 48
Definitionofthesimulationnetwork,whichstaticallycreatesan802.11pbasestation.
Nodespositionupdateinterval,andlaunchdaemonparameters.The“forker”isamorehandywayoflaunchingthesimulations.Changesrc/veins/nodes/Scenario.ned:• import
org.car2x.veins.modules.mobility.traci.TraCIScenarioManagerForker;
• manager: TraCIScenarioManagerForker {
Changeomnetpp.ini configuration:• *.manager.configFile = "erlangen.sumo.cfg"• *.manager.commandLine = "sumo-gui --remote-port $port --seed
$seed --configuration-file $configFile"
SetsthepositionoftheRSUandwhichapplicationitruns.YouhavetosearchfortheTraCIDemoRSU11p.{ned,h,cc} files
![Page 49: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/49.jpg)
omnetpp.ini
[…]*.**.nic.mac1609_4.txPower = 20mW*.**.nic.mac1609_4.bitrate = 6Mbps*.**.nic.phy80211p.sensitivity = -89dBm*.**.nic.phy80211p.useThermalNoise = true*.**.nic.phy80211p.thermalNoise = -110dBm[…]*.node[*].applType = "TraCIDemo11p”[…][Config WithoutChannelSwitching]
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 49
SetsMAC/PHYlayerparametersforALLnodes,bothRSUandcars.Trickyquestion:Why?
Setstheapplicationrunbycarnodes.YouhavetosearchfortheTraCIDemo11p.{ned,h,cc} files
CreateaconfigurationnamedWithoutChannelSwitching.Ifnoextends isspecified,theconfigurationinheritsfromGeneral
![Page 50: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/50.jpg)
TraCIDemo11pSourceCode
#include "veins/modules/application/traci/TraCIDemo11p.h"
Define_Module(TraCIDemo11p);
void TraCIDemo11p::initialize(int stage) {BaseWaveApplLayer::initialize(stage);if (stage == 0) {
sentMessage = false;lastDroveAt = simTime();currentSubscribedServiceId = -1;
}}
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 50
![Page 51: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/51.jpg)
TraCIDemo11pSourceCode
void TraCIDemo11p::handlePositionUpdate(cObject* obj) {BaseWaveApplLayer::handlePositionUpdate(obj);
// stopped for for at least 10s?if (mobility->getSpeed() < 1) {
if (simTime() - lastDroveAt >= 10 && sentMessage == false) {sentMessage = true;
WaveShortMessage* wsm = new WaveShortMessage();populateWSM(wsm);wsm->setWsmData(mobility->getRoadId().c_str());
//host is standing still due to crashif (dataOnSch) {
startService(Channels::SCH2, 42, "Traffic Information Service");//started service and server advertising, schedule message to self to send laterscheduleAt(computeAsynchronousSendingTime(1,type_SCH),wsm);
}else {
//send right away on CCH, because channel switching is disabledsendDown(wsm);
}}
}else {
lastDroveAt = simTime();}
}
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 51
![Page 52: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/52.jpg)
TraCIDemo11pSourceCode
void TraCIDemo11p::onWSA(WaveServiceAdvertisment* wsa) {if (currentSubscribedServiceId == -1) {
mac->changeServiceChannel(wsa->getTargetChannel());currentSubscribedServiceId = wsa->getPsid();if (currentOfferedServiceId != wsa->getPsid()) {
stopService();startService((Channels::ChannelNumber) wsa->getTargetChannel(), wsa->getPsid(), "Mirrored Traffic
Service");}
}}void TraCIDemo11p::onWSM(WaveShortMessage* wsm) {
findHost()->getDisplayString().updateWith("r=16,green");
if (mobility->getRoadId()[0] != ':') traciVehicle->changeRoute(wsm->getWsmData(), 9999);if (!sentMessage) {
sentMessage = true;//repeat the received traffic update once in 2 seconds plus some random delaywsm->setSenderAddress(myId);wsm->setSerial(3);scheduleAt(simTime() + 2 + uniform(0.01,0.2), wsm->dup());
}}
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 52
![Page 53: Simulation of Vehicular Networksdisi.unitn.it/locigno/teaching-duties/wmvn/aa17-18/06_VANET_Simulation.pdf[1]C. Sommer, I. Dietrich, and F. Dressler, "Realistic Simulation of Network](https://reader030.vdocuments.net/reader030/viewer/2022040910/5e8354eeff568a2c9b4ae697/html5/thumbnails/53.jpg)
TraCIDemo11pSourceCode
void TraCIDemo11p::handleSelfMsg(cMessage* msg) {if (WaveShortMessage* wsm = dynamic_cast<WaveShortMessage*>(msg)) {
//send this message on the service channel until the counter is 3 or higher.//this code only runs when channel switching is enabledsendDown(wsm->dup());wsm->setSerial(wsm->getSerial() +1);if (wsm->getSerial() >= 3) { //stop service advertisements
stopService();delete(wsm);
}else {
scheduleAt(simTime()+1, wsm);}
}else {
BaseWaveApplLayer::handleSelfMsg(msg);}
}
Wireless Mesh & Vehicular Networks - Simulation of Vehicular Networks 53