OMNEST是面向对象的离散事件网络仿真框架。该框架有一个通用的体系结构,它允许应用于各种问题域,其中需要以高性能模拟复杂行为:协议建模、有线和无线通信网络的建模、高性能集群的体系结构仿真;举几个例子。
非商业版本,OMNET++,拥有庞大的学术用户社区,有多个小组发布和支持仿真模型,以及每年发表数百篇关于无线网络和其他主题的仿真论文。
当用户问他们为什么选择OMNEST(或OMNET++)时,我们的用户通常会提到以下项目:
非商业版本,OMNET++,拥有庞大的学术用户社区,有多个小组发布和支持仿真模型,以及每年发表数百篇关于无线网络和其他主题的仿真论文。
当用户问他们为什么选择OMNEST(或OMNET++)时,我们的用户通常会提到以下项目:
- 非常有效的 -- OMNEST模拟执行速度快,规模也很好,这可以让模拟库中的特征量感到惊讶。
- 可以快速学习 -- 需要一些C++知识,但是编程模型和API可以很快地被拾取,并且可以在短时间内变得高效。
- 伟大的社区 -- 模拟器拥有庞大的用户社区,大量信息可以在互联网上免费获得;当一个问题出现时,这是非常有用的,因为解决方案通常只是一个网络搜索(与公开可用的信息为0的专有工具进行比较,通常仅限于提供市场级别资料)。
- 组件模型 -- 仿真模型更易于理解和维护,并且可以以意外的方式组合(因为组件通常不直接在C++级别上相互交互,仅通过OMNEST提供的手段,例如消息)。
- 灵活性 -- 模拟器和模型可以以令人愉快的方式扩展;异类场景,例如与其他模拟器和外部系统的接口,并行仿真,,模拟,以及上述的组合都可以实现,并且完整的源代码在需要的时候可以用于研究和调试。
组件模型
OMNEST框架的基本原理之一是基于组件的仿真模型体系结构。模型是由可重用组件(称为模块)构建的,它们可以组合在一起形成更复杂的结构。模块嵌套的深度不受限制。模块主要通过消息传递、通过连接或直接发送进行通信。模块的行为可以在C++编程,使用仿真基础OMNEST提供。
组件体系结构提供了多种好处:
- 仿真模型更易于理解和维护,并且可以有效地组合,(因为组件不直接在C++级别上彼此交互,仅通过OMNEST提供的手段,例如消息)。
- 促进代码重用
- 帮助您选择正确的抽象级别:模型中的组件可以稍后替换为更详细或更不详细的版本,并且还可以用复合的组件替换单个组件,反之亦然。
配置文件还允许您定义参数研究,也就是说,多个迭代遍历一个参数(或参数)的多个值,每个重复n次具有不同的随机数种子。
仿真库
简单的模块用C++语言编写,使用仿真库提供的API。该功能包括:
- 消息传递
- 随机数
- 发布订阅通信
- 结果记录
- 登录中
- 模型的访问和运行时间操纵
性能、集成和可扩展性
OMNEST包含了许多有趣的可能性
- 开放接口
- 可扩展的
- 可嵌入仿真内核
- 并行仿真
- 并行多重复制
- 实时与半实物仿真
- 网络仿真能力
- SystemC集成
- HLA支持
支持多平台
OMNEST仿真可以在Windows上运行,实际上可以在任何具有强大功能的UNIX类环境中运行,并有一个现代的C++编译器,包括MaOS和Linux。
OMNEST仿真IDE目前在Windows、MACOS和Linux上可用。