13
OMNeT / OMNEST 4.0 IDE 概述 湖南大学计算机与通信学院 嵌入式系统与网络实验室 OMNeT/OMNEST 4.0 集成 集成 集成 集成开发 开发 开发 开发环境概述 环境概述 环境概述 环境概述 A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 介绍 介绍 介绍 OMNeT 4.0 集成开发环境基于Eclipse平台,并对编辑器视图向导其他能进行了扩展OMNeT了模型创建配置 (NEDini文件)执行批处理操作及分析仿真结果等能,而Eclipse则通过各种开源或者商用 的插件来支持C++编辑集成CVS/SVN其他的一些可选特性(UML建模bug跟踪数据库访问等) 下面这个屏幕截图显示了OMNeT++ IDE的主要几个组成部分: OMNeT++ 4.0 IDE,编辑 NED文件 NED编辑器 编辑器 编辑器 编辑器 NED编辑器支持图形模式文本模式分别对NED文件进行编辑,用户可以在任意时点击编辑器窗口底部的 标签,在编辑模式间进行切换

OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

OMNeT/OMNEST 4.0 集成集成集成集成开发开发开发开发环境概述环境概述环境概述环境概述 A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE

介绍介绍介绍介绍

OMNeT 4.0 集成开发环境基于Eclipse平台,并对编辑器、视图、向导和其他功能进行了扩展。OMNeT增加

了模型创建和配置 (NED和ini文件)、执行批处理操作及分析仿真结果等功能,而Eclipse则通过各种开源或者商用

的插件来支持C++编辑、集成CVS/SVN和其他的一些可选特性(UML建模、bug跟踪、数据库访问等)。

下面这个屏幕截图显示了OMNeT++ IDE的主要几个组成部分:

OMNeT++ 4.0 IDE,编辑 NED文件 NED编辑器编辑器编辑器编辑器

NED编辑器支持图形模式和文本模式分别对NED文件进行编辑,用户可以在任意时刻点击编辑器窗口底部的

标签,在编辑模式间进行切换。

Page 2: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

在图形编辑模式下的NED编辑器

在图形模式下,可以创建复合模块、信道和其他组件类型。可以通过可用模块类型面板(palette)来创建子模

块;可以在属性视图里修改Visual和non-visual属性,也可以从文本菜单里选择会话来修改。编辑器提供无限次的

撤销/重做、目标克隆、移动及重定义大小约束、目标对齐、放大缩小和其他许多可能的功能。

子模块可以绑定(在指定位置),也可以不绑定(自动布局)。可以编辑修改包括图像背景、网格背景、默认图标

(通过显示字符串的继承)、调整图标大小和着色、通信距离和许多其他的图形特性。

属性视图视图

属性视图使得用户可以编辑目标对象的图形及非图形属性。具体单元编辑器(special cell editors)使得选择颜

色、图标等工作更为便利。属性的更改支持撤销(undo)和重做(redo)。属性视图也可以与其他的编辑器共用,如用

于结果分析的Result Analysis,用户可用该编辑器来定制图表和其他对象。

Page 3: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

源代码编辑模式下的NED编辑器

文本模式使得用户能直接和 NED 源代码打交道,当按下 Ctrl+空格键时,编辑器提供包括关键字、模块类型

名、参数、门和子模块名称等的自动识别(上下文感知完成:context-aware completion)。把鼠标移到 NED类型名上

面,可以看到所引用的模块类型的文档。在用户在输入的时候,NED 源代码在不断地进行检查和确认( parsed and validated ),左侧的空白处将会实时地显示错误。语法高亮(Syntax highlighting),自动缩进( automatic indentation), 同时还提供对 OMNeT++ 3.x NED 语法的自动转换。

大纲视图

大纲视图显示了 NED 文件的框架结构,无论是图形模式还是文本模式,还有导航(模式)。 其他视图:NED 编辑器还可以使用模块层次视图和 NED 参数视图,它们显示了子模块的层次、选定模块或

Page 4: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

