面向无中心建筑智能化系统的编程模型技术方案

技术编号:20362475 阅读:18 留言:0更新日期:2019-02-16 16:21
本发明专利技术涉及一种面向无中心建筑智能化系统的编程模型,该模型结合无中心建筑智能化系统架构的特征,定义了建筑单元、社区编程抽象。其中,建筑单元是无中心系统中参与建筑应用任务的建筑实体单元的软件抽象,用来描述建筑实体单元的本地应用任务;而社区是功能上相互关联、共同参与某项网络计算任务的建筑单元集合的软件抽象,用来描述网络计算任务。其次,该模型采用事件触发机制、基于活动的执行机制、社区交互机制,使得建筑应用软件能够适应网络拓扑和节点数目的变化,在降低无中心建筑智能化系统网络编程复杂性的同时,具有较高的可移植性和健壮性,能够满足无中心建筑智能化系统的编程要求。

【技术实现步骤摘要】
面向无中心建筑智能化系统的编程模型
本专利技术涉及一种用于扁平化分布式系统的编程模型
,尤其涉及一种面向无中心建筑智能化系统的编程模型。
技术介绍
无中心建筑智能化系统(简称无中心系统)是一个由基于空间分布、地位平等的无中心计算节点(ComputingProcessNode,CPN)连接而成的并行计算网络系统。它将建筑按照空间分布和功能特性划分成多个建筑单元,包括基本空间单元和各类机电设备单元,每个建筑单元由一个CPN来负责管理。并在CPN中内置了一套的建筑标准化数据集(简称标准数据集),它涵盖了建筑运行中所需要的各类信息,对外开放,并希望成为行业标准。与传统的集散控制系统(DistributedControlSystem,DCS)或现场总线控制系统(FieldControlSystem,FCS)相比较,这种扁平化、分布式的系统架构解决了现场配置工作量大、易出错、升级改造困难、跨系统信息共享难以实现等难题。无中心系统改变了传统建筑智能化系统的开发方式,要求建筑应用软件具有较高的可移植性和健壮性,从而实现将软件开发和建筑系统组态相分离。为此,编程模型应该满足如下要求:1)要满足“建筑设备控制管理间歇性”的需求。建筑智能化系统中建筑设备的运行管理具有周期性或者人为主观因素的偶然性。传统建筑智能化系统的解决方案依赖于定时器和其他硬件中断的响应式编程(ReactiveProgramming)。而在无中心系统中,开发人员直接面向标准数据集,无法对CPN硬件进行控制管理。因此,需要在编程模型层面引入相应的机制来满足响应式编程的需求。2)要满足“建筑单元类型多样性”的需求。在无中心系统中,一项建筑应用任务可能会涉及多种类型的建筑单元,且同种类型的建筑单元一般具有平等的地位、执行相同的程序,而不同类型的建筑单元则差异性较大,需要一种合理的任务组织方式来为此特性提供支撑,从而降低编程的复杂性。3)要满足“应用软件与网络结构无关性”的需求。不同建筑的无中心系统网络拓扑、节点数量和节点地址各不相同。编程模型需要让建筑应用软件能够适应各种复杂的网络结构。4)要满足“网络计算任务执行域边界性”的需求。无中心系统中的网络计算任务通常具有“边界性”,即一项网络计算任务只需要部分建筑单元参与,需要在编程模型层面提供灵活的执行域定义方法,以圈定网络计算任务的执行范围。然而,传统的编程方式(如C语言)主要面向单指令流和内存共享式的计算机,无法满足无中心系统网络并行编程的需求。在分布式内存并行计算机和集群网络中有着广泛应用的消息传递模型MPI(MessagePassingInterface),由于需要显示指定通信地址,程序的可移植性和健壮性不高,无法满足无中心系统应用软件开发与建筑系统组态相分离的要求。此外,一些面向无线传感器网络和多Agent系统的编程模型,虽然对网络并行编程和“无地址交互”提出了不同的解决方案,但是由于领域之间固有的鸿沟,这些方法也不能直接为无中心系统编程提供有效的支持。
技术实现思路
基于
技术介绍
存在的技术问题,本专利技术提出一种符合无中心建筑智能化系统编程特点的编程模型,使其能够提高无中心建筑应用软件的可移植性和健壮性,降低编程的复杂度。一种面向无中心建筑智能化系统的编程模型,该模型包括建筑单元和社区及其动态运行机制;所述建筑单元是无中心系统中参与建筑应用任务的建筑实体单元的软件抽象,用来描述建筑实体单元的本地应用任务;所述社区是功能上相互关联、共同参与某项网络计算任务的建筑单元集合的软件抽象,用来描述需要多个建筑实体单元参与的网络计算任务;所述动态运行机制主要包括事件触发机制、基于活动的执行机制和社区交互机制。优选的,在一个建筑应用软件(APP)中可定义多个建筑单元和社区,所述建筑单元和所述社区之间是多对多关系,一个所述建筑单元可以加入多个所述社区,一个所述社区可以存在多种不同类型的所述建筑单元。优选的,所述建筑单元由建筑单元名称、约束、标准数据、共享变量、事件和本地活动构成;建筑单元名称:由开发人员指定,作为不同类型建筑单元之间区分彼此的标识,在APP中具有唯一性;约束:为准确描述建筑单元而定义的一系列约束条件,用来作为所述建筑单元的激活条件;标准数据:对标准数据集中的数据所进行的引用声明;共享变量:作用域是整个建筑单元的变量,用于本地活动之间通信;事件:由开发人员定义的本地活动触发条件,可以用来实现对标准数据、共享变量等信息的监测;本地活动:包含本地操作且功能相对独立的程序模块。优选的,所述社区由社区名称、社区定义规则、建筑单元属性、交互变量、事件、交互活动构成;社区名称:由开发人员指定,作为不同的社区之间区分彼此的标识,在APP中具有唯一性;社区定义规则:指定参加社区的节点所要满足的约束条件,需要指定建筑单元类型集合T、建筑单元之间耦合关系R和虚拟号V;建筑单元属性:是社区中的隐含属性,不需要在社区中显式地定义或声明,加入社区的建筑单元中的标准数据和共享变量可以直接在社区中使用;交互变量:用于建筑单元通信的专用变量,每个交互变量存储着本节点和相邻节点的数据值;交互活动:是建筑单元参与某项网络计算任务时所执行的程序模块,社区中的所有建筑单元通过执行相同的交互活动来共同完成一项网络计算任务;事件:由开发人员定义的交互活动触发条件,可以用来实现对标准数据、共享变量等信息的监测。优选的,所述事件触发机制包括如下步骤:S1:用户将活动感兴趣的数据信息封装成事件,并将其注册到TOS操作系统的事件队列中;S2:TOS操作系统对事件进行统一管理,并根据事件需求实时地侦听标准数据集中的数据状态;S3:当TOS查询到事件发生时,将事件发布给活动,激活其处理程序。优选的,所述基于活动的执行机制中本地活动和交互活动都能够以事件触发的方式激活;本地活动之间或者本地活动与交互活动之间支持以控制依赖关系来明确控制流。优选的,本地活动与交互活动之间支持抢占式控制依赖关系,本地活动在执行的过程中可以激活交互活动,当前本地活动会被阻塞,直到交互活动执行完毕。优选的,交互活动可以被其他节点发送的社区生成消息所激活,发起节点的交互活动执行完毕后会跳转至本地活动,而非发起节点的交互活动执行完后会直接结束。优选的,所述社区交互机制主要包括三个阶段:初始化阶段:用于生成社区有向树,并确定每个节点的邻域关系;交互阶段:本质上是一个循环体,每一次循环都要与相邻节点进行交互,直到满足终止条件为止,节点间传递消息通过交互变量来完成;结果处理阶段:对交互阶段的计算结果作进一步的处理。优选的,所述社区有向树的生成步骤如下:S1:网络计算任务的发起节点激活交互活动,向其他节点发送社区生成消息;S2:安装相同APP的节点收到消息后,激活自身的交互活动;S3:根据社区定义规则判断是否加入该社区;S4:加入社区的每个节点都会保留相邻社区节点的编号,并继续向其他节点转发社区生成消息;S5:通过社区生成消息在网络中的扩散,最终生成一个社区有向树与现有技术相比,本专利技术具有的有益效果在于:本专利技术提出一种面向无中心建筑智能化系统的编程模型,“建筑单元”、“社区”编程抽象更加符合领域专家的思维习惯,弥补了应用软件与底层体系结构之间的鸿沟,降低了编程难度;基于事件触发的运行机制本文档来自技高网
...

