一种云平台下的分布式系统行为仿真分析系统的实现方法

文档序号:10725278阅读:191来源:国知局
一种云平台下的分布式系统行为仿真分析系统的实现方法
【专利摘要】本发明公开了一种云平台下的分布式系统行为仿真分析系统的实现方法,首先搭建或选用系统所需要的云平台环境,将基于行为树的分布式系统模型的XML文件存入HDFS文件系统中;评估分析仿真任务的复杂度,并决定是否将任务放在云平台下运行;根据相应的key值分配reduce,并行处理后的结果经Reduce汇总后计算全局搜索结果;在main函数中,设置云平台相关参数包含文件路径、map函数、reduce函数,启动云计算过程;最后从云计算的结果文件中获取结果并输出到图形用户界面。本发明能够有效的提高复杂路径搜索过程的执行效率。
【专利说明】
一种云平台下的分布式系统行为仿真分析系统的实现方法
技术领域
[0001]本发明涉及系统建模与仿真分析技术领域,尤其是一种云平台下的分布式系统行为仿真分析系统的实现方法。
【背景技术】
[0002]随着计算机技术及通信技术的发展,各类装置的处理能力不断增强,它们除了处理本身的任务外还可为临近的其它装置提供服务,实现分布式功能。分布式系统可简化系统结构、提供系统综合应用信息的能力、从而提高系统的智能特性,分布式系统已成为工业领域的研究热点。
[0003]随着工业自动化技术的发展,分布式系统的应用越来越广泛。分布式系统一般需要通过多个的装置通过协作交互完成整体的分布式功能。在对装置间的配合关系进行分析前直接投入使用,可能会导致严重的系统故障。为了对分布式系统中多个装置协作交互的逻辑合理性、实时性和可靠性进行分析并实现模型系统的仿真运行,为分布式系统设计提供指导。研发能够完成分布式系统建模与仿真分析工具具有重要意义。它能够在很大程度上降低分布式系统的运行风险,缩短开发周期。
[0004]目前多数形式化分析工具对系统行为的建模过程十分复杂,不便于实现对分布式设备及其由其构成的分布式系统行为的建模与仿真分析。工程领域急需一种模型简单、描述能力强、易于实现系统仿真运行与验证分析的工具,以便对分布式系统的设计提供更全面准确的评价。行为树模型具有较强的设备和系统行为建模能力,且具有严格的形式语义和良好的层次特性,可采用图形化的方法方便地实现装置及由其构成的分布式系统的建模与分析。但是,由于一些系统仿真分析过程中的路径求解的搜索空间大、效率低,单机版的仿真分析工具需要很长的时间才能得到运行结果,不适合复杂系统的建模与仿真分析。

【发明内容】