子模块的参数,这些视图将在下一节的 ini 文件编辑器里描述;还有问题视图(Problems View ),显示了在 NED文

件以及其他文件里的错误和警告;任务视图(Tasks View )显示了 NED 文件和其他源文件中的 FIXME 和 TODO注

释内容。

Ini 文件编辑器文件编辑器文件编辑器文件编辑器

Ini 文件编辑器用于用户配置仿真模型的运行。可以基于样式(form-based),也可以直接编辑源码。

基于样式(Form-based)的 ini 文件编辑

Ini 文件编辑器具有所有支持的配置选项、提供有关配置的多种样式,并通过标题来组织。有关描述和默认值显示

在工具提示栏,便于阅读。Ini 文件的结构(段和他们的继承树)同样是可见的、可编辑的[通过鼠标拖曳和对话框]。支持语法检查和内容自动识别,编辑器支持“撤销/重做”操作,支持 3.x版本的自动转换。

ini 文件源码编辑器

文本模式编辑器可让用户直接和 ini 文件打交道,对于高级用户来说,这比样式模式下更为有效。提供无限制

Page 5: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

的撤销/重做,语法着色等,当用户在输入时,自动进行文件分析,实时显示错误和警告。 编辑器知道所有的 NED声明(简单模块、复合模块、信道等),并充分挖掘这些信息以助于给用户提供诊断和

帮助。看一下 network= 这个配置项(configuration key),它知道顶层复合模块的的 NED 类型,并通过递归列举

(recursively enumerating)顶层模块的子模块、子-子模块、子-子-子模块…等来内建一个网络的静态图,并一直把这

个信息与 ini 文件内容联系起来。编辑器知道 ini 文件里的哪些配置项对应哪些模块参数,哪个配置项是未用的、

哪个模块参数是开放(open)的,如未赋值,并在工具提示栏显示这个信息作为警告。

The Add Missing Keys dialog

为了尽快从零开始创建 ini 文件,编辑器提供了一个 Add Missing Keys 对话框,点击 OK 后,编辑器就会给所有

未赋值的 NED参数插入 ini 文件配置项,用户只需提供值就可以了。

Page 6: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

模块层次视图

模块层次视图显示了当前配置下的网络的子模块层次及其模块参数。它告诉我们模块参数是如何获得值

的(在NED文件里使用默认值或者从ini文件获得)。通过(右键的)文本菜单,用户可以直接跳到模块的NED声

明、子模块、参数、门以及参数获得值的位置(NED或者ini文件)。

视图可以绑定(pinned to )到一个具体的编辑器,来阻止当用户在 NED和 ini 文件编辑器之间进行切换的时候,

它的内容被改变。

NED参数视图(The NED Parameters View)

默认情况下,NED 参数视图显示了当前配置下的网络中的所有未赋值 NED 参数列表,可以切换该视图来显示所

有的参数,包括赋值和未赋值的。对于已赋值的参数,视图显示他们是如何获得值的,是从 NED里初始化、还是

从 ini 文件中获取。同样,该视图可以被绑定。

The Problems View

问题视图(Problems View)以一种统一的方式来显示来自 NED 文件、ini 文件和其他源文件中的错误、警告和

信息消息。双击某项将打开相应的文件并来到错误所在的位置。视图内容可以通过不同的方法进行过滤(当前文件、

当前工程、所有工程、或者根据严重程度)。

Page 7: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

仿真运行仿真运行仿真运行仿真运行

OMNeT++ IDE可以直接在集成环境里运行仿真。它可以把仿真直接作为一个普通的 C/C++应用程序来运行,

并在其之上执行 C++源码级的调试。可以作为一个独立的程序运行(在 Tkenv或 Cmdenv下); 也可以作为不同参数

或者随机数种子的批处理运行。(备注: 一个基于 Eclipse的运行时环境 IDEEnv目前还没推出,计划在未来的发行

版本推出)。

运行对话框——显示一个仿真运行配置

