基于WSAN的物联网软件分布式知识框架及其实现方法论文_魏日城

基于WSAN的物联网软件分布式知识框架及其实现方法论文_魏日城

摘要:随着物联网的深入发展和智能传感器的出现,传统软件逐渐暴露出自身性能的不足。为满足设备自治的需求和利用边缘网络的计算资源,分析了物联网软件的特征,提出了物联网软件的分布式知识框架及其具体实现方法。通过识别物联网软件的环境逻辑并定义环境逻辑的演化规则,使环境逻辑可以嵌入底层无线节点。依靠智能传感器监控环境变化、触发软件逻辑,实现软件的正确执行。最后依据现实场景的运行情况及相关指标的分析,来说明所提方法的适用性。

引言

物联网是由麻省理工学院提出的,被认为是继计算机、互联网之后,全球信息产业的第三次经济浪潮。目前,物联网还未出现一个被广泛接受的定义,其本质是实现物理世界、信息世界和人类社会三元空间的深度融合。物联网是一种新的应用模式,在未来智能通信领域起着中流砥柱的作用。它是在互联网的基础上进行物理实体的扩展,使得互联网获得感知、控制、执行等能力的新型网络结构。相似的概念还有信息物理融合系统CPS、社会物联网SIOT等。

1物联网软件

物联网软件不同于传统软件,它与物理环境更加紧密。在物联网软件中,环境是软件组成的一部分。因此物联网软件可以直接实现对环境的调控,以满足三元空间的需求。从宏观来看,物联网软件是指运行在物联网中的软件实体。因为物联网是在互联网的基础上实现物与物的交互协作(物联网=互联网+物物扩展),所以传统软件在宏观视角下可以被称为物联网软件,即分布式web软件是物联网软件。因此宏观角度对物联网软件的理解过于简单宽泛,缺乏明确的含义。

2软件系统建模

2.1框架设计

对于物联网应用来说,本质上是物联网智能节点与服务器之间的数据交换。由于物联网底层和互联网通常采用的协议不同,数据交换通常是基于一个物联网关实现。物联网传输协议有很多种,例如Zigbee、工业以太网、工业总线、NB-IoT等。对于Arduino而言,都有专门的模块和转接板对应于这些网络。通常Arduino与这些模块之间是通过串口进行通讯的,因此在设计基于Arduino的物联网节点模拟软件框架。

该软件框架是从基于时间的嵌入式多任务框架中扩展而来,其中方框表示软件模块/任务,而箭头表示调用关系。该框架包括以下内容:

(1)“定时器”模块提供了多任务的运行时间片参考。该定时器使用了Arduino板上单片机的硬件定时器,并利用定时器的中断服务来运行任务调度模块。

(2)“任务调度模块”实现了对任务的管理和执行。任务调度模块会在定时器产生的时间间隔内依次调用系统内的任务模块,这些任务模块实现了对输入的协议数据的解析,数据处理,模拟设备模型的执行,以及生成返回给服务器的数据。这些任务模块包括数据解析任务模块、协议处理任务模块、模拟设备任务模块和数据发送任务模块。其中模拟设备任务模块是为了模拟节点的功能,例如和执行控制、状态更新等。

(3)“数据通讯模块”实现了基于串口的与通讯设备的数据交换机制,针对不同的通讯设备,该模块的实现不同,主要封装了针对不同设备的通讯细节;“设备实体/状态模拟模块”实现了节点功能和状态的仿真,通常情况下是存储与被模拟节点相关的数据。

期刊文章分类查询,尽在期刊图书馆

2.2工作原理

