omnet如何初始化模块和模型?
How omnet initialize modules and model?
我阅读了手册,在手册中使用伪代码描述了第一个模拟步骤,当模拟开始是从系统模块到子模块时 "network initialization"。在我的模拟示例中,有 "simulation.ned" 用于定义一些模拟变量,package.ned 用于定义网络。
问题是:
仿真开始时omnet如何初始化模块(可能会寻找所有*.ned文件来创建完整的网络)?
创建模块时,他是等待生成所有子模块还是立即应用配置( initialize() 方法)或等待创建所有模块然后继续配置?
感谢
在模拟准备期间(在处理第一个事件之前)执行以下步骤:
模拟环境查看omnetpp.ini
并检查network
的名称,例如:
[General]
network = ARPTest
模拟环境扫描NED
个文件并查找包含:
的文件
network ARPTest {
// ...
}
模拟环境调用initialize()
用于此网络中提到的所有子模块。有the important rule:
A compound module's initialize()
function runs before that of its submodules.
还值得记住的是,在 OMNeT++
中有机会使用 multi stage initialization。当一个子模块没有来自另一个子模块的一些信息而无法初始化时,它很有用,例如:路由子模块需要主机接口的地址来初始化。
我阅读了手册,在手册中使用伪代码描述了第一个模拟步骤,当模拟开始是从系统模块到子模块时 "network initialization"。在我的模拟示例中,有 "simulation.ned" 用于定义一些模拟变量,package.ned 用于定义网络。
问题是:
仿真开始时omnet如何初始化模块(可能会寻找所有*.ned文件来创建完整的网络)?
创建模块时,他是等待生成所有子模块还是立即应用配置( initialize() 方法)或等待创建所有模块然后继续配置?
感谢
在模拟准备期间(在处理第一个事件之前)执行以下步骤:
模拟环境查看
omnetpp.ini
并检查network
的名称,例如:[General] network = ARPTest
模拟环境扫描
的文件NED
个文件并查找包含:network ARPTest { // ... }
模拟环境调用
initialize()
用于此网络中提到的所有子模块。有the important rule:
A compound module's
initialize()
function runs before that of its submodules.
还值得记住的是,在
OMNeT++
中有机会使用 multi stage initialization。当一个子模块没有来自另一个子模块的一些信息而无法初始化时,它很有用,例如:路由子模块需要主机接口的地址来初始化。