一种基于增强现实的信息物理系统可视化及故障定位方法与流程

文档序号:20122317发布日期:2020-03-20 05:39阅读:252来源:国知局
一种基于增强现实的信息物理系统可视化及故障定位方法与流程

本发明涉及软件测试技术领域,更具体的说是涉及一种基于增强现实的信息物理系统可视化及故障定位方法。



背景技术:

信息物理系统(cyberphysicalsystem,cps)是一个综合计算、网络与物理环境的多维复杂系统,一个系统可能由多个较小规模的子系统互联组成,各个子系统之间通过各种类型的通信网络进行信息传输,子系统中的物理设备同样需要由某种或多种异构的网络进行互联。系统运行过程中可能会出现诸多故障,导致故障的原因可能是系统中设备的控制软件程序运行错误、设备之间的关联通信错误、服务器端的数据接收和存储错误等,而错综复杂的关联关系使故障定位变得困难。

因此,如何实现观察复杂的信息物理系统的设备控制软件运行状态,并实现故障定位是本领域技术人员亟需解决的问题。



技术实现要素:

有鉴于此,本发明提供了一种基于增强现实的信息物理系统可视化及故障定位方法,实现信息物理系统的监测,在实际信息物理系统运行的基础上,从系统内部软件出发,实现设备控制软件的函数网络的实时状态可视化。使用静态分析工具及建模工具实现对各个设备控制软件的三维静态可视化网络建模,并通过动态执行分析工具获取网络中函数的调用次数并显示于网络中;使用增强现实技术,将以上的三维复杂网络模型以及网络函数执行信息展示于信息物理系统实物的上方,从而将原本不可视或不可直接观察的设备部件的运行状况以函数网络的形式呈现出来,设备控制软件网络之间的连接关系、程序运行的次数、程序运行的状态、程序运行的路径均直观明了,方便技术人员实时了解系统的运行情况,及时获取发生故障时设备的控制软件信息并做出反应。

为了实现上述目的,本发明采用如下技术方案:

一种基于增强现实的信息物理系统可视化及故障定位方法,具体步骤如下:

步骤1:确定所述信息物理系统中各设备部件对应的控制软件;

步骤2:获取所述控制软件的函数调用网络信息,并通过所述函数调用网络信息建立函数复杂网络三维静态可视化模型;

步骤3:对所述设备部件对应的函数节点进行不同颜色或不同数字标记;

步骤4:设定增强现实场景的场景根位置,建立三维复杂网络模型;设定识别方式,以识别的平面图案为中心建立增强现实场景;

步骤5:运行物理信息系统,通过所述增强现实场景观察设备观察各所述设备部件运行状态以及所述三维复杂网络模型的运行状态,并记录运行过程中每个所述函数节点的调用次数;

步骤6:获取并统计所述步骤5中所记录的所述调用次数,形成函数执行统计表;

步骤7:当故障发生后,结合所述函数执行统计表以及所述步骤5中观察获得的所述三维复杂网络模型的网络执行路径确定故障原因。

优选的,所述步骤1具体实现过程如下:所选信息物理系统是内部资源配置和运行按需响应、快速迭代、动态优化的协同系统,选取所述信息物理系统中存在紧密关联关系的传感器、控制器部件、采集器部件以及各个部件对应的所述控制软件,所述控制软件具有可解析的功能,所述可解析功能可以获取所有所述控制软件的所述函数调用网络信息。

优选的,所述步骤2具体实现过程如下:

步骤21:使用静态分析软件获取各所述控制软件的静态数据,所述静态数据包括所述控制软件内所有的函数及所述函数之间的调用关系;

步骤22:将获取的所述静态数据输入到三维建模工具中,在指定坐标处建立各个所述控制软件的三维函数复杂网络模型,从而形成信息物理系统完整的所述函数复杂网络三维静态可视化模型。

优选的,所述步骤3具体实现过程如下:根据所述函数复杂网络三维静态可视化模型中的所述函数节点对应的所述函数所属的所述控制软件,将所述函数节点颜色标为不同的颜色或标记为不同的数字,以区分不同的所述控制软件,显示不同控制软件的差异。

优选的,所述步骤4具体实现过程如下:

步骤41:根据所述信息物理系统实际尺寸大小设定场景的底面大小,以场景底面的中心位置为根位置,在所述场景下建立三维复杂网络模型;

步骤42:采用平面图案识别方式,在所述信息物理系统的中心位置设置平面图案,并规定所述平面图案中的标记点,通过拍摄采集所述标记点识别所述平面图案,从而以识别到的所述平面图案为中心搭建所述三维复杂网络模型。

优选的,所述步骤5具体实现过程如下:

步骤51:运行所述信息物理系统,实现系统感知、计算、通信及控制功能,通过所述信息物理系统中服务器终端的数字化监控信息了解所述信息物理系统的整体运行情况;

