专利名称:无线传感器网络小节点的应用构件系统及其实现方法
技术领域:
本发明涉及一种面向无线传感器网络小节点应用的软件构件系统及其实现方法, 用于为无线传感器网络小节点应用程序开发提供快速组装系统的能力和工具,属于计算机技术领域。
背景技术:
1988年,Mark Weiser提出“普适计算”思想,促使计算、通信和传感器等3项技术相结合,产生了无线传感器网络。经过几十年的发展,无线传感器网络技术获得了很大的发展,并在很多领域中发挥了非常重要的作用。近些年,无线传感器网络技术的应用逐渐深入到人类生活的各个领域,并呈现出持续不断发展的态势。但无线传感器网络技术应用中的软件技术成熟度不够,规范及标准尚在逐步制定的过程之中,相应的应用软件开发过程缺乏普遍适用的规范及标准,软件缺乏可复用性差。为提高应用软件及软件开发过程的标准化程度,减少重复工作,降低开发难度和成本,加快应用软件开发速度,提高软件开发效率,在无线传感器网络应用软件领域, 弓I入软件构件开发方法,并提供开发工具支持应用开发是非常有必要的。构件软件开发是以构件系统技术为核心的,本发明提出合适的面向无线传感器网络应用的构件系统,并开发基于该系统的开发工具,用于构件生产、组装、测试及管理等,从而有效提高软件开发效率。现有的构件系统有通用构件系统及嵌入式领域构件系统。通用构件系统不适用于嵌入式领域。嵌入构件系统主要有针对特定嵌入式应用定义的系统和通过剪裁通用系统功能而得到精简构件系统;前者缺少跨领域协同,而且没有足够的开发工具;后者也缺乏实时特点支持、微小节点支持等无线传感器网络领域最基本的一些属性,对于无线传感器网络小节点缺乏适应性。因此开发适用于无线传感器网络小节点应用自身特点的软件构件系统成为本发明的基础。
发明内容
无线传感器网络应用中,传感器小节点主要承担系统末端的检测和控制任务。在系统规划时,传感器小节点除了其基本的检测和控制任务外,根据实际的系统处理系统,也会被指定分担一些简单数据处理任务,并且由整个传感网络分布式地完成特定的数据处理任务,将数据处理结果汇聚到汇聚节点;系统运行时,它们按照数据规划接受控制、查询、简单处理、上报等任务,将信息传回主控系统,通常具有周期性特征和数据流特征。显然,现有的嵌入式系统中使用的软件构件系统,无论从实时性、代码规模及效率特性等诸多方面并不适用于无线传感器网络小节点应用。本发明目的在于提供一种面向无线传感器网络小节点的应用软件构件系统。该软件构件系统关注无线传感器网络应用的数据流特征、效率特征、资源受限特征和并发实时特征,适用于该领域的组装和增量式的应用软件开发。为此,本发明采用如下技术方案
一种面向于无线传感器网络小节点的应用软件构件系统,其包括如下基本元素构件、 端口、连接。构件具有自包容、向外部提供数据处理功能的特性。基本元素之一构件,构成应用系统的基本功能性组成单元。构件具有属性,用来表述构件的元信息。构件基本属性包括构件名、标准名、绑定名。构件名是构件的名字;标准名是该构件符合的标准输出标识名;绑定标识名是构件的连接绑定标识名。构件规约是通过构件描述语言对构件进行的形式化的描述,从而使得构件的使用者能够了解构件的接口及其功能。基本元素之一端口,是构件与外界连接的接口。构件的端口是实现构件组装的基础之一。其中,端口分为数据端口、控制端口两类,每个端口为输入端口或输出端口中的一种。数据端口是各种构件对数据处理的程序端口形式;控制端口是对各种构件进行控制的程序端口形式。本发明所述的构件对数据输入端口的数据进行处理后,将生成的数据从数据输出端口送出;控制输入端口是对构件的控制操作,构件可以通过控制输出端口对与它连接的构件进行控制。所述的端口的属性具体包括端口名、端口类型、端口的标准、流控标志。端口名是端口的名字;端口类型是指端口处理的信息类型,是单字、字节流、数据包、控制端口三种类型中的一种;端口标准,对于数据端口,它定义端口处理数据的意义,符合同一标准的数据端口,它们对数据的理解以及处理方式是一致的;对于控制端口,端口标准是一组函数的组合,符合同一标准的控制端口,它们的程序是一致的,包含同一组函数。控制端口标准非常多,基本系统提供基础的标准控制端口标准,用户可以自行定义控制端口标准。基本元素之一连接,是将各个构件结合的机制,表示构件之间的基本关系。构件的连接是通过构件的端口之间的连接而实现的。在利用构件进行复用时,通过对构件端口的连接进行构件组装,形成节点上运行的应用系统。对于连接,任何情况下,一个输出端口只能连接到一个输入端口上;而一个输入端口可以连接多个输出端口。只有相同端口类型和端口标准的端口间才可以连接。为了使用已有的构件组装生成应用系统,首先要描述其构件系统以及组装的要求,用三种描述文件进行描述,包括构件描述文件、组装描述文件、端口标准描述文件。本发明所述的构件系统描述文件提供的功能包括
(1)描述构件的功能和接口,方便开发人员对构件功能的理解以及对构件的使用。(3)描述构件的端口信息,方便开发人员对构件进行复用生成应用。(2)在软件工具的支持下,可以通过对规划的构件集合进行组装,实现应用的自动生成。(4)为构件管理提供构件规范描述,便于管理以及利用规约匹配来进行构件检索。其中,构件描述文件,提供构件标准化的规范和描述的功能。描述内容包括构件的基本属性、构件的端口属性。其中,组装描述文件,通过对端口间连接的描述,说明构件之间如何进行组装形成应用。描述构件间的连接其实就是描述端口间的连接。描述内容包括组成应用的各个构件信息、构件与构件间的连接信息。所述的对构件与构件间连接信息描述,是以构件的角度描述该构件的输出端口与其它构件的输入端口连接;通过对每个构件的每个输出端口的描述,描述所有连接。其中,端口标准描述文件,提供构件系统内所有端口标准特性功能的描述。数据端口标准是由开发人员自定义的;端口标准描述文件只提供对控制端口的端口标准描述的功能。端口标准描述文件,对单个端口标准的描述,是对它所包含的一组函数的描述,包括函数名、返回值、参数列表。通过建立无线传感器网络小节点的应用构件系统,可以开发符合系统规范的小节点的应用构件,并且规范化一系列的构件系统描述文件,通过构件生成工具,按照应用构件系统的定义和应用规划,就可以通过构件组装的方法自动生成相应的应用。
如图1所示是本发明所述的构件系统示意图。如图2所示为无线传感器网络应用中,按照本发明所述构件系统的构件分类。
具体实施例方式无线传感器网络应用中,传感器小节点主要承担系统末端的检测和控制任务。在系统规划时,传感器小节点除了其基本的检测和控制任务外,根据实际的系统处理系统,也会被指定分担一些简单数据处理任务,并且由整个传感网络分布式地完成特定的数据处理任务,将数据处理结果汇聚到汇聚节点;系统运行时,它们按照数据规划接受控制、查询、简单处理、上报等任务,将信息传回主控系统,通常具有周期性特征和数据流特征。显然,现有的嵌入式系统中使用的软件构件系统,无论从实时性、代码规模及效率特性等诸多方面并不适用于无线传感器网络小节点应用。本发明目的在于提供一种面向无线传感器网络小节点的应用软件构件系统。该软件构件系统关注无线传感器网络应用的数据流特征、效率特征、资源受限特征和并发实时特征,适用于该领域的组装和增量式的应用软件开发。为此,本发明采用如下技术方案
一种面向于无线传感器网络小节点的应用软件构件系统,其包括如下基本元素构件、 端口、连接。构件具有自包容、向外部提供数据处理功能的特性。基本元素之一构件,构成应用系统的基本功能性组成单元。构件具有属性,用来表述构件的元信息。构件基本属性包括构件名、标准名、绑定名。构件名是构件的名字;标准名是该构件符合的标准输出标识名;绑定标识名是构件的连接绑定标识名。构件规约是通过构件描述语言对构件进行的形式化的描述,从而使得构件的使用者能够了解构件的接口及其功能。基本元素之一端口,是构件与外界连接的接口。构件的端口是实现构件组装的基础之一。其中,端口分为数据端口、控制端口两类,每个端口为输入端口或输出端口中的一种。数据端口是各种构件对数据处理的程序端口形式;控制端口是对各种构件进行控制的程序端口形式。本发明所述的构件对数据输入端口的数据进行处理后,将生成的数据从数据输出端口送出;控制输入端口是对构件的控制操作,构件可以通过控制输出端口对与它
5连接的构件进行控制。所述的端口的属性具体包括端口名、端口类型、端口的标准、流控标志。端口名是端口的名字;端口类型是指端口处理的信息类型,是单字、字节流、数据包、控制端口三种类型中的一种;端口标准,对于数据端口,它定义端口处理数据的意义,符合同一标准的数据端口,它们对数据的理解以及处理方式是一致的;对于控制端口,端口标准是一组函数的组合,符合同一标准的控制端口,它们的程序是一致的,包含同一组函数。控制端口标准非常多,基本系统提供基础的标准控制端口标准,用户可以自行定义控制端口标准。基本元素之一连接,是将各个构件结合的机制,表示构件之间的基本关系。构件的连接是是通过构件的端口之间的连接而实现的。在利用构件进行复用时,通过对构件端口的连接进行构件组装,形成节点上运行的应用系统。对于连接,任何情况下,一个输出端口只能连接到一个输入端口上;而一个输入端口可以连接多个输出端口。只有相同端口类型和端口标准的端口间才可以连接。下面结合附图来说明本发明的具体实施方式
。如图1所示是本发明所述的构件系统示意图。从图中可见,一种面向于无线传感器网络的小节点应用软件构件系统,其基本元素包括构件、端口、连接。如图2所示为无线传感器网络应用中,按照本发明所述构件系统的构件分类。由图可见,本发明所述的构件系统的构件是各个数据处理部件,是数据的发送、接收、处理器件。根据数据处理方式的不同,把构件分为两类基本构件与连接器类构件。其中,基本构件进一步包括数据源、数据阱、收发器、过滤器、控制器;连接器类构件进一步构件包括转接器、会聚器、分流器、多路器等。所述的数据源是只发送数据的部件,一般对应于各种数据接收器和传感器。从内部系统角度,它是数据流的源点,一般有一个数据输出端口 ;
所述的数据阱是只接收数据的部件,一般对应于各种数据接收器和传感器,对应于各种数据发送器和执行部件。从内部系统角度,它是数据消失的终点,一般只有一个数据输入端□。所述的收发器是系统与外界的通讯设备,从外界接收数据作为本系统的数据源, 同时作为本系统的数据阱将本系统的数据发送到外界。所述的过滤器将输入的数据进行加工,产生输出数据。系统中的大部分构件都是过滤器ο 所述的控制器构件只有控制端口,没有数据端口。其中,连接器类构件与基本构件一样也是构件,但其目的是起连接基本构件的作用。它的端口类型、端口个数,随着连接端构件的不同而发生变化。在该领域中连接器对于规范数据流特征非常有效,通常它们的代码也比较简单。所述的转接器具有一个输入和多个输出端口,根据需要将输入的“信息”转发到某一个输出。它既可以是控制,也可以是数据。转接器还有一个控制输入端口,转接器将输入数据转接到哪一个端口完全由其控制端口指定。转接器不是多路器,它不对输入数据进行任何加工,也不能根据数据的内容向输出端口分配数据。所述的会聚器具有多个输入和一个输出,将所有的输入“信息”都会聚到一个输出中。和转接器一样,它既可以是控制,也可以是数据。会聚器还有一个控制输出端口,该端口说明输出端口输出的是哪一个输入端口的数据。当会聚器和转接器结合使用时,该控制输出端口与转接器的控制输入端口相连。单独使用时,不用做任何连接。所述的分流器具有一个输入和多个输出,将的输入端口的数据或控制转发到每一个输出端口。所述的多路器具有一个输入和多个输出。它将从输入端口得到的多路混合的输入根据数据内部的通道标记分配到与该通道对应的输出端口。为了使用已有的构件组装生成应用系统,首先要描述其构件系统以及组装的要求,用三种描述文件进行描述,包括构件描述文件、组装描述文件、端口标准描述文件。本发明所述的构件系统描述文件提供的功能包括
(1)描述构件的功能和接口,方便开发人员对构件功能的理解以及对构件的使用。(3)描述构件的端口信息,方便开发人员对构件进行复用生成应用。( 2 )在软件工具的支持下,可以通过对规划的构件集合进行组装,实现应用的自动生成。(4)为构件管理提供构件规范描述,便于管理以及利用规约匹配来进行构件检索。其中,构件描述文件,提供构件标准化的规范和描述的功能。描述内容包括构件的基本属性、构件的端口属性。其中,组装描述文件,通过对端口间连接的描述,说明构件之间如何进行组装形成应用。描述构件间的连接其实就是描述端口间的连接。描述内容包括组成应用的各个构件信息、构件与构件间的连接信息。所述的对构件与构件间连接信息描述,是以构件的角度描述该构件的输出端口与其它构件的输入端口连接;通过对每个构件的每个输出端口的描述,描述所有连接。其中,端口标准描述文件,提供构件系统内所有端口标准特性功能的描述,通常嵌在构件描述文件之中。数据端口标准是由开发人员自定义的;端口标准描述文件只提供对控制端口的端口标准描述的功能。端口标准描述文件,对单个端口标准的描述,是对它所包含的一组函数的描述,包括函数名、返回值、参数列表。构件描述文件具体格式模板示例如下 〈component name =构件名 >
对构件属性的描述 〈standard name 构件符合的标准/> <output_file name 构件连接绑定文件名/> 对构件端口的描述
<data_in 端口 a,端口属性/>,每个端口依次描述。
<data_out 端口 b,端口属性/>,每个端口依次描述。<control_in 端口 c,端口属性/>,每个端口依次描述。 <control_out 端口 dl,端口属性/>,每个端口依次描述。
</component >
组装描述文件具体格式模板示例如下 〈construct name=组装名 /> 组成应用的各个构件信息从第一个构件名称、构件系统描述文件的路径及文件名,依次描述对连接的描述(依次对构件1,-η的有连接的输出端口进行描述) 对构件1的输出端口的连接进行描述 <bind comp =构件 1>
〈port name=源端口名 dest_comp=目的构件名dest_port=目的端口名/> </bind>
对构件η的输出端口的连接进行描述 〈/construct〉
本发明所述构件系统的构件组装,采用静态绑定的方法,构件的连接实现为端口函数的宏定义的替换;编译生成代码甚至与手写代码相差无几。使用本发明所述的构件系统进行软件开发,几乎完全等同于普通的手写软件开发,不影响代码占用RAM空间的大小和代码运行速率。基于本发明所述构件系统的构件开发工具,包括构件系统、构件库、构件开发工具、构件组装工具。应用开发工具运行在支持构件开发的操作系统之上,用于搭建各个领域的应用,方便快速地进行软件开发。应用开发工具采用构件化的软件开发技术,基于发明所述的软件构件系统,以及基于系统的构件描述语言以及解析器,用于构件的生成、应用的生成,并分别实现构件为源代码模板,实现应用为构件源代码。构件组装工具以构件系统与构件库为基础,用以方便地组装生成应用。构件开发工具还可以生成构件库,为复用提供大量可用构件;再利用构件库已存在的构件,开发无线传感器网络应用程序,大量的行业与领域相关的自定义构件将会大大提高应用程序开发效率,缩短产品的开发周期,并且提高产品质量。总之,本发明把构件化的软件开发方法引入无线传感器网络领域,通过建立无线传感器网络小节点的应用构件系统,可以开发符合系统规范的小节点的应用构件,并且规范化一系列的构件系统描述文件,通过构件生成工具,按照应用构件系统的定义和应用规划,就可以通过构件组装的方法自动生成相应的应用。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种面向无线传感器网络小节点的应用构件系统,其特征在于该系统的基本构成包含构件、端口和连接关系。
2.如权利要求1所述的面向无线传感器网络小节点的应用构件系统,其中,构件构成应用构件系统的基本功能性组成单元;构件具有属性,用来表述构件的元信息;构件基本属性包括构件名、标准名、绑定名,构件名是构件的名字,标准名是该构件符合的标准输出标识名;绑定标识名是构件的连接绑定标识名。
3.如权利要求1所述的面向无线传感器网络小节点的应用构件系统,其中,端口是构件与外界连接的接口,构件的端口是实现构件组装的基础之一。
4.如权利要求1所述的面向无线传感器网络小节点的应用构件系统,其中,连接是将各个构件结合的机制,表示构件之间的基本关系;构件的连接是通过构件的端口之间的连接而实现的,在利用构件进行复用时,通过对构件端口的连接进行构件组装,形成节点上运行的应用构件系统。
5.如权利要求2所述的面向无线传感器网络小节点的应用构件系统,其中,所述的构件系统的构件是各个数据处理部件,是数据的发送、接收、处理器件。
6.如权利要求5所述的面向无线传感器网络小节点的应用构件系统,其中,根据数据处理方式的不同,把构件分为两类基本构件与连接器类构件,其中,基本构件进一步包括数据源、数据阱、收发器、过滤器、控制器;连接器类构件进一步构件包括转接器、会聚器、分流器、多路器。
7.如权利要求4所述的面向无线传感器网络小节点的应用构件系统,其中,通过连接, 把构件的一个输出端口连接到另一个构件的输入端口上,一个输出端口只能连接到一个输入端口上,而一个输入端口可以连接多个输出端口,只有相同端口类型和端口标准的端口间才可以连。
8.如权利要求7所述的面向无线传感器网络小节点的应用构件系统,其中,根据构件描述文件、组装描述文件和端口标准描述文件生成面向无线传感器网络小节点的应用,其中,构件描述文件提供构件标准化的规范和描述的功能;描述内容包括构件的基本属性、构件的端口属性,其中,组装描述文件通过对端口间连接的描述说明构件之间如何进行组装形成应用, 描述构件间的连接就是描述端口间的连接,描述内容包括组成应用的各个构件信息、构件与构件间的连接信息,所述的对构件与构件间连接信息描述是以构件的角度描述该构件的输出端口与其它构件的输入端口连接,通过对每个构件的每个输出端口的描述,描述所有连接,其中,端口标准描述文件提供构件系统内所有端口标准特性功能的描述,端口标准描述文件只提供对控制端口的端口标准描述的功能,端口标准描述文件,对单个端口标准的描述,是对它所包含的一组函数的描述,包括函数名、返回值、参数列表。
全文摘要
本发明公开了一种技术系统--面向无线传感器网络小节点的应用软件构件系统的设计,以及符合该技术系统的应用构件的生成方法。本文描述了一种面向无线传感器网络小节点的应用软件构件系统,并且基于该构件系统,描述了生成符合该软件构件系统的构件生成方法。该软件构件系统关注无线传感器网络应用的数据流特征、效率特征、资源受限特征和并发实时特征,适用于该领域的组装和增量式的应用软件开发。
文档编号H04W84/18GK102566989SQ20101059301
公开日2012年7月11日 申请日期2010年12月17日 优先权日2010年12月17日
发明者奉旭辉, 王新社, 顾玉良 申请人:北京凯思昊鹏软件工程技术有限公司