针对无线传感器网络的仿真平台(下)
时间:2008-03-12 来源:zcwuwei
7.Sidh
Sidh是一个采用Java实现的、基于组件的、专门为无线网络设计的仿真器。它由许多模块组成,模块间通过事件交互。每个模块通过一个接口来定义,该接口可以与其他模块交互,只要模块符合特定接口就可以被用在仿真器中。
模块包括不同的种类。有仿真器、事件、媒介、传播模型、环境、节点、处理器、无线收发器、传感器与执行机构、电源、物理层协议、MAC层协议、路由协议和应用层。仿真器模块是个离散事件仿真器,它是Sidh的基础;事件模块负责模块间通信,包括个指定事件发生时间的仿真时间;媒介模块指定无线媒介的属性,在每个节点上保持位置和无线电属性:传播模型定义发射机与接收机之间的信号强度;环境模块跟媒介模块类似,但是它足模拟物理环境;节点模块代表传感器节点,包括组成传感器节点的所有模块,如硬件模块、协议模块和应用层模块:处理器模拟处理器的工作状态及每种状态下的能量消耗:无线收发器模拟无线收发器状态、相关行为及能量消耗;传感器和执行机构跟无线收发器类似,最大的区别是它们与环境接口而不足媒介;电源模块模拟每个节点的电源供应;物理层是网络栈的底层,它提供的服务有无线收发器状态的改变、载波侦听或者空闲信道评估、发送和接收数据包、接收能量检测、多信道方式下的物理信道选择;MAC协议在物理层之上,它提供的服务有MAC层状态改变、设置或获取协议参数、发送和接收数据包,Sidh实现了多个MAC协议,如CSMA、Bel、B-MAC、TRAMA等:路由协议在MAC层之上,它提供不能直接通信的节点之间的多跳路由服务:应用层驻留在网络栈的上面,与底层协议、传感器与执行机构接口以实现完整的无线传感器网络应用。
sidh试图创建接近现实传感器的仿真器,它能够很容易地代替或者交换任何层次的模块,但是这是以牺牲效率为代价的。
8.Sitmsvnc
Simsync是一个无线传感器网络的时间同步仿真器,它仿真MICA2平台的时间特性、时间吲步算法的执行和传感器网络中传感器节点的微小时间推进。利用它可以非常方便地开发、测试、调试时间同步算法。
9.CASim
CASim 采用标准C开发,注意了模块化、扩展性和灵活性的需求。这个仿真器的基本结构是传感器节点,每个节点代表细胞自动机的一个单元。该结构有以下属性:残余能量、状态、位置(x和y)和定时器。残余能量属性用于决定电池所剩能量。状态属性决定传感器节点是活动状态还是等待状态。位置属性在仿真开始时设置,在计算邻居节点时很重要。最后一个定时器属性是许多无线传感器网络应用的基础。
节点所处的格子(Grid)采用二维矩阵实现。假定无线传感器网络是平面结构的(节点之间不分等级)、同类的(所有节点有相同属性)。对于一个N维矩阵,假定所能部署的最大节点数为N2,因此在格子中两个节点不可能有相同的位置。但是节点数目可以比最大数目少,因为使用二维格子,每个节点最多有8个邻居,如图6-16所示。
665){this.resized=true;this.style.width=665;}">
细胞自动机的规则从仿真器代码之外的一个文件加载,这给应用程序的创建带来极大的灵活性。仿真器的输出包括一个跟踪文件,这个文件包括给定实验的结果、网络的全局能量、传感器的数目、网络的连接性和覆盖度等信息。
10 Shawn
Shawn支持一般的高层算法及分布式协议。shawll在GNU通用公共许可证(GNUGeneral Public License)下发行,可以在http://www.swarmnel.de/shawn上下载。Shawn与其他仿真器有较大区别,主要表现在以下几点。
①仿真效果:仿真环境产生的效果而不是环境本身。
②仿真大型网络:能在标准的PC机上仿真超过100000个节点。
③支持开发周期:支持算法开发的所有阶段,如图6-17所示。
Sshawn包括仿真环境、音序器(Sequencer)和模型三部分,它的结构如图6-18所示仿真环境包括仿真项和它们的属性,音序器和模型影响仿真环境的行为。
665){this.resized=true;this.style.width=665;}">
11.EmStar
EmStar是一个基于Linux的框架,它有多种运行环境,从纯粹的仿真到实际部署。在每种环境下均使用相同的代码和配置文件,这使开发周期变得容易。像sensorSim一样,在仿真时提供个选项与实际硬件接口。Emstar包括一系列的工具,其中,EmSim/EmCee可以实现仿真,它们包括几个精确度体制,支持不同精度级别的透明仿真,加速了开发及调试。EmSim在模拟了无线收发器及传感信道的简单仿真环境中井行地运行许多节点。EmCee运行EmSim核,但是提供一个与实际低功耗无线收发器的接口。EmStar源代码和配置文什与实际部署系统的一样,可以减少开发及调试过程中的工作。Emstar的仿真模型是一个基于组件的离散事件仿真模型,如图6-19所示。Bmstar使用了简单的环境模型和网络媒介,所能运行的节点类型有限。
12.SimGate
SimGale是一个Intel Stargate设备的全系统仿真器。SimGate能捕获stargate内部组件的行为,包括处理器、内存、通信(串口和无线)以及外设。SimGate是个虚拟设备,它虚拟Stargate设备,引导并运行Linux操作系统,所有的二进制程序都在Linux上运行。SimGate能准确估计处理器周期计数值,而且该功能为了提高仿真性能,能够使得周期更加准确。
665){this.resized=true;this.style.width=665;}">
SimGate在一个系统中使用了不同的方法,对设备组件的性能进行评估,包括某些组件的周期级仿真和基准时间选择。SimGate与实际设备执行同样的操作系统和应用程序二进制代码。
SimGate能仿真Stargate设备的以下特性:
①不带Thumb支持、带XScale DSP指令的ARM V5TE指令集:
②XScale流水线仿真;
③PXA255处理器。包括MMU、GPIO、中断控制器、实时时钟、操作系统定时器和内存控制器;
④与相连的Mote节点通信的串行接口(UART);
⑤SA1111 StrongARM协同芯片;
⑥64MB SDRAM芯片;
⑦32MB Intel StrataFlash芯片;
⑧包括PCMCIA接口的Orinoco无线局域网PC卡。
SimGate还能与SimMote结合实现与其他传感器网络结合的仿真。另外SimGate还支持调试功能,可以设置断点等。