首先,系统上电后执行Setup部分,该部分主要是初始化任务调度器,并将需要运行的任务增加到任务列表中,并在最后启动任务调度器的执行,完成初始化的工作。然后系统进入运行状态,开始循环调用loop部分。在这部分主要工作是(1)根据调度结果执行任务调度器中的任务,主要包括获取接收缓冲区的数据,根据具体的应用协议进行解析,然后根据解析的结果执行对应的操作,之后运行被模拟设备的控制功能,并更新被模拟设备的状态。最后根据应用协议的要求生成相应的数据并放入发送缓冲区。(2)处理串口应用层数据的收发。其主要操作是判断是否有串口数据需要读取,如有数据则根据具体设备的传输层通讯协议进行解析和接收,将收到的合法数据存入接收缓冲区内。然后判断发送缓冲区是否有数据需要发送,如有则将其按照传输协议写入串口中。除了loop主线程外,还有定时器周期触发的中断线程,在该线程中主要是进行任务的调度。

3物联网软件的分布式知识框架

3.1框架概念

由上述定义可知,物联网软件与现实环境有着密不可分的联系,其所有环境操作都可归结为对底层感知执行节点的操控。在物联网中,软件利用传感器采集数据信息,并通过执行器调控物理环境。因此,本文基于无线传感器和执行器网络(WirelessSensorandActorNetwork,WSAN)来研究物联网软件。

在互联网中存在着形态各异的软件,如分布式软件、网构软件等。但从节点层次考虑,这些软件形态都不适用于物联网环境,软件实体的粒度不能匹配资源受限的节点。本文受元组空间和计算迁移的启发,提出了软件的分布式知识框架来适应物联网环境。该方法的分布对象不是软件实体,而是软件的环境逻辑。通过将环境逻辑从软件内部抽离并规则化,获得可以存储在mote节点上的关联条件规则(也称为知识),以此实现软件在节点层次的运行。条件规则在传统软件中普遍存在,它与软件代码高度耦合,是软件实体的一部分,并未独立出来。条件规则非常适合资源受限的无线节点,因为其存储空间小、处理简单,最重要的是可以完成与环境的逻辑交互。

3.2分布式知识框架的设计

为实现物联网软件的分布式知识框架,完成软件逻辑的正确抽取、分布和协作,本文在管理控制层建立了3个模块:知识分布模块、感知设备模块和执行设备模块。这3个模块对应的任务知识分布表、传感器表和执行器表。知识分布模块是管理环境逻辑的核心,记录软件逻辑分布的节点位置以及协作顺序,为底层知识的管理提供依据。感知设备模块和执行设备模块记录底层节点的属性特征,为建立和修改知识分布模块提供先验知识。

结语

在本文工作中,规则的协作还仅仅局限在一些比较简单的形式上。但在现实场景中,节点间的协作可能会更加复杂,因此需要研究规则的协作,以优化节点间的通信序列来进一步实现节点的节能。为此,完善规则的协作是一项重要的工作。未来的工作还有:节点知识库的形式化描述;物联网软件分布式知识框架实验平台的搭建;物联网软件分布式知识框架自适应能力的研究等。

参考文献

[1]王建平,曹洋,史一哲.物联网软件产业链研究[J].中国软科学,2011(8):27-32.

[2]李青山,王璐,褚华,等.一种基于智能体技术的软件自适应动态演化机制[J].软件学报,2015,26(4):760-777.

[3]陈海明,崔莉.面向服务的物联网软件体系结构设计与模型检测[J].计算机学报,2016,39(5):853-871.

[4]谢开斌,陈海明,崔莉.PMDA:一种物理模型驱动的物联网软件体系结构[J].计算机研究与发展,2013,50(6):1185-1197.

[5]陈琦,韩冰,秦伟俊,等.基于Zigbee/GPRS物联网网关系统的设计与实现[J].计算机研究与发展,2011(S2):367-372.

[6]谭方勇,王昂,刘子宁.基于Zigbee与MQTT的物联网网关通信框架的设计与实现[J].软件工程,2017(4):43-45.

论文作者:魏日城

论文发表刊物:《中国西部科技》2019年第24期

论文发表时间:2019/11/27

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于WSAN的物联网软件分布式知识框架及其实现方法论文_魏日城
下载Doc文档

猜你喜欢