基于模型的转换框架用于设计和分析无线传感器网络
摘要
无线传感器网络(WSN)由资源受限(例如内存、处理能力和能量)的传感器节点组成,这些节点被部署在不同区域,能够监测环境条件。为了评估网络性能,仿真已被广泛使用。在此背景下,软件设计人员需要在开发早期阶段通过仿真工具对无线传感器网络应用的高层模型进行评估、优化和验证,特别是针对支持能量收集设备的无线传感器网络应用。
本文提出了一种基于模型的转换框架,用于支持能量采集能力的WSN系统的建模与仿真。在本方案中,我们从基于 UML/MARTE配置文件的高层规范出发,描述一个具备能量采集能力的无线传感器网络节点;然后通过模型到文本( M2T)转换,生成用于分析能耗的仿真脚本。
关键词 :无线传感器网络, 模型驱动工程, 模型到文本转换, 仿真, 能量收集
1. 引言
近年来,无线传感器网络(WSN)受到了日益增长的关注。一个WSN由大量传感器组成,能够监测和测量某些现象,以完成诸如环境监测[1],、医疗健康监测[2],以及许多其他应用的任务。WSN存在诸多设计挑战[3], ,尤其是能源供应问题,这仍然是此类系统的限制因素。为解决这一问题,能量收集替代方案[4]被视为缓解能量限制问题的潜在解决方案。因此,需要采用工程方法与技术来应对WSN面临的挑战。目前,设计人员已在 WSN领域[6,7]采用基于模型驱动工程(MDE)范式[5]的高层设计方法,以应对这些挑战并延长WSN的寿命。
使用UML配置文件是降低WSN复杂性的有前景的解决方案。UML配置文件的一种变体是实时与嵌入式系统建模与分析(MARTE)系统[8]标准,该标准为实时与嵌入式系统的建模与分析提供了丰富的支持。另一方面,设计人员希望在早期设计阶段对WSN系统的能量特性及时序约束进行验证,这正是有助于建立可靠的开发流程并避免故障。模型驱动工程(MDE)模型在较高抽象化级别上表示系统规格,但必须对其进行验证。为解决这一问题,已应用多种仿真工具[9]来验证无线传感器网络的约束。由于仿真具有易于实现、成本较低和测试方便等优势,因此可帮助无线传感器网络应用的开发人员和设计者在真实部署前检测并修正代码错误。本文研究了能量收集型无线传感器网络节点的建模与仿真。此外,我们提出了一种框架,该框架允许使用基于UML/MARTE配置文件的高层建模方法来描述和仿真能量收集型传感器节点,以验证非功能性属性并评估无线传感器网络的性能(功耗和时间约束)。所描述的模型使用了先前工作[10]中提出的针对能量采集技术的MARTE配置文件新扩展。在之前的研究中,我们通过MARTE扩展提出了一个能量采集设备的通用模型,并探讨了如何利用UML(统一建模语言)和MARTE语言将能量采集需求转化为建模规格。然而,本研究的重点并非提出新的MARTE扩展,而是构建一个完整的框架:从高层设计开始,引用前述的能量采集模型,建立WSN系统的供电建模,并通过M2T转换自动生成可执行脚本,进而通过仿真步骤验证设计。
这项所提出的工作的优势在于:
- 采用提供高级设计的 MDE 范式。
- 利用统一建模语言和MARTE标准,提供易于理解的模型。
- 使用 MDE 转换引擎从高层模型自动生代码。
- 包含一个用于分析目的的仿真步骤。
本文的结构如下。在第2节中,我们介绍了相关工作。在第3节中,我们概述了本研究中使用的建模技术和仿真工具。在第4节中,我们描述了本文提出的采用的方法论。在第5节中,我们提供了一个案例研究来说明我们的工作,并展示了仿真结果。最后,在第6节中,我们对全文进行了总结。
2. 相关工作
人们已针对无线传感器网络应用的模型驱动开发研究了多种方法。这些方法旨在通过领域特定语言或UML配置文件来改进应用程序的设计,以实现自动代码生成、仿真和性能分析。在[11],中,作者使用设计语言SDL [12]解决了无线传感器网络的能量感知系统设计问题。作者将能量模式信号和能量调度确定为将能量特性纳入 SDL的两种概念性方法,并应用这些方法来控制Imote2平台的中央处理器和收发器的能耗。在[13]中提出了一种用于无线传感器网络建模、仿真和代码生成的另一框架。在该方案中,作者使用高级抽象对应用进行建模,并利用可配置且逼真的拓扑结构进行仿真。该框架基于MathWorks工具,使用Simulink和Stateflow对应用进行建模,并通过Embedded Coder为两个目标平台TinyOS[14]和MANTIS [15],自动生成代码,其中将能量作为主要考虑因素。在[16],中,提出了一种用于无线传感器网络应用低成本原型开发与优化的模型驱动开发流程。在该项工作中,
作者使用领域特定建模语言在最高抽象级别描述了一个模型。通过转换规则将高度抽象的模型转换为可执行模型,以优化性能和进行能耗分析。作者在[17]中提出了一种MDE平台,用于无线传感器网络应用的快速实现和测试。作者提出了一个特征模型,用以展示系统特性及其约束。采用形式化方法来估算应用程序的各种属性,例如网络寿命。在同一背景下,[18]中提供了用于无线传感器网络架构设计和分析的MDE框架。在这项工作中,作者提出了一种基于MDE范式的框架,分别对无线传感器网络的软件架构、无线传感器网络节点的硬件规格以及部署环境进行建模。提出了用于生成可执行代码的模型到文本转换(M2T),以支持能耗分析目的。在 [19],中,作者研究了一种基于模型的方法,将无线传感器网络的建模与性能分析相结合。他们引入了一个基于UML的框架,使用NesC对硬件平台进行建模,并使用UML/MARTE标准对性能参数进行建模。通过一组转换规则实现了网络性能分析。其他相关工作[20–22]提出了不同的框架,用于能量收集型无线传感器网络的仿真。然而,这些方法不支持诸如模型和模型转换等MDE术语。所研究工作的共同缺点是其提出的框架未支持能量采集技术。我们的工作与众不同之处在于,提供了一个基于模型的转换框架,能够对支持能量收集能力的WSN系统进行建模和仿真。本工作的创新性在于将高层规范与无线传感器网络仿真环境相结合,从而自动为目标仿真生成代码。我们提出一个基于MARTE配置文件的模型,该配置文件作为对象管理组织的标准,用于嵌入式系统设计,并对传感器节点的实时特性进行建模。此外,我们采用了一个支持具备能量收集能力的传感器网络仿真的无线传感器网络仿真器,而这是其他仿真器所不具备的。
3. 高层级方法论和无线传感器网络仿真工具
在本节中,我们概述了在所提出的框架中用于建立无线传感器网络仿真的不同工具、语言和无线传感器网络仿真平台。
3.1. 模型驱动工程
模型的概念在软件工程应用中已成为一种重要的范式。使用模型在连续性、可扩展性、抽象化级别等方面带来了显著的进步。模型驱动工程(MDE)[5]是一种从模型生成应用程序的软件开发方法论。由于MDE旨在降低复杂系统的开发难度,提高其质量,并更好地捕获和验证约束,因此被认为是一种有前景的替代方案。
MDE的开发过程始于在不同抽象化级别上使用模型,并通过一系列转换和精化步骤最终得到特定模型。
MDE关注三个核心概念:元模型、模型和模型转换。模型可以使用特定领域的语言(如统一建模语言、 MARTE等)进行描述。对该模型可应用一系列转换,包括模型到模型(M2M)和模型到文本(M2T)转换。
模型到模型(M2M)[23]将一个模型转换为另一个可能符合相同元模型的模型,此类转换基于现有的转换语言 (如Qvt和ATl)。模型到文本(M2T)技术则基于映射模板[23](如Acceleo[24]和MOFScript[25]),实现从模型到文本的映射。本研究中使用的所有工具,包括模型和模型转换,均由Eclipse平台提供。特别是使用Papyrus来支持基于UML/MARTE的设计建模,以及使用Acceleo进行模型到文本转换。
3.2. MARTE 标准
MARTE的UML配置文件受可调度性、性能和时间(SPT)配置文件[26]的启发。它是对象管理组织(OMG)的一项标准配置文件,通过添加特定领域的概念来扩展UML,以支持对实时与嵌入式系统(如无线传感器网络)进行基于模型的描述与分析的基础。MARTE包含三个主要包:基础包、MARTE设计模型和MARTE分析模型包,每个包具有特定用途。MARTE拥有多个子配置文件,提供特定的构造型和不同属性,用于对模型进行注解。其中,适用于我们建模与分析的MARTE子配置文件包括支持软/硬件资源静态与动态建模的全局资源建模(GRM)以及规定硬件资源建模的硬件资源建模(HRM)。MARTE目前仅支持太阳能收集,局限于阳光充足的户外应用。在此背景下,先前的研究工作[10]提出了对MARTE配置文件的新扩展,以支持其他不受限的无线传感器网络能量采集技术。本文采用这些提出的扩展来进行无线传感器网络的性能分析评估。
3.3. 无线传感器网络仿真平台
尽管传感器网络已发展成为一个重要的领域,并在许多应用领域中变得非常有用,但仿真环境在时间和成本方面将非常有益。在此背景下,文献中提出了各种网络仿真环境[27],例如NS‐2[28], ATEMU [29], Avrora [30],WSNet [31], TOSSIM [32],等。一些突出的仿真器用于在特定平台上对传感器节点中的处理器进行仿真。另一些则专门用于测试某些算法的特性,还有一些用于传统数据网络,可加以修改以服务于无线传感器网络领域。就能耗分析而言,并非所有提到的仿真工具都支持能耗模拟,例如TOSSIM仿真器。此外,它们通常是针对特定传感器平台的。在我们的研究中,采用了Castalia仿真器[33]来进行无线传感器网络的仿真和性能评估。
Castalia是基于OMNeT++[34]平台的一个框架,并扩展了针对无线传感器网络仿真的模型。我们选择 Castalia的原因在于,它是一种不针对特定现有操作系统或特定硬件平台进行仿真的网络仿真器。此外, Castalia仿真器具备精确且先进的无线信道模型和无线电模型。该仿真工具的输入文件是一个文本文件(.ini 文件),用于定义所有的能耗和时间信息。因此,本文提出了一种将支持无线传感器网络能量采集技术的 MARTE模型转换为Castalia中用于能量和时间分析的元模型的方法。
3.4. 提出的方法论
我们工作的主要目标是利用基于模型的工程(MDE)技术,特别是UML/MARTE配置文件,以支持一个用于改进无线传感器网络的分析框架。图1展示了我们所提出的框架的概览,该框架包括三个主要部分:无线传感器网络建模阶段、代码生成阶段和仿真阶段。
无线传感器网络建模阶段定义了两个建模实例:节点模型和网络模型。图2展示了节点模型的设计,它描述了一个带有能量采集装置的传感器节点的硬件细节,该传感器节点可用于无线传感器网络应用。此模型包含节点的底层信息,例如其路由协议、MAC协议、能源、传感器及其他信息。网络模型描述了网络行为和组件,例如其拓扑结构、维度、现有节点的位置以及其他信息。网络模型如图3所示。
<<硬件处理器>>_处理器 | 1 node | 1 node | 1 node |
---|---|---|---|
<<硬件处理器>>_处理器 | Node | ||
1 处理器 | 1 处理器 | Node | |
node | node | node |
节点ID:整数 [1]
操作系统:字符串 |
节点ID:整数 [1]
操作系统:字符串 |
<
>
采集模块
<
>
传感器 | |||
---|---|---|---|
传感器类型 : TT字符串 [1]
powerConspowerConsumedPerSample: NFP_功率 [1]功率 |
传感器类型 : TT字符串 [1]
powerConspowerConsumedPerSample: NFP_功率 [1]功率 |
传感器类型 : TT字符串 [1]
powerConspowerConsumedPerSample: NFP_功率 [1]功率 |
<
>
名称 : 字符串 [1]
无线电通信设备
发射功率: NFP_Power [1] 接收灵敏度: 字符串 [1] 无线电频率: NFP_Frequency [1] MAC协议: 字符串 [1] 路由协议:字符串 [1]
[1]
1..*
能源 |
1
采集模块 |
1
采集模块 |
1
采集模块 | |||||
---|---|---|---|---|---|---|---|---|
1..*
能源 |
1
采集模块 |
1
采集模块 |
1
采集模块 | |||||
节点 | 节点 | 节点 |
1..*
能源 |
1
采集模块 |
1
采集模块 |
1
采集模块 | ||
<
>
能源 |
<
>
能源 |
<
>
能源 |
<
>
能源 | |||||
1 |
<
>
能源 |
<
>
能源 |
<
>
能源 |
<
>
能源 | ||||
1 |
<
>
能源 |
<
>
能源 |
<
>
能源 |
<
>
能源 | ||||
<
>
能源 |
<
>
能源 |
<
>
能源 |
<
>
能源 | |||||
名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] | 名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] | 名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] | 名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] | 名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] | 名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] | 名称 : 字符串 [1] 初始存储能量: NFP_能量 [1] |
1 1
无线电
1
传感器
能源
1
代码生成阶段涉及代码生成引擎。所描述的模型被转换为用于无线传感器网络分析目的的Castalia仿真器脚本。该M2T转换通过使用Acceleo [24]转换引擎实现,Acceleo是对象管理组织M2T规范的Eclipse实现。
从根本上讲,我们的Acceleo模板包含一组将 UML/MARTE概念转换为Castalia元模型概念的转换规则。M2T的转换规则如表1所示。例如,构造型 «Network»被转换为Castalia中的SN元素。构造型«HWSensor»被转换为SensorManager元素。其属性 «PowerConsumedPerSample»被转换为参数pwrConsumptionPerDevice。用于建模能源的 «EnergySource»构造型被转换为ResourceManager元素。能量采集装置由两个元素描述
<
>
HarvesHarvester模块 | ||
---|---|---|
<
>
HarvesHarvester模块 | ||
<
>
HarvesHarvester模块 | ||
<
>
名称 : 字符串 [1]
能源
初始存储能量: NFP_能量 [1]
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 1 | 1 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 | ||||||
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 | |||||||||
1
1 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 |
<
>
传感器 | ||||||||
1
1 | |||||||||||||
1
1 |
传感器类型 : TT字符串 [1]
每次采样消耗的功率: NFP_ er [1]Power |
传感器类型 : TT字符串 [1]
每次采样消耗的功率: NFP_ er [1]Power |
传感器类型 : TT字符串 [1]
每次采样消耗的功率: NFP_ er [1]Power |
传感器类型 : TT字符串 [1]
每次采样消耗的功率: NFP_ er [1]Power | |||||||||
1
1 | |||||||||||||
1
1 | 1 | 1 | < >sor 处理器 | < >sor 处理器 | < >sor 处理器 | ||||||||
1
1 | 1 | 1 | < >sor 处理器 | < >sor 处理器 | < >sor 处理器 | ||||||||
1
1 | 1 | 1 | < >sor 处理器 | < >sor 处理器 | < >sor 处理器 | ||||||||
1
1 | 1 | 1 | < >sor 处理器 | < >sor 处理器 | < >sor 处理器 | ||||||||
1
1 | < >sor 处理器 | < >sor 处理器 | < >sor 处理器 | ||||||||||
1
1 | |||||||||||||
1
1 | |||||||||||||
1
1 |
网络
节点数量:整数 [1]
<
>
名称 :字符串 [1]
无线电通信设备
发射功率: NFP_Power [1] 接收灵敏度: 字符串 [1] 无线电频率: NFP_Frequency [1] MAC协议: 字符串 [1] 路由协议: 字符串 [1]
拓扑结构
实体: 节点 [1]
Node
节点ID: 整数 [1]
操作系统:字符串 [1]
基站
覆盖区域: NFP_Area [1]
子网区域
水平区域: NFP_Area [1] 级别:整数 [1] 节点数量:整数 [1]
路由器 端点
坐标
X:整数 [1] Y:整数 [1]
RSSI
收发距离:整数 [1]
电池电量
阈值:整数 [1]
网络 网络
子网区域
路由器 端点
1
1 1
1
rssi 电池电量
1
1
1..*
1
1
1
1
1
1
1 1
1
1
转换为Castalia中的HarvesterName和HarvestedEnergy。«Node»构造型被转换为node元素。«RadioCommunicationDevice»构造型被转换为communication元素。其属性«macProtocol»和 «routingProtocol»分别被转换为参数«MACProtocol»和«RoutingProtocol»。
仿真阶段使用Castalia作为无线传感器网络的仿真器,用于分析目的。我们通过关注在无线传感器网络中使用能量收集装置的优势,进行能耗分析。由于Castalia的资源管理器模块对节点的资源(如CPU时间和消耗的能量)进行建模,因此我们提出将该模块扩展以增加能量收集功能和相关信息。在生成的.ini文件中,我们可以在能量收集模块配置以下参数:
- 采集器名称:给出所用能量采集设备的名称。可以是振动、热能、声能等。
- 已采集能量:从环境中收集到的能量总量。
所提出的仿真框架允许应用能量收集装置,从而影响网络寿命的性能和能耗。
4. 案例研究
本节介绍了我们方法论在城市供水管道监测系统能耗分析中的应用。我们描述了网络模型和生成的脚本,并讨论了仿真结果。
4.1. 案例研究概述
能量限制是无线传感器网络应用中的一个普遍问题。一些研究工作致力于利用太阳能、热能和机械方法等能量收集技术,以提供所需电力。在水管管道应用中,从周围环境中收集能量将延长节点寿命并确保连续监测。事实上,本研究是名为“能量感知可重构节点”(EARN)研究项目[35]的一部分,该项目旨在为水管监测应用设计一种基于片上系统的低功耗传感器节点。因此,我们采用水管作为示例。为了评估我们方法论的有效性,我们提出了一个小型的水管分配系统原型,并布置五个传感器节点来监测并获取有关管道内水质的信息。 该设计采用一种非常简单的星型拓扑结构:每个节点都连接到基站(BS)。测量数据被发送到基站,基站接收来自传感器节点的数据,并进一步将接收到的数据传输给公众用户以进行变化观察。
每个传感器节点配备一个PS‐1无线压力传感器、一个CC2420无线通信设备(发射功率为–5 分贝毫瓦,无线带宽为20 MHz)以及一块AA锂离子电池(3.9 V)。MAC协议采用T‐MAC。由于电池电量有限,需进行能量收集。
来自水分配系统的能量可能是延长网络寿命的一种潜在选择。提出了三种从水管中收集能量的方法[36]。第一种是利用涡轮机直接从水流中收集动能。然而,该技术要么浪费水资源,要么无法为传感器节点提供足够的功率。第二种是收集代表水/空气温差所产生的热流的热能。该方法在恶劣环境中的应用具有可靠性,但由于受天气条件影响,仅使用热能收集器不适合为传感器节点供电。第三种是从水分配系统中的振动源收集能量。流致振动是可收集的重要能量之一。该方法在水分配系统中最适用,因为它利用小型部件,易于集成到无线传感器网络节点中,并能为传感器节点提供可行的功率。我们将在下一部分展示所提案例研究中每种方法的不同仿真结果。 通过在Eclipse 中使用Acceleo插件,该模型被转换为Castalia仿真器的配置文件.ini文件。 该文件由多个模块组成:资源管理器模块,用于描述节点资源和所提出的能量收集器规格;传感器管理器模块,用于描述传感器规格;无线电模块,用于描述网络内通信;以及MAC模块和路由协议。配置文件中列出的仿真参数见表2。每次仿真持续1000秒。通信设备为CC2420无线电。传感器节点以最大发射功率水平–5分贝毫瓦运行。我们使用Castalia仿真器提供的默认MAC协议,即旁路MAC协议。
4.2. 仿真结果和讨论
在本节中,我们讨论将我们的方法应用于水管监测案例研究。在本研究中,我们关注能耗分析。在Castalia仿真器中,能耗模型由资源管理器模块表示。资源管理器模块负责计算网络中每个节点消耗的能量。因此,可以在每次仿真后计算出每个节点的剩余能量。不同射频模式下的消耗功率取决于射频设备类型。由于所使用的传感器节点基于CC2420射频模块,该无线电在睡眠状态下的消耗功率为1.4 mW,在接收或侦听状态下的消耗功率为62 mW。我们考虑了两个仿真场景。第一个场景是无能量收集时的能耗情况,第二个场景是有能量收集时的能耗情况。在第二个场景中,我们采用了前文提到的能量收集器技术:热能、动能和振动能量收集方法。我们考虑了前述两个场景的仿真参数。对于第二个场景,我们增加了能量收集参数(SN.node.ResourceManager.HarvesterName 和 SN.node.ResourceManager.HarvestedEnergy)。 显示了每种场景结束时的剩余能量。节点0代表基站。节点1、2、3和4用于监测水管中的压力。仿真结果表明,在水管中引入能量采集装置对于实现连续监测是一个乐观可行的方案。还可以看出,对于所提出的传感器节点,振动收集器产生的功率高于热能或动能收集器。例如,与不使用此类收集器相比,节点3在使用振动收集器时可节省35焦耳的能量,而使用热能收集器时仅能节省2焦耳。我们可以得出结论,在本案例研究中使用振动收集器能够为电池提供最高的供电功率,此外,该方法易于集成到传感器节点中。为了更清楚地突出能量收集方法在无线传感器网络中解决能耗问题的有效性,我们计算了设计的供水管网中每个节点的能耗。表3显示了各传感器节点在使用和不使用振动收集器情况下的消耗的能量值。
从表3可以得出结论,在引入振动收集器的情况下,能耗降低。例如,使用振动收集器后,节点2的能耗从 290焦耳减少到262焦耳,这有助于提高电池的充电能力,并延长网络寿命和最小化能耗。
我们可以得出结论,与低层级开发方法相比,使用高层级模型进行WSN系统开发具有优势。通过分离硬件细节,它实现了模型的重用以及无线传感器网络的网络行为描述。例如,可以在不影响其他网络定义的情况下修改传感器节点的规格,并运行新的实验。此外,通过降低底层硬件描述日益增加的复杂性,提高了抽象化程度。该框架通过从模型自动生成可执行代码,提供了性能分析能力。因此,这种新提出的框架在从不同方面开发和分析无线传感器网络架构时非常有用。
5. 结论
在本文中,我们提出了一种基于高层级模型的框架用于设计无线传感器网络应用。该框架包含三个部分:基于 UML/MARTE配置文件的无线传感器网络建模框架、代码生成框架以及仿真框架。本文提出了从MARTE配置文件到Castalia仿真器的M2T转换规则。本研究的主要优势在于支持对为无线传感器网络节点供电的能量采集装置进行建模与仿真。我们采用一个基于无线传感器网络的供水系统来评估所提出的方法论。在未来的工作中,我们计划扩展所提出的框架,以支持自适应无线传感器网络。
表2. 案例研究的仿真参数。 | 值 |
---|---|
仿真时间 | 1000 秒 |
节点数量 | 5 |
通信设备 CC2420 无线电 | |
发射功率 | –5 分贝毫瓦 |
MAC协议 | 旁路MAC |
表3。每个传感器节点在有和没有振动收集器情况下的消耗的能量值(J)。 | 节点 0 节 | 点 1 节点 | 2 节点 3 节 | 点 4 |
---|---|---|---|---|
节点消耗的能量 无振动能量采集器时(焦耳) | 270 | 295 | 290 | 310 |
节点消耗的能量
使用振动能量采集器时(焦耳) | 235 | 210 | 262 | 302 |