为方便读者,本教材中连续四行及以上程序源码(脚本),本网站将直接提供,直接输入使用。
netconvert --osm-files lab4.osm -o lab4.net.xml
polyconvert --osm-files lab4.osm --net-file lab4.net.xml --type-file $SUMO_HOME/data/typemap/osmPolyconvert.typ.xml -o lab4.poly.xml
python3 $SUMO_HOME/tools/randomTrips.py -n lab4.net.xml -r lab4.rou.xml -e 100 -l
sumo -c lab4.sumo.cfg --fcd-output lab4.sumo.xml
python3 $SUMO_HOME/tools/traceExporter.py --fcd-input lab4.sumo.xml --ns2config-output lab4.tcl --ns2activity-output lab4_activity.tcl --ns2mobility-output lab3_mobility.tcl
BEGIN {
}
{
if ((NF > 6) && ($6 <= 0)) next;
else print $0;
}
END {
}
BEGIN {
recvdSize = 0;
startTime = 400;
stopTime = 0;
}
{
event = $1;
time = $2;
pkt_size = $8;
level = $4;
if (level == "AGT" && event == "s" && pkt_size >= 89) {
if (time < startTime) {
startTime = time;
}
}
if (level == "AGT" && event == "r" && pkt_size >= 89) {
if (time > stopTime) {
stopTime = time;
}
recvdSize += pkt_size;
}
}
END {
printf("Average Throughput [kbps] = %.2f\tstartTime=%.2f\tstopTime=%.2f\n",
(recvdSize/(stopTime-startTime))*(8/1000),startTime,stopTime);
}
BEGIN {
recvd=0;
rt_pkts=0;
}
{
if (( $1 == "r") && ( $7 == "cbr" || $7 =="tcp" ) && ( $4=="AGT" )) recvd++;
if (($1 == "s" || $1 == "f") && $4 == "RTR" &&
($7 =="AODV" || $7 =="message" || $7 =="DSR")) rt_pkts++;
}
END {
printf("Normalized Routing Load: %.5f\n", rt_pkts/recvd);
}