转载自 机会网络仿真软件ONE:配置文件settings解读

网址为 http://blog.csdn.net/wb7931021/article/details/41077047

本文对ONE仿真软件的Default settings.xml文件进行解读,以便接下来对实验仿真进行一些基础的配置。


# Default settings for the simulation
#
#
## Scenario settings  场景设置
Scenario.name = default_scenario
Scenario.simulateConnections = true
# 设置场景更新间隔为0.1s
Scenario.updateInterval = 0.1
# 43200s == 12h 设置仿真时间为43200s
Scenario.endTime = 43200


## Interface-specific settings:
# type : which interface class the interface belongs to
# For different types, the sub-parameters are interface-specific
# For SimpleBroadcastInterface, the parameters are:
# transmitSpeed : transmit speed of the interface (bytes per second) 
# transmitRange : range of the interface (meters)

# "Bluetooth" interface for all nodes 设置接口类型
btInterface.type = SimpleBroadcastInterface
# Transmit speed of 2 Mbps = 250kBps 设置接口传输速率为250KB/s
btInterface.transmitSpeed = 250k
# 设置接口传输范围为10m
btInterface.transmitRange = 10

# High speed, long range, interface for group 4
# 对于第四组节点设置高速,大范围的通信接口
highspeedInterface.type = SimpleBroadcastInterface
highspeedInterface.transmitSpeed = 10M
highspeedInterface.transmitRange = 1000

# Define 6 different node groups 设置场景中包含6组节点
Scenario.nrofHostGroups = 6

## Group-specific settings:
# groupID : Group's identifier. Used as the prefix of host names
# nrofHosts: number of hosts in the group
# movementModel: movement model of the hosts (valid class name from movement package)
# waitTime: minimum and maximum wait times (seconds) after reaching destination
# speed: minimum and maximum speeds (m/s) when moving on a path
# bufferSize: size of the message buffer (bytes)
# router: router used to route messages (valid class name from routing package)
# activeTimes: Time intervals when the nodes in the group are active (start1, end1, start2, end2, ...)
# msgTtl : TTL (minutes) of the messages created by this host group, default=infinite

## Group and movement model specific settings
# pois: Points Of Interest indexes and probabilities (poiIndex1, poiProb1, poiIndex2, poiProb2, ... )
#       for ShortestPathMapBasedMovement
# okMaps : which map nodes are OK for the group (map file indexes), default=all 
#          for all MapBasedMovent models
# routeFile: route's file path - for MapRouteMovement
# routeType: route's type - for MapRouteMovement


# Common settings for all groups
# 对所有组的共同设置
# 设置所有组的移动模型为基于地图的最短路径移动模型
Group.movementModel = ShortestPathMapBasedMovement
# 设置所有组采用的Epidemic路由模式
Group.router = EpidemicRouter
# 设置所有组的缓存大小
Group.bufferSize = 5M

Group.waitTime = 0, 120
# All nodes have the bluetooth interface
# 设置所有组一共有几个接口 1为仅有一个接口,btInterface为蓝牙接口
Group.nrofInterfaces = 1
Group.interface1 = btInterface
# Walking speeds
# 设置所有组的移动速度为0.5~1.5m/s
Group.speed = 0.5, 1.5
# Message TTL of 300 minutes (5 hours)
# 设置所有组发送出的数据分组的生存周期为300分钟
Group.msgTtl = 300

# 设置每组有40个节点
Group.nrofHosts = 40

# group1 (pedestrians) specific settings
# 对不同分组进行不同设置,设置第一组为行人p
# 设置第一组的ID编号为p
Group1.groupID = p

# group2 specific settings
# 对不同分组进行不同设置,设置第二组
# 设置第二组的ID编号为c,即car
Group2.groupID = c
# cars can drive only on roads
# 设置第二组只能在道路上行动
Group2.okMaps = 1
# 10-50 km/h
# 设置第二组的移动速度为2.7~13.9m/s
Group2.speed = 2.7, 13.9

# another group of pedestrians
# 第三组定义为行人,ID为w
Group3.groupID = w