[0005]本发明要解决的技术问题是提供一种云平台下的分布式系统行为仿真分析系统的实现方法,适用于指导云平台下实现分布式系统的形式化建模与仿真分析系统的实现,通过该方法可实现云平台下基于行为树的仿真分析系统,能够有效的提高复杂路径搜索过程的执行效率。
[0006]为解决上述技术问题,本发明所采取的技术方案如下。
[0007]—种云平台下的分布式系统行为仿真分析系统的实现方法,首先搭建或选用系统所需要的云平台环境,将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中;评估分析仿真任务的复杂度,并决定是否将任务放在云平台下运行;对于搜索空间较大的问题预先将搜索空间划分后存为单独的搜索子树文件,并设计相应的Map类给出其搜索算法;根据相应的key值分配reduce,并行处理后的结果经Reduce汇总后,将运行结果与上述Map划分前的搜索图形相结合,计算全局搜索结果;在main函数中,设置云平台相关参数包含文件路径、map函数、reduce函数,启动云计算过程;最后从云计算的结果文件中获取结果并输出到图形用户界面。
[0008]作为本发明的一种优选技术方案,该方法包含如下步骤:
步骤1:采用图形化编辑工具完成分布式系统的行为建模,并存储为XML文件格式;
步骤2:搭建或选用系统所需要的云平台环境,将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中;
步骤3:评估分析仿真任务的复杂度,结果决定是否将任务放在云平台下运行;
步骤4:对于简单仿真任务的分析,无需将模型文件分解,直接采用java单机程序完成模型仿真运行;
步骤5:对于搜索空间较大的问题将搜索空间划分后存为单独的文件,即搜索子树,并设计相应的Map类给出其搜索算法;
步骤6:根据相应的key值分配reduce,并行处理后的结果经Reduce汇总后,将运行结果与Map划分前的搜索图形相结合,计算全局搜索结果;
步骤7:在main函数中,设置云平台相关的参数包含文件路径、map函数、reduce函数,启动云计算过程;
步骤8:从云计算的结果文件中获取结果并输出到图形用户界面;
步骤9,将搜索结构的路径输出到图形用户界面,并允许用户按照搜索到的路径进行仿真运行;
步骤10:实现模型中行为定义的外部java编程接口,使仿真工具能够调用自定义函数。
[0009]作为本发明的一种优选技术方案,所述步骤I包含以下步骤:
步骤11:建立典型的行为树元素:原子节点、条件选择、一般选择、顺序、并行、状态面板所对应图元的图形符号,设计每种图元的属性及其取值范围,同时每种图元设计两种颜色用于区分当前运行节点和其它节点,用于在仿真运行中使用;
步骤12:建立各图元及其属性与相应的XML节点及其属性间的对应关系;
步骤13:设计基于GEF的图形编辑接口,图形编辑接口允许用户从给定的图元中通过鼠标拖拽实现模型编辑,并可通过点击图元对其属性进行设置,拖入图元后仿真工具记录该元素到图元数组中;
步骤14:设计实现图形中图元间的连接关系,图元间的父子关系通过将图元连接在一起实现设置,两个图元连接后仿真工具记录该连接关系到连接关系数组中。
[0010]作为本发明的一种优选技术方案,所述步骤2包含以下步骤:
步骤21:采用Hadoop的分布式文件系统HDFS作为系统的云平台环境;
步骤22:设置HDFS的Master/Slave集群架构,设置hadoop的NameNode相关配置,复制hadoop系统到所有DataNode节点,启动HDFS;
步骤23:将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中。
[0011]作为本发明的一种优选技术方案,所述步骤3中,对于仿真问题或搜索空间较小的问题,搜索子树的层数与每层的子树数量的乘积小于100,直接转步骤4执行;对于搜索空间较大的问题,将搜索空间划分为搜索子树,即云平台下的map方法,并形成单独的XML表示的数据文件在云平台下使用;其中子树划分策略为:
步骤31:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片,假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4 ; 步骤32:若每一个分片的搜索空间仍然很大,还需要继续分解;用户设定最大的分片数量,若分片数达到用户设定的最大分片树时,不再继续分解,转步骤5执行。
[0012]作为本发明的一种优选技术方案,所述步骤4包含以下步骤:
步骤41:将模型所对应的XML文档读入内存,从行为树的root类型节点开始扫描,根据其节点的控制类型决定待扫描的下一节点,运行中利用行为链表记录已发生的原子行为序列;
步骤42:若节点的控制类型为顺序关系,则将其下的所有子节点放入待扫描队列;
步骤43:若节点的控制类型为一般选择关系,则检查其子节点的原子行为是否在已运行的原子行为序列中;若有一个子行为的原子行为在序列中,则选择该子树执行;若多个子行为的第一个原子行为都在已运行的序列中,则选择其原子行为先发生的子行为执行;若所有子行为的第一个原子行为均未发生,则该行为的执行陷入阻塞状态;
步骤44:若节点的控制类型为条件选择关系,则检查状态面板中变量的取值状态是否满足条件,满足条件执行相应的行为,不满足条件则执行其它相应行为;
步骤45:若节点的控制类型为并行关系,则同时启动多个线程分别运行其多个子节点,多个子节点中相同名称的事件同步运行;
步骤46:若节点的类型为原子行为,则直接执行相应的原子行为动作;
步骤47:每一步均需记录状态面板中变量的变化。
[0013]作为本发明的一种优选技术方案,所述步骤5包含以下步骤:
步骤51:对于搜索空间较大的问题,将搜索空间划分为搜索子树,即云平台下的map方法,形成单独的XML表示的数据文件在云平台下使用;其中,子树划分方法为:
步骤511:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片。假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4 ;步骤512:每一个分片的搜索空间仍然很大,还需要继续分解;用户设定最大的分片数量;若分片数达到用户设定的最大分片树时,不再继续分解;
步骤52:设计实现相应的map处理类及其方法,用于完成最大值、最小值或某种代价的计算。
[0014]作为本发明的一种优选技术方案,所述步骤6包含以下步骤:
步骤61:根据map处理中的key的设置情况,制定相应的Reduce分配策略;
步骤62:设计实现相应的Reduce处理类及其方法,其结果与步骤3中Map划分情况结合,计算全局搜索结果。
[0015]作为本发明的一种优选技术方案,所述步骤10包含以下步骤:
步骤101:实现模型中行为定义的外部java编程接口,使仿真工具能够调用用户自定义的函数;
步骤102:提供动态链接库的调用接口,运行用户在原子行为中调用的动态链接库中的函数;
步骤103:提供运行结果的传输方法,自定义函数的运行结果需要指定传输到状态面板中的变量;
步骤104:在对XML模型进行仿真运行的过程中,若遇到采用用户自定义函数定义的原子行为,则调用该自定义函数并将结果记录到状态面板中。
[0016]采用上述技术方案所产生的有益效果在于:本发明能够实现一种高效的云平台下的仿真分析系统,完成分布式系统中装置及系统的行为建模,并为交互逻辑合理性、实时性和可靠性分析提供帮助。本发明不仅能够指导云平台下的分布式系统行为仿真分析系统的实现、还能指导所建模型的仿真运行与各种路径的求解分析;方法采用java语言及Eclipse的GEF插件开发图形编辑器完成模型编辑,并可对图形所对应的行为树模型进行遍历仿真和计算分析;本发明的方法中系统的仿真运行部分采用单机程序完成,最优路径的求解则采用云平台完成,以便提高系统的运行效率;本发明可为云平台下分布式系统的仿真分析系统的实现提供指导,对分布式系统的工程设计具有重要意义。
【附图说明】
[0017]图1是简单带权有向图。
[0018]图2是简单搜索树图例。
[0019]图3是图2中搜索树划分为四棵搜索子树。
[0020]图4是图3中nl子树的XML文档格式。
[0021]图5是云平台下的搜索过程。
【具体实施方式】
[0022]实施例1、本发明的主体实施步骤。
[0023]本发明的基本思路是,首先提供一种行为树图形编辑器,用于采用图形化的方法建立装置及系统的模型;将系统模型转化为XML文档并将其存入Hadoop分布式文件系统(HDFS)中,文件中包含模型中的所有节点及其相互关系;对XML文档进行搜索和仿真,根据行为树的控制逻辑选择执行路径,同时在执行过程中假定被搜索的过程即行为的执行过程,并对执行后的结果进行记录。在需要对模型进行可达性、实时性和可靠性分析时,需要采用云平台对搜索空间采用Map方式进行划分后并行执行搜索任务,并采用Reduce对各个局部搜索空间的数据进行汇总,形成最终的搜索结果。本发明的主体操作步骤包括:
步骤1:采用专用工具对模型进行编辑,将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中;
步骤2:对于仿真过程相对简单,无需将模型文件分解,可直接采用java单机程序完成模型仿真运行。模型仿真过程中每一步的原子行为及状态面板至图形用户界面;
步骤3:对于搜索空间较大的问题需要将搜索空间划分后存为单独的文件(即搜索子树),并设计相应的Map类给出其搜索算法;
步骤4:并行处理后的结果经Reduce汇总后,需要将运行结果与步骤3中Map划分前的搜索图形相结合,计算全局搜索结果;
步骤5:在main函数中,设置云平台相关的参数如文件路径、map函数及reduce函数等,启动云计算过程;
步骤6:从云计算的结果文件中获取结果并输出到图形用户界面。
[0024]其中,所述步骤I包含以下步骤:
步骤11:给出行为树的基本元素所对应的图元(包含一种叶子节点和条件选择、事件选择、顺序及并发等四种子树及一个状态面板),用于完成分布式系统的装置及系统行为建模;
步骤12:采用java语言及GEF插件完成基于上述图元的图形编辑器,为用户提供可自由编辑的建模环境;
步骤13:根据行为树中相关图元的定义建立行为树模型的XML约束,并生成相关XSD文件;
步骤14:根据用户所绘制的行为树模型,将用户所建模型中的图元一一对应到XML元素上,实现模型图到XML文件的转换。
[0025]其中,所述步骤2包含以下步骤:
步骤21:首先区分验证分析任务是否涉及复杂的多层级选择情况。本发明中认为复杂的多层级选择情况为:若每层的可选择子树数为n,搜索层数为m,且m*n>100,并根据任务的复杂度选择相应的执行策略;
步骤22:若验证分析任务不涉及复杂的多层级选择情况或任务为系统仿真,则选择单机程序(单机程序的具体实现方法不在本发明范围)完成分析或仿真任务,不再执行后续步骤;
步骤23:若验证分析任务涉及复杂的多层级选择情况,则选择云平台完成分析或仿真任务,即转入后续步骤执行。
[0026]其中,所述步骤3包含以下步骤:
步骤31:对于搜索空间较大的问题,需要将搜索空间划分为搜索子树(即云平台下的map方法),并形成单独的XML表示的数据文件,以便在云平台下使用。本发明中的子树划分方法为:
步骤311:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片。假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4 ;步骤312:每一个分片的搜索空间仍然很大,还需要继续分解;用户可设定最大的分片数量;若分片数达到用户设定的最大分片树时,不再继续分解,转步骤4执行;
步骤32:设计实现相应的map处理类及其方法,用于完成最大值、最小值或某种代价的计算。
[0027]其中,所述步骤4包含以下步骤:
步骤41:根据map处理中的key的设置情况,制定相应的Reduce分配策略;
步骤42:设计实现相应的Reduce处理类及其方法,结果与步骤3中Map划分情况结合,计算全局搜索结果。
[0028]实施例2、本发明的详细实施步骤。下面结合附图,对本发明的优选实施方式作详细说明。
[0029]本发明的目标是提供一种云平台下的分布式系统行为仿真分析系统的实现方法,以解决单机版基于行为树模型的仿真验证工具的搜索效率低的问题。模型仿真系统首先需要提供的是基于XML的系统建模接口,然后需要能对模型进行仿真和验证分析,输出各类计算结果。在遇到复杂的搜索问题时,采用云平台下的MapReduce编程模型进行实现。以图1中的简单有向有环图为例进行说明,若需要计算从任意点出发遍历所有节点的最短路径。采用简单的全局搜索策略,可得到图2所示的搜索树。图2中的搜索数的复杂程度低,不需要进行云平台计算,但是为了说明本发明的步骤,下面以图2中的搜索树为例进行说明。将图2中的搜索树可分为图3中的4棵子树。每棵子树中的数据用XML文件存储,图3中η I子树的XML文件如图4所示。将搜索子树存入HDFS文件系统后可按图5所示步骤完成云平台下的路径搜索过程。
[0030]本发明的详细实施步骤如下:
步骤1:采用图形化编辑工具以便完成分布式系统的行为建模,并存储为XML文件格式;步骤2:搭建或选用系统所需要的云平台环境,将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中;
步骤3:评估和分析或仿真任务的复杂度,并决定是否将任务放在云平台下运行;
步骤4:对于仿真或简单任务的分析,无需将模型文件分解,可直接采用java单机程序完成模型仿真运行;
步骤5:对于搜索空间较大的问题需要将搜索空间划分后存为单独的文件(即搜索子树),并设计相应的Map类给出其搜索算法;
步骤:6:根据相应的key值分配reduce,并行处理后的结果经Reduce汇总后,需要将运行结果与步骤4中Map划分前的搜索图形相结合,计算全局搜索结果;
步骤7:在main函数中,设置云平台相关的参数如文件路径、map函数及reduce函数等,启动云计算过程;
步骤8:从云计算的结果文件中获取结果并输出到图形用户界面;
步骤9,将搜索结构的路径输出到图形用户界面,并允许用户按照搜索到的路径进行仿真运行;
步骤10:实现模型中行为定义的外部java编程接口,使得仿真工具能够调用自定义函数。
[0031]所述步骤I包含以下步骤:
步骤11:建立典型的行为树元素(原子节点、条件选择、一般选择、顺序、并行和状态面板)所对应图元的图形符号,设计每种元素的属性及其取值范围;每种图元设计两种颜色用于区分当前运行节点和其它节点,用于在仿真运行中使用;
步骤12:建立各图元、属性与相应的XML节点、属性间的对应关系;
步骤13:设计基于GEF的图形编辑接口,图形编辑接口允许用户从给定的图元中通过鼠标拖拽实现模型编辑,并可通过点击图元对其属性进行设置,拖入图元后仿真工具记录该元素到图元数组中;
步骤14:设计实现图形中图元间的连接关系,图元间的父子关系可通过将图元连接在一起实现设置,两个图元连接后仿真工具记录该连接关系到连接关系数组中。
[0032]所述步骤2包含以下步骤:
步骤21:搭建或选用系统所需要的云平台环境,本发明中使用Hadoop的分布式文件系^cHDFS;
步骤22:设置HDFS的Master/Slave集群架构,设置hadoop的NameNode相关配置,复制hadoop系统到所有DataNode节点,启动HDFS;
步骤23:将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中。
[0033]所述步骤3包含以下步骤:
步骤31:对于仿真问题或搜索空间较小的问题(搜索子树的层数与每层的子树数量的乘积小于100)直接转步骤4执行;对于搜索空间较大的问题,需要将搜索空间划分为搜索子树(即云平台下的map方法),并形成单独的XML表示的数据文件,以便在云平台下使用;本发明中的子树划分策略为:
步骤311:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片;假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4 ;步骤312:每一个分片的搜索空间仍然很大,还需要继续分解;用户可设定最大的分片数量;若分片数达到用户设定的最大分片树时,不再继续分解,转步骤5执行。
[0034]所述步骤4包含以下步骤:
步骤41:将模型所对应的XML文档读入内存,从行为树的root类型节点开始扫描,根据其节点的控制类型决定待扫描的下一节点,运行中需要一行为链表记录已发生的原子行为序列;
步骤42:若该节点的控制类型为顺序关系,则将其下的所有子节点放入待扫描队列;步骤43:若该节点的控制类型为一般选择关系,则检查其子节点的原子行为是否在已运行的原子行为序列中;若有一个子行为的原子行为在序列中,则选择该子树执行;若多个子行为的第一个原子行为都在已运行的序列中,则选择其原子行为先发生的子行为执行;若所有子行为的第一个原子行为均未发生,则该行为的执行陷入阻塞状态;
步骤44:若该节点的控制类型为条件选择关系,则需要检查状态面板中变量的取值状态是否满足条件,满足条件执行相应的行为,不满足条件则执行其它相应行为;
步骤45:若该节点的控制类型为并行关系,则同时启动多个线程分别运行其多个子节点,多个子节点中相同名称的事件需要同步运行;
步骤46:若该节点的类型为原子行为,则只需执行相应的原子行为动作即可;
步骤47:每一步均需记录对状态面板中的变量的变化。
[0035]所述步骤5包含以下步骤:
步骤5:对于搜索空间较大的问题需要将搜索空间划分后存为单独的文件(即搜索子树),并设计相应的Map类给出其搜索算法;
步骤51:对于搜索空间较大的问题,需要将搜索空间划分为搜索子树(即云平台下的map方法),并形成单独的XML表示的数据文件,以便在云平台下使用;本发明中的子树划分方法为:
步骤511:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片;假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4 ;步骤512:每一个分片的搜索空间仍然很大,还需要继续分解;用户可设定最大的分片数量;若分片数达到用户设定的最大分片树时,不再继续分解;
步骤52:设计实现相应的map处理类及其方法,用于完成最大值、最小值或某种代价的计算。
[0036]所述步骤6包含以下步骤:
步骤61:根据map处理中的key的设置情况,制定相应的Reduce分配策略;
步骤62:设计实现相应的Reduce处理类及其方法,结果与步骤3中Map划分情况结合,计算全局搜索结果。
[0037]所述步骤10包含以下步骤: 步骤101:实现模型中行为定义的外部java编程接口,使得仿真工具能够调用用户自定义的函数;
步骤102:提供动态链接库的调用接口,运行用户在原子行为中调用,动态链接库中的函数;
步骤103:提供运行结果的传输方法,自定义函数的运行结果需要指定传输到状态面板中的变量;
步骤104:在对XML模型进行仿真运行的过程中,若遇到采用用户自定义函数定义的原子行为,则调用该自定义函数并将结果记录到状态面板中。
[0038]依据本方法能够完成基于云平台分布式系统行为仿真分析系统,所实现的系统有模型编辑、模型仿真及路径搜索和计算等功能,能够分布式系统的设计提供指导;同时,该方法不仅给出了工具的实现过程,还给出了云平台下的搜索过程;由于该工具基于云平台实现,可有效降低分布式系统分析的搜索时间,该系统对分布式系统的交互结构设计具有重要意义。
[0039]上述描述仅作为本发明可实施的技术方案提出,不作为对其技术方案本身的单一限制条件。
【主权项】
1.一种云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于:首先搭建或选用系统所需要的云平台环境,将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中;评估分析仿真任务的复杂度,并决定是否将任务放在云平台下运行;对于搜索空间较大的问题预先将搜索空间划分后存为单独的搜索子树文件,并设计相应的Map类给出其搜索算法;根据相应的key值分配reduce,并行处理后的结果经Reduce汇总后,将运行结果与上述Map划分前的搜索图形相结合,计算全局搜索结果;在main函数中,设置云平台相关参数包含文件路径、map函数、reduce函数,启动云计算过程;最后从云计算的结果文件中获取结果并输出到图形用户界面。2.根据权利要求1所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于该方法包含如下步骤: 步骤1:采用图形化编辑工具完成分布式系统的行为建模,并存储为XML文件格式; 步骤2:搭建或选用系统所需要的云平台环境,将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中; 步骤3:评估分析仿真任务的复杂度,结果决定是否将任务放在云平台下运行; 步骤4:对于简单仿真任务的分析,无需将模型文件分解,直接采用java单机程序完成模型仿真运行; 步骤5:对于搜索空间较大的问题将搜索空间划分后存为单独的文件,即搜索子树,并设计相应的Map类给出其搜索算法; 步骤6:根据相应的key值分配reduce,并行处理后的结果经Reduce汇总后,将运行结果与Map划分前的搜索图形相结合,计算全局搜索结果; 步骤7:在main函数中,设置云平台相关的参数包含文件路径、map函数、reduce函数,启动云计算过程; 步骤8:从云计算的结果文件中获取结果并输出到图形用户界面; 步骤9,将搜索结构的路径输出到图形用户界面,并允许用户按照搜索到的路径进行仿真运行; 步骤10:实现模型中行为定义的外部java编程接口,使仿真工具能够调用自定义函数。3.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于所述步骤I包含以下步骤: 步骤11:建立典型的行为树元素:原子节点、条件选择、一般选择、顺序、并行、状态面板所对应图元的图形符号,设计每种图元的属性及其取值范围,同时每种图元设计两种颜色用于区分当前运行节点和其它节点,用于在仿真运行中使用; 步骤12:建立各图元及其属性与相应的XML节点及其属性间的对应关系; 步骤13:设计基于GEF的图形编辑接口,图形编辑接口允许用户从给定的图元中通过鼠标拖拽实现模型编辑,并可通过点击图元对其属性进行设置,拖入图元后仿真工具记录该元素到图元数组中; 步骤14:设计实现图形中图元间的连接关系,图元间的父子关系通过将图元连接在一起实现设置,两个图元连接后仿真工具记录该连接关系到连接关系数组中。4.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于所述步骤2包含以下步骤: 步骤21:采用Hadoop的分布式文件系统HDFS作为系统的云平台环境; 步骤22:设置HDFS的Master/Slave集群架构,设置hadoop的NameNode相关配置,复制hadoop系统到所有DataNode节点,启动HDFS; 步骤23:将编辑好的基于行为树的分布式系统模型的XML文件存入HDFS文件系统中。5.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于在所述步骤3中,对于仿真问题或搜索空间较小的问题,搜索子树的层数与每层的子树数量的乘积小于100,直接转步骤4执行;对于搜索空间较大的问题,将搜索空间划分为搜索子树,即云平台下的map方法,并形成单独的XML表示的数据文件在云平台下使用;其中子树划分策略为: 步骤31:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片,假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4 ;步骤32:若每一个分片的搜索空间仍然很大,还需要继续分解;用户设定最大的分片数量,若分片数达到用户设定的最大分片树时,不再继续分解,转步骤5执行。6.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于所述步骤4包含以下步骤: 步骤41:将模型所对应的XML文档读入内存,从行为树的root类型节点开始扫描,根据其节点的控制类型决定待扫描的下一节点,运行中利用行为链表记录已发生的原子行为序列; 步骤42:若节点的控制类型为顺序关系,则将其下的所有子节点放入待扫描队列; 步骤43:若节点的控制类型为一般选择关系,则检查其子节点的原子行为是否在已运行的原子行为序列中;若有一个子行为的原子行为在序列中,则选择该子树执行;若多个子行为的第一个原子行为都在已运行的序列中,则选择其原子行为先发生的子行为执行;若所有子行为的第一个原子行为均未发生,则该行为的执行陷入阻塞状态; 步骤44:若节点的控制类型为条件选择关系,则检查状态面板中变量的取值状态是否满足条件,满足条件执行相应的行为,不满足条件则执行其它相应行为; 步骤45:若节点的控制类型为并行关系,则同时启动多个线程分别运行其多个子节点,多个子节点中相同名称的事件同步运行; 步骤46:若节点的类型为原子行为,则直接执行相应的原子行为动作; 步骤47:每一步均需记录状态面板中变量的变化。7.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于所述步骤5包含以下步骤: 步骤51:对于搜索空间较大的问题,将搜索空间划分为搜索子树,即云平台下的map方法,形成单独的XML表示的数据文件在云平台下使用;其中,子树划分方法为: 步骤511:若将整个搜索树的根节点下一级的子节点当成云计算的各个分片; 假设各个分片搜索子树的选择子树数为P,层数为q,若P*q>100,则转下一步继续细分;否则转步骤4; 步骤512:每一个分片的搜索空间仍然很大,还需要继续分解;用户设定最大的分片数量;若分片数达到用户设定的最大分片树时,不再继续分解; 步骤52:设计实现相应的map处理类及其方法,用于完成最大值、最小值或某种代价的计算。8.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于所述步骤6包含以下步骤: 步骤61:根据map处理中的key的设置情况,制定相应的Reduce分配策略; 步骤62:设计实现相应的Reduce处理类及其方法,其结果与步骤3中Map划分情况结合,计算全局搜索结果。9.根据权利要求2所述的云平台下的分布式系统行为仿真分析系统的实现方法,其特征在于所述步骤10包含以下步骤: 步骤101:实现模型中行为定义的外部java编程接口,使仿真工具能够调用用户自定义的函数; 步骤102:提供动态链接库的调用接口,运行用户在原子行为中调用的动态链接库中的函数; 步骤103:提供运行结果的传输方法,自定义函数的运行结果需要指定传输到状态面板中的变量; 步骤104:在对XML模型进行仿真运行的过程中,若遇到采用用户自定义函数定义的原子行为,则调用该自定义函数并将结果记录到状态面板中。
【文档编号】G06F17/50GK106096159SQ201610441113
【公开日】2016年11月9日
【申请日】2016年6月20日
【发明人】熊海军, 朱永利, 张琦, 宋亚奇
【申请人】华北电力大学(保定)
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1