在 Eclipse IDE里,运行配置里描述了运行一个程序的不同方法。有多种不同的运行配置类型(C/C++应用程序、

JAVA 应用程序等等)。在首次运行一个程序时,用户首先创建一个运行配置的例程、填上空白内容(程序名、命令

行参数等等)、然后点击 Run 按钮。OMNeT++给仿真提供了多种的配置类型:一种是对普通“C/C++本地程序”

运行类型进行仿真标签扩展(便于编辑仿真相关的命令行选项);还有一种是仿真运行或者仿真批处理的独立运行

类型。前者也可用于 C++调试。 对话框显示了 QueueNet样例仿真模型的一个独立运行类型。通过在对话框中指定多于一个的运行数目来运行

批处理仿真。Ini 文件允许用户定义不同的场景,这些场景会对给定的 NED 参数的一个值清单进行遍历(iterate over)、并根据不同的种子执行多个运行(在 4.0发行版中改进);运行对话框显示哪些运行对应那些参数和种子设置,

以此来帮助用户选择所期待的运行数目。 如果是多处理器或多核计算机,可以通过指定一次运行多个仿真过程(process)来进行。

Page 8: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

过程视图

当你的仿真运行时间较长、或者你正在执行批处理中的多个运行,过程视图(Progress View)报告了仿真执

行的状态。如果需要的话,可以点击来取消整个批处理操作。多个仿真运行在不同的过程,这些过程不会妨碍 IDE,这样一来,当用户的仿真正在后台运行时,用户仍然可以继续手头的工作。上面这个屏幕截图中,并行运行的过

程数目有两个;#1已经结束(不再显示),而#3在#2仍在运行的时候已经在运行了。

控制台视图

每个运行中的过程(process)都会把自身的输出发送到控制台视图里的一个单独的控制台缓冲(console buffer),这样用户在仿真完成之后可以重新查看那些输出。可以通过控制台视图的菜单或者工具栏在控制台缓冲之间进行

切换,或者在调试视图里对过程进行双击。

显示一个仿真批处理中的三个运行

调试视图(Debug View)是 Eclipse的另一个标准视图,但它不仅仅只用于调试。过程视图仅仅只显示当前执行

的过程,而调试视图将已经终止的过程也一并显示,以及他们的退出代码。通过运行数目和运行时间来标记过程,

更容易识别,双击项目(items)在控制台视图里显示过程的输出。

Page 9: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

顺序图顺序图顺序图顺序图(Sequence Chart )

OMNeT++ 4.0 仿真内核可以在仿真运行过程中记录各种事件日志:自消息的调度和取消、消息的发送、更改

显示、模块和链接的创建和删除、用户日志消息等等。内核将产生一个事件日志文件,包含仿真的详细信息,之

后可以用于各种不同的用途,比如在一个顺序图上对模块之间的消息交换进行可视化。文件格式是基于行的

(line-based)的文本格式,便于第三方工具的处理。

显示一个无线网络中的ARP的顺序图 在IDE中,一个事件日志可以被顺序图可视化。在顺序图中,事件用点表示,而消息的发送/调度/重用操作则

用箭头表示。可以通过模块、消息类型和其他的标准对该图进行过滤;也可以通过一个具体事件的产生原因和结

果来进行过滤, (通过仿真时间中的前后箭头)。图表时间线(chart timeline)可以用不同的模式显示,比如线性的(仿真时间), 紧凑的(非线性的), 还有基于事件数的。模块轴排序、在轴上显示状态向量数据(通过向量输出文件)、缩

放以及特殊的导航选项、还有将图表以SVG格式输出。 事件日志表(Event Log Table )和顺序图(Sequence Chart)都可以有效地显示几个GB的事件日志文件,而

无需要求太多的内存空间。

事件日志视图

Page 10: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

事件日志表显示了在仿真期间所记录的事件日志文件的内容;与顺序图一样,事件日志表同样支持过滤。

结果分析结果分析结果分析结果分析 Scave