# The Tram groups
# 设置第四组为电车组ID为t
Group4.groupID = t
# 设置第四组的缓存空间大小为50M
Group4.bufferSize = 50M
# 设置第四组的移动模型为模拟了基于地图的,且预先确定的路径的移动方式
Group4.movementModel = MapRouteMovement
# 设置第四组的路由文件存放在目录data/tram3.wkt下
Group4.routeFile = data/tram3.wkt
# 设置第四组的路由类型为1
Group4.routeType = 1
# 设置第四组的等待时间为10~30s
Group4.waitTime = 10, 30
# 设置第四组的运行速度为7~10m/s
Group4.speed = 7, 10
# 设置第四组有两个节点
Group4.nrofHosts = 2
# 设置第四组有两个接口,一个为蓝牙接口,一个为高速接口
Group4.nrofInterfaces = 2
Group4.interface1 = btInterface
Group4.interface2 = highspeedInterface

# 设置第五组的ID也为t,也为电车
Group5.groupID = t
Group5.bufferSize = 50M
Group5.movementModel = MapRouteMovement
Group5.routeFile = data/tram4.wkt
Group5.routeType = 2
Group5.waitTime = 10, 30
Group5.speed = 7, 10
Group5.nrofHosts = 2

# 设置第六组的ID也为t,也为电车
Group6.groupID = t
Group6.bufferSize = 50M
Group6.movementModel = MapRouteMovement
Group6.routeFile = data/tram10.wkt
Group6.routeType = 2
Group6.waitTime = 10, 30
Group6.speed = 7, 10
Group6.nrofHosts = 2


## Message creation parameters 
# How many event generators
# 每个节点的时间数量为1
Events.nrof = 1
# Class of the first event generator
# Events1的事件的类型为消息事件生成器
Events1.class = MessageEventGenerator
# (following settings are specific for the MessageEventGenerator class)
# Creation interval in seconds (one new message every 25 to 35 seconds)
# Events1时间发生的间隔,每25~35s发生一次
Events1.interval = 25,35
# Message sizes (500kB - 1MB)
# 该事件生成数据分组的大小是500kb~1MB,在此范围内随机产生
Events1.size = 500k,1M
# range of message source/destination addresses
# 事件1对应的节点代码,第一个节点的编号是从0开始的,一直到第126个节点,都遵守此事件
Events1.hosts = 0,126
# Message ID prefix
# Events1产生的数据分组前缀为M
Events1.prefix = M


## Movement model settings
# seed for movement models' pseudo random number generator (default = 0)
# 使用随机方式的移动模型是通过伪随机函数生成的,其种子值为1
MovementModel.rngSeed = 1
# World's size for Movement Models without implicit size (width, height; meters)
# 设置移动模型的边界,宽4500m,高3400m
MovementModel.worldSize = 4500, 3400
# How long time to move hosts in the world before real simulation
# 仿真热身时间设置,仿真开始时,容易产生失真,放弃前1000s数据
MovementModel.warmup = 1000

## Map based movement -movement model specific settings
## MapBasedMovement移动模型2级参数设置,涉及4个地图文件
MapBasedMovement.nrofMapFiles = 4

# 地图文件都存放在data文件夹下
MapBasedMovement.mapFile1 = data/roads.wkt
MapBasedMovement.mapFile2 = data/main_roads.wkt
MapBasedMovement.mapFile3 = data/pedestrian_paths.wkt
MapBasedMovement.mapFile4 = data/shops.wkt

## Reports - all report names have to be valid report classes

# how many reports to load
# 生成报告的数量----这里设置我们想要得到的报告的数量
Report.nrofReports = 1
# length of the warm up period (simulated seconds)
# 报告的热身时间为0s
Report.warmup = 0
# default directory of reports (can be overridden per Report with output setting)
# 指定报告输出的位置
Report.reportDir = reports/
# Report classes to load
# 指定报告的类型----这里可以添加我们想要的报告的类型
Report.report1 = MessageStatsReport

## Default settings for some routers settings