步骤52:通过所述增强现实场景观察设备观察所述三维复杂网络模型中所述函数节点的调用过程以及函数调用次数显示情况;

步骤53:在所述信息物理系统运行过程中,通过动态执行工具在所述信息物理系统中的数据库端记录执行各个功能(g1,g2,g3,g4…)时所调用的所述函数节点(f1,f2,f3,f4…)以及所述函数节点(f1,f2,f3,f4…)的所述调用次数。

优选的,所述步骤6具体实现过程如下:根据执行各个所述功能过程中所述数据库端所记录的所述函数节点的调用情况,统计每个所述函数节点在各个所述功能执行中的调用次数,记录未被调用的所述函数节点为0,从而形成水平方向为所述函数节点,竖直方向为所述功能的矩阵形式,所述矩阵的末行为每个所述函数节点的所述调用次数的总和,从而形成关于所述功能和所述函数节点的所述函数执行统计表。

优选的,所述步骤7具体实现过程如下:首先,根据观察到的所述信息物理系统运行出现的故障,定位到发生故障的部件,然后根据发生故障的所述设备部件对应的所述控制软件的所述函数执行统计表和所述三维复杂网络模型确定故障发生的原因。其中某个关键函数节点被调用次数为0和函数节点短时间内重复调用多次,确定故障发生的可能原因分别为某条路径中断和程序陷入死循环)。

优选的,所述函数调用网络信息包括静态数据、动态执行数据和任务分配数据。采用doxygen获取所述静态数据,包括函数调用关系网络图和网络节点与边的连接关系,所述连接关系包括连接数量与连接顺序;采用gprof获取所述动态执行数据,包括所述控制软件执行一定操作后,记录运行时各个所述函数间的调用关系;所述任务分配数据为所述信息物理系统执行某个任务即完成某种功能时,各个所述函数节点的所述调用次数及调用顺序情况。

经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于增强现实的信息物理系统可视化及故障定位方法,解决了复杂的信息物理系统中难以观察设备控制软件运行状态的难题,实现在真实环境中显示设备控制软件的三维复杂网络模型,便于技术人员从虚拟模型及真实场景两方面评估系统运行情况。并在函数网络的基础上,将程序执行过程中函数的调用次数显示于网络中,进一步跟踪函数网络的执行调用情况,将网络中每个函数节点的调用次数进行统计并以函数执行统计表的形式呈现出来。系统运行故障后,结合函数执行统计表及三维复杂网络模型中函数网络的路径执行情况,对函数网络进行故障定位,从而可实现设备部件中控制软件的代码级的故障定位。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1附图为本发明提供的基于增强现实的信息物理系统可视化及故障定位方法流程图;

图2附图为本发明提供的基于增强现实的信息物理系统可视化及故障定位方法原理图;

图3附图为本发明提供的识别图片示例图;

图4附图为本发明提供的标记图片示例图;

图5附图为本发明提供的观察到的增强现实场景示例图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种基于增强现实的信息物理系统可视化及故障定位方法,为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作详细描述:

本发明一种基于增强现实的信息物理系统可视化及故障定位方法,如图1所示为实施时的具体步骤,如图2所示为图1的补充示出了方案实施步骤的原理以及所涉及的重要环节。本发明的具体步骤如下:

s1:确定信息物理系统中各部件对应的控制软件;

其中,所选信息物理系统是内部资源配置和运行按需响应、快速迭代、动态优化的协同系统,选取系统中存在紧密关联关系的传感器、控制器部件、采集器部件以及各个部件对应的控制软件,各控制软件具有可解析的功能;

s2:获取各控制软件的函数调用网络信息,并通过函数调用网络信息并建立函数复杂网络三维静态可视化模型;

s21:使用静态分析软件获取各控制软件的静态数据,静态数据包括所有的函数及各函数间的调用关系;

s22:将静态数据输入到三维建模工具中,在指定坐标处建立各个设备控制软件的三维函数复杂网络模型,从而形成信息物理系统的完整的函数复杂网络三维静态可视化模型;

s3:对各设备对应的函数节点进行不同颜色或不同数字标记;

根据函数复杂网络三维静态可视化模型中的函数节点所属的控制软件,将函数节点颜色标为不同的颜色或标记为不同的数字,以显示不同控制软件的差异;

s4:设定增强现实场景的场景根位置,建立三维复杂网络模型;设定识别方式,以识别的平面图案为中心建立增强现实场景;

s41:根据信息物理系统实物实际尺寸大小按比例设定场景的底面大小,以场景底面的中心位置为根位置,在该场景下建立三维复杂网络模型;

