ONE相关知识整理之二——仿真前的初始化.docx
《ONE相关知识整理之二——仿真前的初始化.docx》由会员分享,可在线阅读,更多相关《ONE相关知识整理之二——仿真前的初始化.docx(3页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、ONE相关知识整理之二一一仿真前的初始化仿真实验前的初始化是整个仿真过程中十分关键的一步,它将创立仿真中使 用到的节点以及其上的所有“附加物,如运动模型、路由等,本文将简要介绍ONE 仿真过程中的整个初始化过程。1、宏观视角一一方法的调用顺序1.1、 读入配置Core包下的DTNSim是整个ONE仿真的主类,它定义了 Main方法作为整个 程序的开始点,在仿真开始前,DTNSim首先从命令行输入的args中取得仿真配 置文件的名称,并将配置文件载入到Setting对象中,以便后续创立节点、运动 模型、路由等过程时读取,这里需要注意的是,无论是否在命令行中有给出配置 文件的参数,只要默认配置(d
2、efault.)存在,它就一定会被读取并写入Setting 对象,而命令行中给出的配置文件仅仅是“覆盖了默认配置,所以,当仿真实验 出现了一些与配置文件相异的情况时,首先要想到是否是因为default_settings中 局部参数的影响,所以建议直接删掉这个文件,以免影响最终实验结果。1.2、 启动UIpublic static void init(String propFile) throws SettingsError String outFile;try (/先读入 de fault settingif (new File (DEF_SETTINGS_FILE) .exists () )
3、 /内部机制是直接通过Properties来读的Properties defProperties = new Properties();(new Fileinput Stream (DEF_SETTTNGS_FTLE);props = new Properties(defProperties);在读取完数据后,ONE会根据用户在命令行给出的指令,选择命令行UI或 图形化UI界面对象进行创立,并调用其中的start。方法,该方法在命令行UI和 图形化UI的基类DTNSimUI中实现,分别调用了两个方法,initModel()和runSim(), 其中initModel。由该基类进行实现,完成仿真
4、的初始化过程,runSim。在基类中 被声明为abstract,根据UI的不同,采用不同的实现。1.3、 模型初始化initModel行的初始化过程主要分成三步,首先是创立了新的Settings对象用 以读取刚才由DTNSim读入的配置项,随后,调用SimScenario的getlnstance方 法获取到当前仿真场景对象,getlnstance方法是Singleton思想的表达,在进行 调用时,它会检查当前是否已有仿真场景存在,假设有,返回该场景,假设无,那么创 建一个新场景。这一过程保证了单次仿真过程中不会有多个SimScenario出现。public static SimScenario
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ONE 相关 知识 整理 仿真 初始化
限制150内