基于模型驱动和进化算法的无线传感器网络模型转换方法

文档序号:7838885阅读:171来源:国知局
专利名称:基于模型驱动和进化算法的无线传感器网络模型转换方法
技术领域
本发明涉及一种在无线传感器网络开发应用过程中使用模型驱动和生物进化算法结合的思想,模型化整个网络的功能性和非功能性领域,同时通过进化算法优化所创建模型的非功能领域,此技术属于计算机网络、人工智能和无线传感器网络的交叉领域。
背景技术
模型驱动工程体系是元对象管理组织(OMG)为解决系统对软件发展过程的依赖性而提出的一种机制,使系统设计者对整个系统的工作过程,在不同抽象层次上进行模型化,并且通过自动模型转换机制,逐步细化成为具体的业务模型,再将具体的业务模型通过代码转换机制,最终生成系统需要的代码。这使得开发人员专注于设计业务层次而无需考虑底层细节,缩短了开发人员的时间,降低了软件开发的成本,从而大大提高了传感器网络软件的开发效率。无线传感器网络正经历着一个从传统传感器一智能传感器一嵌入式Web传感器的内涵不断丰富的发展过程,同时作为一种无处不在的感知技术,具有广阔的应用前景,随着应用前景的不断扩充,以及各个应用领域功能的不断更新,系统的实现复杂度也不断增长,再者由于传感器节点的资源限制,以及一个不可预知的部署环境,使得在创建传感网应用时,必须克服一些困难的非功能性约束集。早期对无线传感器网络的应用过程采用传统的方法,在基Tinyos的无线传感器网络中,信息执行和无线通信过程使用面向组件的nesc编程来实现。这使得系统高度依赖于Tinyos的nesc平台,缺少了一定的灵活性和可移植性,并且实现的复杂度也比较大。本发明提出在传感网开发过程中使用模型驱动开发的方法,创建一个通用的元模型来模型化整个网络的功能性和非功能性领域,提高了软件系统的健壮性、可扩展性、以及可维护性、缩短了项目开发时间,节约项目的开发成本和降低项目开发风险;模型驱动方法帮助开发人员捕获系统的结构概述,但它并没有解决传感器网络的一些非功能性约束问题 (例如任务的优先调度、能耗、内存的使用情况等),针对这些问题,本发明提出了一种将模型驱动和生物进化算法结合起来的思想,针对不同网络的非功能约束集,在评估不同的约束条件和性能价值之间做出完美的权衡。无线传感器网络使用较多的是Tinyos系统和nesc语言,nesc语言是对C语言的进一步扩充,本发明首先使用统一建模语言在高层次上抽象出网络的领域模型,领域模型再通过模型转换机制,生成最终可应用的nesc元模型,使用统一建模语言描述的领域模型,具有一定的独立性和通用性,但是使用映射机制,将高度抽象的领域模型直接转换为 nesc元模型,映射过程过于复杂,有两种方式可以避免这一过程的复杂性,第一将高度抽象的领域模型细节化,避免由于高度抽象造成映射的复杂度;第二 在这两层元模型之间定义一些中间模型,先将抽象的领域模型映射成为简单的中间模型,再将简单的中间模型转换为nesc元模型。将领域模型细节化,会减少领域模型的通用性,故方式一不可选,方式二中通过一些中间层的转换,可以达到预期的目标,故在这里选取方式二;对此引入模型驱动体系,模型驱动体系将模型区分为平台无关模型和平台相关模型,它的核心思想是抽象出与实现技术无关、完整描述业务功能的平台无关模型,按照一定的转换方法,将平台无关模型转换成与具体实现技术相关的平台相关模型,最后,再将经过充实完善的平台相关模型转换成相应的元模型,将元模型通过代码转换机制生成所需的代码,代码自动生成功能使其建立起了上层业务模型与下层具体代码细节的桥梁,从而大大的减少了软件开发人员的工作量。将模型驱动工程体系和生物进化算法相结合,对无线传感器网络建立模型的同时,对模型进行优化,使得不仅对网络的功能性和非功能领域模型化,而且对所建立的模型的部分非功能约束集进行优化,保证所建立的模型可以形象、具体的描述整个网络的工作状态,同时优化和约束网络的性能,在这里提出生物进化算法,进化算法的主要思想是模拟生物界自然进化和遗传过程,本发明中的模型转换过程就是一个生物的进化和遗传过程, 将进化后的模型运用算法进行优化即可得到性能完善的模型,优化过程就是通过编码技术将问题的解进行编码,再利用选择、杂交、变异三种基本操作优化由这些串组成群体的进化过程。本专利构造了一个无线传感器网络的任务分配模型,来延长网络的生命周期。