s42:采用平面图案识别方式,在信息物理系统实物的中心位置设置平面图案,并规定平面图案中的标记点,通过拍摄采集标记点识别平面图案,从而以识别到的平面图案为中心搭建三维复杂网络模型;至此,便可通过增强现实场景观察设备观察建立在识别的平面图案上的虚拟三维复杂网络模型来实现增强现实环境下的三维复杂网络模型可视化;

s5:运行物理信息系统,通过增强现实场景观察设备观察各设备部件运行状态以及三维复杂网络模型的运行状态;

s51:运行信息物理系统,实现系统感知、计算、通信及控制功能,通过信息物理系统中服务器终端的数字化监控信息了解系统的大体运行情况;

s52:通过增强现实场景观察设备观察三维复杂网络模型中函数节点的调用过程以及函数调用次数显示情况;函数节点的调用过程为代表函数节点的粒子发射并动态运行于网络中的过程,显示了函数节点调用的路径和方向等。

s53:在信息物理系统运行过程中,通过动态执行工具在系统的数据库端记录执行各个功能(g1,g2,g3,g4…)时所调用的函数节点(f1,f2,f3,f4…)以及函数节点(f1,f2,f3,f4…)的调用次数;

s6:读取并统计s5中所记录的函数节点的调用次数,形成函数执行统计表。

根据执行各个功能过程中数据库端所记录的函数节点的调用情况,统计每个函数节点在各个功能执行中的调用次数,记未被调用的函数节点为0,从而形成水平方向为函数节点,竖直方向为功能的矩阵形式,矩阵的底末端一行为每个函数节点的调用次数的总和,以上表格即为关于功能和函数节点的函数执行统计表;

s7:故障发生后,结合函数执行统计表以及s52中的三维复杂网络模型中网络执行路径确定故障原因;

根据系统运行出现的故障,首先定位到发生故障的部件,然后根据设备部件对应的控制软件的函数网络的运行情况(某个关键函数节点被调用次数为0;函数节点短时间内重复调用多次)确定障发生的可能原因(某条路径中断;程序陷入死循环);当某条关键函数节点调用次数为0时,观察对应网络中的执行路径,确认路径处于未执行状态或执行中断状态,从而确定故障原因;当某个函数节点短时间内被重复调用多次时,观察对应网络中的执行路径,确认该函数节点处于正常被调用状态或程序陷入死循环状态,从而确定故障原因。

为了进一步优化上述技术方案,静态数据获取采用doxygen工具获得,通过配置工具并执行,提取代码结构以及函数调用网络中节点与边的连接关系,并初步产生函数及调用关系的网络示意图,其它具有获取软件代码的静态分析数据的静态分析软件均可以用于实现上述过程。

为了进一步优化上述技术方案,在s22静态数据构建三维函数复杂网络模型过程中,首先采用三维图形可视化库创建被测对象应用程序的三维立体图,输出其各个函数节点的三维坐标;然后选取可用于增强现实的三维建模工具,在三维空间中的指定坐标处创建三维函数复杂网络图形,从而将静态数据转化为三维函数复杂网络模型。

为了进一步优化上述技术方案,采用plotly这一图形可视化工具生成三维网络,由于网络的可视化效果不佳,观察角度的调整难以实现,不能完成增强现实环境下的观察;然后采用unity3d这一可用于增强现实的三维建模工具进行三维可视化,由于该工具只能在指定区域建立指定物体并实现预期动态化效果,而自身没有网络搭建与分析功能,该工具执行需要人为输入所需建立物体的坐标。故将plotly和unity3d两种建模工具结合起来,前者用于输出所需建模的节点三维坐标,后者根据前者所输出的三维坐标建立指定物体,并为后续增强现实环境开发打下基础。

为了进一步优化上述技术方案,在s41建立三维复杂网络模型过程中,考虑到观察时通过综合增强现实场景与现实场景来共同评估信息物理系统的运行状态,故应将系统中设备控制软件代码网络的尺寸依据真实系统的实际尺寸进行调整,从而保证通过摄像头进行观察时不会因为虚拟代码网络尺寸过大或过小而影响观察效果。可以通过unity3d建立起了三维复杂网络的模型,同时使用unity3d的增强现实开发套件artoolkit5-for-unity进行增强现实功能的开发。

为了进一步优化上述技术方案,在s42中还可以通过立体图形识别以及多物体识别方式来进行标记点的识别,采用unity3d中均可以实现,且平面图案识别便于识别及展示。

为了进一步优化上述技术方案,在s52系统运行过程中,代码网络处于动态流动,通过摄像头还可以观察函数的调用信息,函数调用信息包括函数节点传递过程、函数的调用顺序、函数的调用时间和函数的调用次数。函数节点的传递过程表现为粒子从某一节点向另一节点的发射,函数的调用顺序表现为粒子的发射顺序,函数的调用时间表现为粒子的发射时间间隔,该时间间隔通过比例放大以及同趋化操作完成,函数的调用次数表现为粒子的大小;不同设备部件对应的不同的控制软件或实现不同功能对应的不同控制软件的函数调用信息表现为发射不同颜色的粒子。