【技术保护点】
1.一种面向无中心建筑智能化系统的编程模型,其特征在于,该模型包括建筑单元和社区及其动态运行机制;所述建筑单元是无中心系统中参与建筑应用任务的建筑实体单元的软件抽象,用来描述建筑实体单元的本地应用任务;所述社区是功能上相互关联、共同参与某项网络计算任务的建筑单元集合的软件抽象,用来描述需要多个建筑实体单元参与的网络计算任务;所述动态运行机制主要包括事件触发机制、基于活动的执行机制和社区交互机制。

【技术特征摘要】
1.一种面向无中心建筑智能化系统的编程模型,其特征在于,该模型包括建筑单元和社区及其动态运行机制;所述建筑单元是无中心系统中参与建筑应用任务的建筑实体单元的软件抽象,用来描述建筑实体单元的本地应用任务;所述社区是功能上相互关联、共同参与某项网络计算任务的建筑单元集合的软件抽象,用来描述需要多个建筑实体单元参与的网络计算任务;所述动态运行机制主要包括事件触发机制、基于活动的执行机制和社区交互机制。2.根据权利要求1所述的一种面向无中心建筑智能化系统的编程模型,其特征在于,该模型可定义多个建筑单元和社区,所述建筑单元和所述社区之间是多对多关系,一个所述建筑单元可以加入多个所述社区,一个所述社区可以存在多种不同类型的所述建筑单元。3.根据权利要求1所述的一种面向无中心建筑智能化系统的编程模型,其特征在于,所述建筑单元包括:建筑单元名称:由开发人员指定,用于区分不同类型的建筑单元且具有唯一性;约束:为准确描述建筑单元而定义的一系列约束条件,用来作为所述建筑单元的激活条件;标准数据:对标准数据集中的数据所进行的引用声明;共享变量:作用域是整个建筑单元的变量,用于本地活动之间通信;事件:由开发人员定义的本地活动触发条件,可以用来实现对标准数据、共享变量等信息的监测;本地活动:包含本地操作且功能相对独立的程序模块。4.根据权利要求1所述的一种面向无中心建筑智能化系统的编程模型,其特征在于,所述社区包括:社区名称:由开发人员指定,用于区分不同的社区且具有唯一性;社区定义规则:指定参加社区的节点所要满足的约束条件,需要指定建筑单元类型集合T、建筑单元之间耦合关系R和虚拟号V;建筑单元属性:是社区中的隐含属性,不需要在社区中显式地定义或声明,加入社区的建筑单元中的标准数据和共享变量可以直接在社区中使用;交互变量:用于建筑单元通信的专用变量,每个交互变量存储着本节点和相邻节点的数据值;交互活动:是建筑单元参与某项网络计算任务时所执行的程序模块,社区中的所有建筑单元通过执行相同的交互活动来共同完成一项网络计算任务;事件:由开发人员定义的交互活动触发条件,可以用来实现...

【专利技术属性】
技术研发人员:杨启亮薛广通邢建春
申请(专利权)人:中国人民解放军陆军工程大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1