发明内容
技术问题本发明的目的是使用模型驱动体系和生物进化算法结合的思想对无线传感器网络进行建模和优化,同时通过模型转换方法和代码生成机制生成可执行的代码, 使得开发人员专注于设计业务层次而无需考虑底层细节,解决了当前技术对系统平台的依赖性和不可移植性。技术方案本发明模型化系统的方法为首先使用统一建模语言在高层次上抽象出网络的领域模型,领域模型是对网络的功能性和非功能性领域建模,对系统进行抽象,对系统的工作过程进行建模,描述系统中的功能特性和节点的活动状态,以及节点间信息的无线传输过程,其次,根据一定的映射转换规则,将领域模型转换成平台无关模型,平台无关模型作为用户需求的形式化表述,是模型转换模块的输入部分,在这里的转换过程使用基于图的转换规则,基于图的模型转换规则把模型看作是一个图,这样模型的转换过程就可以通过图的转换来完成,再者,将平台无关模型转换成平台相关模型,在本发明中将平台无关模型转换成平台相关模型,主要采用基于Eclipse架构的转换框架,最后将平台相关模型映射成为nesc元模型,可以通过代码转换机制将映射成的nesc元模型转换成nesc代码,代码转换过程使用面向多层次的基于组件的系统类型工具。所述的生物进化算法就是对进化后的模型运用算法进行优化,即可得到性能完善的模型,优化过程延长了网络生命周期,减少网络能量消耗和均衡了网络负载。一、体系结构本发明所述的基于模型驱动体系和进化算法的无线传感器网络模型转换方法体系结构包括建立领域模型、领域模型转换成平台无关模型、平台无关模型转换成平台相关模型、平台相关模型转换成nesc元模型,其中建立领域模型使用统一建模语言进行描述, 统一建模语言的表达能力强,会避免建模过程中不必要的信息丢失,领域模型转换成平台无关模型主要采用基于图的模型转换规则,平台无关模型转换成平台相关模型主要采用基于Eclipse平台的转换框架,平台相关模型映射成nesc模型。
所述的领域模型采用Eclipse建模框架EMF,EMF是元对象管理组织设备说明书的实现,它为面向对象的分析和设计提供一个标准化的元模型,是模型驱动体系的一个重要组成部分。所述的基于图的转换规则定义为设有一标记图G = (Ne,Ee,Le),表示一个具有N 个节点,E条边的图,L是边上的标记。如果一个图K的节点集和边集是G中对应集合的子集,而且K上的标记满足从G到K上的映射,则认为K是G的一个子图,表示为K包含于G, 即图G转换为图K。所述的生物进化算法主要步骤如下(1)初始化,即随机生成一个符号串群体; (2)基于适度函数对符号串进行评价;C3)应用一组遗传操作生成一个新的符号串群体; (4)重复步骤( 和( 直至结果收敛。所述的基于Eclipse平台的转换框架,框架中的源模型符合源元模型,它只能读不能修改;目标模型符合目标元模型,但其只能写。一个完整的框架模型转换程序需要四个文件源元模型、目标元模型、源模型、模型转换实例。源模型通过转换生成的目标是目标模型,其语法结构是基于OCL 2.0定义的。二、方法流程1、定义出领域模型对无线传感器网络的领域进行建模,使用简单的无线传感器网络的概念来描述整个系统的工作状态,在这一阶段,不考虑最终的目标平台,相反,只是对系统进行抽象,对系统的工作过程进行建模,描述系统中的功能特性和节点的活动状态,以及节点间信息的无线传输过程;领域模型可以通过约束语言提高使用域的抽象级别,通过对领域建模,使得设计师避免了系统的行为在实施过程中的复杂性。领域建模分为以下步骤(1)确立问题中相似的事物(行为一样并由相同的特征来刻画)并组织成一个集合;( 把一个集合命名成一个对象;C3)确立集合中所有元素的公共特征,并命名为该集合的属性,属性可以是描述性的、命名性的和引用性的;(4)确立问题中事物之间的联系(has,is composed,composed),因为这些联系应反映在模型中;(5) 确立对象之间联系(1 :1,1 :m,m :m)。 2、领域模型转换成平台无关模型平台无关模型是反映系统的主要业务的模型,是对业务需求的一种纯理论的反映,根据准确的需求分析得到的结果来进行建模,这个模型设计好后,可以供其它系统重复使用。根据一定的映射转换规则,将领域模型转换成平台无关模型,平台无关模型作为用户需求的形式化表述,是模型转换模块的输入部分。它一方面包含Web应用开发人员对生成的Web目标系统模型的编辑信息,另一方面也符合模型转换器要求的输入模型规范;转换过程使用基于图的模型转换方法。基于图的模型转换方法把模型看作是一个图,这样模型的转换就可以通过图的转换来完成。基本思想是一般把设计的类UML模型看作是一个标记图,运用图转换规则来实现模型的转换。转换规则为根据定义,设有一标记图G = (Ng, Eg, Lg),Eg — NgXNg,如果有一个映射W,能把节点和边从G映射到K (K= (Nw, Ew, Lw)),并且维持标记,则定义为子图K是G 上的一个实现。
转换规则表示为r = (M,R,A,C),r =Ng U & — Nw,其中M = (N,E,L)是一个命名为匹配方案的图,R = (Ne, Ee, Le)是要删除的内容,其中A = (Na, Ea, La)表示被增加的部分,C是规则适应条件。给定图G和转换规则r= (M,R,A,c),运用转换规则得到结果图的步骤可以分为4步(1)选择一个匹配模式在G上的出现;(2)检查条件C是否成立;(3)从图G中删除R中的部分,与删除节点相关的边也要被删除;(4)在图G中增加A中的部分,与增加边相关的节点也要被增加;图转换就是把转换规则反复运用到图上,每条转换规则通过匹配指定的图模式, 增加或删除转换规则中描述的元素,把一个图转换为另一个图。 3、平台无关模型转换成平台相关模型平台相关模型是将平台无关模型通过模型规则转换成与特定技术和平台相关的模型。平台无关模型可以转换成一个或多个平台相关模型。在本发明中将平台无关模型转换成平台相关模型,主要采用基于Eclipse平台的转换框架,架构转换语言(Architecture Transformation Language)描述,架构转换语言是一种说明式(declarative)和命令式 (imperative)混合的转换语言,在基于元模型间映射的模型转换方法中运用架构转换语言转换时需要手工输入源元模型、目标元模型、源模型和规则文件,源模型通过转换生成的目标是目标模型,其语法结构是基于OCL 2.0定义的,适用于表达模型驱动框架中的模型转换。4、平台相关模型映射成nesc元模型映射成的nesc元模型主要包括模块和接口,以及各个模块之间的关系,另外Main 模块在设计过程中是必不可少的,该模块在应用程序启动时被调用,负责初始化其他模块, 包含一些初始化和启动命令,为了把上述定义的各个模块的接口关联起来,高层次的配置必须被定义,模块提供和使用接口,模块提供的接口必须实现命令,使用的接口必须处理事件。5、生物进化算法的优化过程进化算法模拟生物界自然进化和遗传过程,在本发明中模型的转换过程是一个生物的进化和遗传过程,将进化后的模型运用算法进行优化得到性能完善的模型,优化过程是通过编码技术将问题的解进行编码,再利用选择、杂交、变异三种基本操作优化由这些串组成群体的进化过程,本发明构造一个无线传感器网络的任务分配模型,来延长网络生命周期。无线传感器网络任务分配问题假设一个无线传感器网络由m个传感器组成,有η 个独立任务要竞争使用传感器器,则任务分配的目标是要把这η个任务合理地分配到这m 个传感器上执行,使总完成时间最小,具体的估计执行时间可以用一个nXm的矩阵EXT来表示,其中的元素EXTu表示任务i在传感器j上的估计执行时间。为便于描述,这里用另一个nXm的矩阵SOL来表示任务在传感器网络的分配方案,其中元素为1表示第i个任务分配给第j个传感器,为0表示第i个任务不分配给第个j传感器。步骤1 传感器Sj的执行时间为分配到该传感器上的所有任务完成时间之和
权利要求
1.一种基于模型驱动和进化算法的无线传感器网络模型转换方法,其特征在于通过模型转换和优化,产生可转换代码的模型,再通过代码生成机制,产生可执行的代码,首先利用统一建模语言,建立领域模型,其次通过模型驱动体系的方法,将领域模型转换成平台无关模型,将平台无关模型转换为平台相关模型,最后平台相关模型转换为可生成代码的模型,最后通过代码换换工具将可生成代码的模型转换为代码,所述的方法包含的步骤为步骤1)定义领域模型使用领域相关语言对无线传感器网路的工作过程进行抽象,并建出模型,领域模型主要是对网络的功能性和非功能性领域建模,对系统进行高度抽象,对系统的工作过程清晰的进行建模,描述系统中的功能特性和节点的活动状态,以及节点间信息的无线传输过程;步骤2)优化领域模型利用进化算法建立适应函数,优化领域模型,构造一个无线传感器网络的任务分配模型,将任务进行编码,通过遗传、杂交等手段来延长网络生命周期, 均衡网络的负载;步骤3)模型转换过程和进化算法优化过程无线传感网络的模型转换过程,将领域模型通过基于图的转换规则,生成平台无关模型,运用进化算法优化生成的平台无关模型, 将平台无关模型通过架构转换模块,生成平台相关模型,优化平台相关模型,将平台相关模型通过映射机制,生成可以转换成代码的元模型,优化生成的元模型。
2.如权利要求1所述的基于模型驱动和进化算法的无线传感器网络模型转换方法,其特征在于定义领域模型,由统一建模语言进行对整个无线传感器网络进行建模,对网络的信息传递过程以及信息执行、任务分配方式进行建模。
3.如权利要求1所述的基于模型驱动和进化算法的无线传感器网络模型转换方法,其特征在于优化领域模型,优化领域模型主要采用生物进化算法对转换成的模型进行优化, 利用编码技术将问题的解进行编码,再利用选择、杂交、变异三种基本操作优化由这些串码组成的群体,最后得到优化的模型。
4.如权利要求1所述的基于模型驱动和进化算法的无线传感器网络模型转换方法,其特征在于模型转换过程和进化算法优化过程包括三个阶段第一个阶段是将定义的领域模型转换成平台无关模型,同时进行优化;第二个阶段是将映射成的平台无关模型转换成平台相关模型,同时进行优化,第三个阶段是将平台相关模型转换成可生成代码的元模型,同时进行优化。
全文摘要
本发明是一种基于模型驱动和进化算法的无线传感器网络模型转换方法,通过模型转换和优化,产生可转换代码的模型,再通过代码生成机制,产生可执行的代码,首先利用统一建模语言,建立领域模型,其次通过模型驱动体系的方法,将领域模型转换成平台无关模型,将平台无关模型转换为平台相关模型,最后平台相关模型转换为可生成代码的模型,最后通过代码换换工具将可生成代码的模型转换为代码,本发明使得开发人员专注于设计业务层次而无需考虑底层细节,缩短了开发人员的时间,降低了软件开发的成本,从而大大提高了传感器网络软件的开发效率。
文档编号H04W16/22GK102547776SQ20121000616
公开日2012年7月4日 申请日期2012年1月10日 优先权日2012年1月10日
发明者岳文静, 梁小芮, 陈志 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1