为了进一步优化上述技术方案,s6中可以采用另一种程序谱构建方法,构建关于用例和函数节点的程序谱,该程序谱用于更准确的代码级故障定位。具体的实施方法如下:收集该信息物理系统历史运行的故障信息,根据系统中故障发生的部件,对部件所对应的软件进行测试,通过设计并输入测试用例,尝试复现故障场景,直至覆盖历史故障场景,记录所输入的测试用例,并根据测试用例是否复现故障场景进行分类,形成故障用例集{f1,f2,f3…}和正常用例集{r1,r2,r3…},集合中每个元素表示一个测试用例,对部件软件源代码进行插桩,执行以上测试用例,生成正常用例和故障用例的执行轨迹,构建完整程序谱,统计程序谱中故障用例和正常用例执行中每条代码的执行次数,并计算每条代码的可疑度,根据可疑度对代码语句进行排序,从而实现较准确的故障定位。该程序谱功能与函数网络的观察功能独立开来,仅作为增强现实技术下的观察对象,呈现于函数网络的顶端,作为故障定位的依据。

实施例

确定控制软件,获取控制软件函数信息:

函数信息为函数调用网络信息,包括静态数据、动态执行数据和任务分配数据。采用doxygen获取静态数据,包括函数调用关系网络图和网络节点与边的连接关系,连接关系包括连接数量与连接顺序;采用gprof获取动态执行数据,包括控制软件执行一定操作后,记录运行时各个函数间的调用关系。

进行可视化建模:

首先,创建二维静态可视化结果:1.创建工作空间接收静态分析数据;2.建立网络模型与控制器,执行布局;3.进行模块化染色,条件过滤;4.添加标签,调整元素颜色与大小;5.输出可视化结果。

然后,采用plotly和unity3d创建三维静态可视化结果:1.采用plotly图形可视化库构建三维复杂网络,虽然观察角度单一、可视化效果不佳,但是可以输出各个函数节点的三维坐标;2.采用unity3d在三维空间中进行搭建,导入函数节点三维坐标,在三维空间中搭建网络实体。

再则,采用unity3d粒子系统进行三维动态可视化:1.从gprof结果报告中提取出函数调用顺序,函数调用时间等信息;2.将函数调用的信息传递过程用粒子从某一节点向另一节点的发射来模拟;3.函数调用顺序作为粒子发射顺序,函数调用时间间隔等比例扩大后作为粒子的发射时间间隔;4.实现不同功能的函数用发射不同颜色的粒子来进行区分。

最后,采用netlogo进行多智能体仿真可视化:1.通过连接矩阵导入网络结构信息,并指定布局形式;2.为每个函数节点定义名称颜色等属性;3.静态结构仿真:假设执行任何操作的概率相等;4.动态功能仿真:根据一次运行的真实调用情况仿真;5.任务驱动仿真:为执行不同任务分配不同执行概率。

在设定增强现实场景时,首先应当设定场景的根位置,这个位置既是识别物体的位置,也是整个场景的中心位置,因此arcamera(增强现实场景观察设备)的位置与自然光等附加环境的位置也是根据这个根位置来进行设定的;

之后需要在这个场景中建立之前建立好的三维复杂网络静态模型,将网络搭建脚本挂载在场景中的物体上,初始化场景时即可搭建好三维网络,需要注意的是,由于虚拟现实场景可以自由设定物体大小,而增强现实场景因为要与现实场景交互,因此各个物体的尺寸需要进行一定的调整,从而保证我们通过摄像头观察时不会因尺寸过大过小而影响效果;

最后一步则是设定识别方式,unity3d中可以实现多种识别方式如平面图案识别、立体图形识别、多物体识别等等,本实施例中采用平面图案识别,需要设定好识别图案并规定好图案上的标记点,让程序通过arcamera(增强现实场景观察设备)上的识别摄像头拍摄图像中的标记点来认出识别图案,从而以识别图案为中心建立我们搭建好的三维场景。至此,便可以通过arcamera(增强现实场景观察设备)上的摄像头观察识别图案来实现增强现实环境下的三维复杂网络静态可视化功能。识别图案如下图3所示,标记图片如下图4所示,通过增强显示场景观察设备观察到的增强现实场景如图5所示,其中图中的“ar复杂网络”是增强现实建模的一部分,是一个实体化的模型,是三维复杂网络模型的一部分,由其显示证明实现了虚拟现实环境下的文字实体化。本发明这种基于三维代码网络模型的增强现实技术的可视化方法所得监控评估更具有说服力。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1