文档详情

第15章--无线传感器网络的软件开发.ppt

发布:2018-02-26约4.32千字共23页下载文档
文本预览下载声明
第十五章 无线传感器网络的软件开发 无线传感器网络软件开发概述 主要开发环境 无线传感器网络中间件设计 第十五章 无线传感器网络的软件开发 软件开发特点和设计要求 无线传感器网络的软件系统用于控制底层硬件的工作行为,为各种算法、协议的设计提供一个可控的操作环境,同时便于用户有效地管理网络,实现网络的自组织、协作、安全和能量优化等功能,从而降低无线传感器网络的使用复杂度。 无线传感器网络因其资源受限、动态性强、以数据为中心等特点,对其软件系统的开发设计提出了以下要求: 1.软的实时性 由于网络变化不可预知,软件系统应当能够及时调整节点的工作状态,自适应于动态多变的网络状况和外界环境,其设计层次不能过于复杂,且具有良好的时间驱动与响应机制。 2.能量优化 由于传感器节点电池的能量有限,设计软件系统应尽可能考虑节能,这需要用比较精简的代码或指令来实现网络的协议和算法,并采用轻量级的交互机制。 软件开发特点和设计要求 无线传感器网络因其资源受限、动态性强、以数据为中心等特点,对其软件系统的开发设计提出了以下要求: 3.模块化 为使软件可重用,便于用户根据不同的应用需求快速进行开发,应当将软件系统的设计模块化,让每个模块完成一个抽象功能,并制定模块之间的接口标准。 4.面向具体应用 软件系统应该面向具体的应用需求进行设计开发,使其运行性能满足应用系统的QoS要求。 5.可管理 为维护和管理网络,软件系统应采用分布式的管理办法,通过软件更新和重配置机制来提高系统运行的效率。 软件开发特点和设计要求 无线传感器网络软件开发的本质是从如何从工程的思想出发,在软件体系结构设计的基础上开发应用软件。无线传感器网络软件设计的主要内容就是开发这些基于框架的组件,以支持下面三个层次的应用: 软件开发的内容 1.传感器应用 提供传感器节点必要的本地基本功能,包括数据采集、本地存储、硬件访问、直接存取操作系统等。 2.节点应用 包含针对专门应用的任务和用于建立与维护网络的中间件功能,其设计分为三个部分:操作系统、传感驱动、中间件管理。 操作系统:操作系统由裁剪过的只针对于特定应用的软件组成,专门处理与节点硬件设备相关的任务,包括启动载入程序、硬件的初始化、时序安排、内存管理和过程管理等。 传感驱动:初始化传感器节点,驱动节点上的传感单元执行数据采集和测量工作,它封装了传感器应用,为中间件提供了良好的API接口。 中间件管理:该管理机制是一个上层软件,用来组织分布式节点间的协同工作。 模块:封装网络应用所需的通信协议和核心支撑技术。 算法:用来描述模块的具体实现算法。 服务:包含用来与其他节点协作完成任务的本地协同功能。 虚拟机:能够执行与平台无关的程序。 软件开发的内容 3.网络应用 描述整个网络应用的任务和所需要的服务,为用户提供操作界面来管理网络评估运行效果。网络应用层次的框架组件结构如图15.3所示。 软件开发的内容 无线传感器网络软件开发的主要技术挑战 尽管无线传感器网络的软件开发研究取得了很大的进展,但还是有一些问题尚未得到完全解决,总地来说,还面临着以下挑战。 1.安全问题 无线传感器网络因其分布式的部署方式很容易受到恶意侵入和拒绝服务之类的攻击,因此在软件开发中要考虑到安全的因素,需要将安全集成在软件设计的初级阶段,以实现机密性、完整性、及时性和可用性。 2.可控的QoS操作 应用任务在网络中的执行需要一定的QoS保证,用户通常需要调整或设置这些QoS要求。如何将QoS要求通过软件的方式抽象出来,为用户提供可控的QoS操作接口,是无线传感器网络软件开发所面临的又一技术挑战。 3.中间件系统 中间件封装了协议处理、内存管理、数据流管理等复杂的底层操作,用来协调网络内部服务,配置和管理整个网络。设计具有可扩展、通用性强和自适应特点的中间件系统也是无线传感器网络软件开发所面临的技术挑战之一。 主要开发环境 TinyOS是当前无线传感器网络开发所使用的主流操作系统,在TinyOS上编写程序使用的主要是nesC语言。 nesC是C语言的扩展,精通C语言的程序员可比较快地掌握这种语言。与C语言的存储格式不同,用nesC语言编写的文件以“.nc”为后缀,每个nc文件实现一个组件功能(组件化/模块化)。在nesC程序中,主要定义两种功能不同的组件——模块(Module)和配件(Configuration)。 模块主要用于描述组件的接口函数功能以及具体的实现过程,每个模块的具体执行都由4个相关部分组成:命令函数、事件函数、数据帧和一组执行线程。 配件主要描述组件不同接口的关系
显示全部
相似文档