omn​​et如何初始化模块和模型?

时间:2018-06-20 08:23:03

标签: module sequence omnet++ event-simulation

我阅读了手册,并在手册中使用了伪代码描述了伪代码,该伪代码首先进行了仿真步骤,当仿真开始是从系统模块到子模块的“网络初始化”时。在仿真示例中,我有“ simulation.ned”,它用于定义一些仿真变量和package.ned,其中我定义了网络。

问题是:

  • 仿真开始时,omnet如何初始化模块(maybee会搜索所有* .ned文件以创建完整的网络)?

  • 创建模块时,他等待所有子模块生成还是立即应用配置(initialize()方法)还是等待所有模块创建然后继续配置?

谢谢

1 个答案:

答案 0 :(得分:0)

在模拟准备期间(在处理第一个事件之前),执行以下步骤:

  1. 模拟环境调查from ffmpy import FFmpeg ff = FFmpeg(inputs={'input.wmv': None}, outputs={'output.mp4': None}) ff.cmd 'ffmpeg -i input.ts output.mp4' ff.run() 并检查omnetpp.ini的名称,例如:

    network
  2. 模拟环境将扫描[General] network = ARPTest 个文件并查找包含以下内容的文件:

    NED
  3. 模拟环境为该网络中提到的所有子模块调用network ARPTest { // ... } 。有the important rule

  

复合模块的initialize()函数先于其子模块运行


还应记住,在initialize()中有使用multi stage initialization的机会。如果一个子模块在没有其他子模块的某些信息的情况下无法初始化,则非常有用,例如:路由子模块需要主机接口的地址进行初始化。