Scave是 OMNeT++的结果分析工具,它的任务是帮助用户对保存到向量和标量文件中的仿真结果进行处理和

可视化。有了 Scave,不管是单仿真运行的输出(一个或两个文件)、或者是仿真批处理的结果(可能有几百个文件,

且在不同目录下),用户的工作照样从容不迫。 支持系统化、可重复的处理,这意味着所有的处理和图表都存储为“食谱(recipe)”;举个例子,如果仿真因为

一个模型漏洞或者配置错误而需要重新运行,已有的图表不需要从头开始重画,只需用新的结果文件来取代旧的,

就会使得图标自动显示新数据。 Scave是一个多标签页编辑器(multi-page editor)。编辑器编辑的是“食谱”:结果文件作为它的输入、从结果

文件获得数据以供处理、并创建相应的图表;编辑器的几个标签页对应这几个步骤。【What the editor edits is the “recipe”: what result files to take as inputs, what data to select from them, what (optional) processing to apply, and what kind of charts to create from them. The pages (tabs) of the editor roughly correspond to these steps】你将会看到,Scave不仅仅是 OMNeT++ 3.x中的 Scalars和 Plove工具的联合。

指定输入文件用于数据分析

第一页(标签)显示,结果文件是分析的输入文件。上半部分通过显式的文件名或者通配符来指定所要选择

的文件。下半部列出了具体的匹配到输入规范的文件,以及他们所包含的运行(runs)。注意:除了实际记录的

代码外,OMNeT++4.0结果文件包含一个唯一的运行ID和几个元数据注释(metadata annotations)。最右侧第

三颗树根据他们的‘实验—测量—重复’标签来组织这些仿真运行。

通常的基本假设是用户会组织他们基于仿真的研究来进行各种“实验”,一个实验会包含多次“测量”,很

多情况下相同的仿真模型会在不同的参数设置下进行,也就是说,用户会在参数空间里进行多次仿真运行。为了

使得最终的统计更可信,每个测量都将可能在不同的随机数种子情况下重复多次。有了OMNeT++ 4.0中的增强型

ini文件,建立这样的场景变得容易,并且那些‘实验—测量—重复’标签或多或少可以自动赋值—更多详细内容

请参见ini文档 (“OMNeT++ 4.0 仿真配置 Configuring Simulations in OMNeT++ 4.0”)

Page 11: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

浏览仿真产生的向量和标量数据

第二页用表格的形式显示结果(向量、标量和柱状图),用户可以浏览它们。可以对结果进行排序和过滤,可

以用组合框(combo boxes)进行简单的过滤,如果还不够理想的话,用户可以使用一个通用的模式匹配扩展语言来

编写任意复杂的过滤器。所选择或所过滤的数据可以马上记录到数据集(datasets)中,以便进一步处理。

定义用来分析的数据集

Page 12: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

线条图 (A Line Chart)

柱状图

Page 13: OMNeT/OMNEST 4.0 集成开发环境概述 - pudn.comread.pudn.com/downloads161/ebook/724968/ide-overview.pdf · A QUICK OVERVIEW OF THE OMNeT++/OMNEST 4.0IDE 介绍 OMNeT 4.0 集成开发环境基于Eclipse

OMNeT / OMNEST 4.0 IDE 概述

湖南大学计算机与通信学院 嵌入式系统与网络实验室

输出向量视图 (Output Vector View)

数据集视图 (Dataset View)

本文由本文由本文由本文由 sunfast 翻译翻译翻译翻译,,,,仅用于网络共享仅用于网络共享仅用于网络共享仅用于网络共享,,,,由于时间仓促以及水平有限由于时间仓促以及水平有限由于时间仓促以及水平有限由于时间仓促以及水平有限,,,,期盼不吝指正期盼不吝指正期盼不吝指正期盼不吝指正!!!!

Email::::[email protected]

QQ:::: 249999240

Blog: http://sunfast.cublog.cn

2008200820082008----11112222----10101010 0 0 0 08888::::40 pm40 pm40 pm40 pm