一种面向多模式物联网设备的程序可视化方法技术

技术编号:21831990 阅读:36 留言:0更新日期:2019-08-10 17:45
一种面向多模式物联网设备的程序可视化方法,将物联网设备的每个功能模块以固定大小的矩形显示,并将属于同一模式的模块矩形包含在一个模式矩形中,然后根据模块执行依赖关系计算模式矩形大小并对模块矩形进行分层排布;同时,将模式之间的切换命令以连接模式矩形的有向边显示,将模块执行依赖关系以连接模块矩形的有向边显示。然后,对模式矩形进行分层排布,根据模式矩形大小对层间距和同一层模式矩形之间的间距进行优化,并以最小化命令边长度和弯折次数为前提,检测交叉并搜索交叉数量最小的模式矩形排布。本发明专利技术动态调整模式矩形的大小,并依此优化模式矩形排布,从而减小排布面积和命令边与模式矩形间的交叉,实现良好的可视化效果。

A Program Visualization Method for Multimodal Internet of Things Devices

【技术实现步骤摘要】
一种面向多模式物联网设备的程序可视化方法
本专利技术涉及一种面向多模式物联网设备的程序可视化方法。
技术介绍
如文献[1]:陈宇航.以用户为中心的无线传感器网络中间件设计与实现[D].浙江工业大学,2017给出了一种面向多模式物联网设备基于配置文件的编程方法。该方法仅要求用户编写简单的配置文件,即可令物联网设备自动控制模式切换和模块执行。如文献[2]W.M.Merrill,Dynamicnetworkingandsmartsensingenablenext-generationlandmines[J].IEEEPervasiveComputing,2004.即支持下一代地雷的动态网络和智能感知,以及文献[3]K.Asakawa,M.Kashiwada,etal,Aprototypeofsensornetworkvisualizationwithgeographicinformation[C].Proceedingsofthe10thACM/IEEEinternationalConferenceonInformationProcessinginSensorNetworks,2011.即一种使用地理信息的传感器网络可视化原型系统,主要用于显示网络拓扑而不是显示程序逻辑结构,文献[4]M.Laguna,R.Marti,etal.Arccrossingminimizationinhierarchicaldigraphswithtabusearch[J].Computers&OperationsResearch,1997.即禁忌搜索中分层有向图中的弧交叉最小化,文献[5]J.Wolff,V.Gudenberg,etal.EvolutionarylayoutofUMLclassdiagrams[C].Proceedingsofthe2006ACMSymposiumonSoftwareVisualization,2006.即UML类图的进化布局和文献[6]C.Gutwenger,K.Klein,etal.CaesarAutomaticLayoutofUMLClassDiagrams[C].Proceedingsofthe9thInternationalSymposiumonGraphDrawing.2001.即UML类图的Caesar自动布局,给出了描述多节点间关联的排布算法,但其中节点的大小是固定的,同时只考虑节点间关联边的交叉。文献[7]M.Eiglsperger,M.Kaufmann,etal.Atopology-shape-metricsapproachfortheautomaticlayoutofUMLclassdiagrams[C].Proceedingsofthe2003ACMSymposiumonSoftwareVisualization.2003.即UML类图自动布局的拓扑-形状-度量方法,文献[8]H.Hu,J.Fang,etal.Rank-directedlayoutofUMLclassdiagrams[C].Proceedingsofthe1stInternationalWorkshoponSoftwareMining.2012.即UML类图的排名指导布局,根据类包含的方法和属性数量不同确定UML类节点的大小,但是并没有考虑到图中节点的大小调整可能带来的节点和边之间的交叉问题。同时,这些方法无法根据每一层节点的大小动态调整每层之间的距离,因此面积较大。
技术实现思路
为克服现有可视化方法在多模式物联网程序中排布效果不佳的问题,本专利技术提出一种面向多模式物联网设备的程序可视化方法,该方法根据模式中模块执行依赖关系,动态调整模式矩形大小,并依此优化模式矩形排布,从而减小排布面积和命令边与模式矩形间的交叉,实现良好的可视化效果。本专利技术解决其技术问题所采用的技术方案是:一种面向多模式物联网设备的程序可视化方法,包括以下步骤:1)将物联网设备的每个功能模块以固定大小的矩形显示,并将属于同一模式的模块矩形包含在一个模式矩形中,然后根据模块执行依赖关系计算模式矩形大小并对模块矩形进行分层排布,所述模块执行依赖关系表示某个模块需要等待同一模式下其他模块执行完成才能开始执行;同时,将模式之间的切换命令以连接模式矩形的有向边显示,将模块执行依赖关系以连接模块矩形的有向边显示;2)对模式矩形进行分层排布,并根据模式矩形大小对层间距和同一层模式矩形之间的间距进行优化,减小排布面积;然后,以最小化命令边长度和弯折次数为前提,检测交叉并搜索交叉数量最小的模式矩形排布,从而实现良好的可视化效果。进一步,所述步骤1)中,基于模块执行依赖关系的模式矩形长度和高度的计算过程如下:首先,根据某模式下模块执行依赖关系,分层计算每一层包括的模块数量:其中,n表示总层数,m表示模块,M(i)表示在第i(1≤i≤n)层的模块集合,p(m)表示模块m依赖的模块集合,d(m)表示依赖于模块m的模块集合;然后,计算该模式矩形的长度l和高度h:其中,Max(|M(i)|)表示所有层次中,模块数量最多的层包含的模块数量。d1和d2是每个模块矩形的长度和高度。进一步,所述步骤2)中,基于模式矩形大小优化的模式矩形分层排布过程如下:根据模式切换命令的指向关系进行分层,并以第一层所有模式矩形的中心点连线为X轴,以每一层的第一个模式矩形的中心点的连线为Y轴建立坐标系;对于第i层的第j个模式矩形oij,用<cij,x,y>表示其排布位置与大小,其中cij表示模式矩形oij的中心点,其X轴坐标和Y轴坐标通过以下公式计算:其中,lij表示第i层中第j个模式矩形的长度,Hk表示第k层所有模式矩形的最大高度,d3,d4是两个常数。再进一步,所述的步骤2)中,交叉检测方法,除检测命令边之间交叉外,还检测命令边与模式矩形的交叉,在检测命令边与模式矩形的交叉中,仅检测每一层模式矩形与连接该层其他模式矩形和相邻层模式矩形的命令边是否存在交叉,过程如下:首先,对于模式矩形oij,根据<cij,x,y>,计算其左上角、右上角、左下角、右下角四个顶点tlij,trij,blij,brij的坐标;然后,对于模式矩形oij,分别连接中心点cij和四个顶点,构成四条模式矩形内连线cij→tlij、cij→trij、cij→blij、cij→brij;然后,对于第i层模式矩形oij,以及连接第i层另一模式矩形oik和第i-1层某个模式矩形o(i-1)l的命令边cik→c(i-1)l,按照以下规则检查:如则计算:如则计算:若公式(4)或(5)成立,则oij与cik→c(i-1)l存在交叉;对于第i层模式矩形oij,以及连接第i层另一模式矩形oik和第i+1层某个模式矩形o(i+1)l的命令边cik→c(i+1)l,按照以下规则检查:如则计算:如则计算:若公式(6)或(7)成立,则oij与cik→c(i+1)l存在交叉。本专利技术的技术构思为:根据模式中模块执行依赖关系,动态调整模式矩形大小,并依此优化模式矩形排布层间间距和层内间距以减小排布面积。同时,根据模式矩形位置和大小,检测命令边与模式矩形之间的交叉,在最小化命令边长度和弯折次数的前提下,最小化交叉数量。本专利技术的有益效果在于本文档来自技高网
...

【技术保护点】
1.一种面向多模式物联网设备的程序可视化方法,其特征在于,所述方法包括以下步骤:1)将物联网设备的每个功能模块以固定大小的矩形显示,并将属于同一模式的模块矩形包含在一个模式矩形中,然后根据模块执行依赖关系计算模式矩形大小并对模块矩形进行分层排布,所述模块执行依赖关系表示某个模块需要等待同一模式下其他模块执行完成才能开始执行;同时,将模式之间的切换命令以连接模式矩形的有向边显示,将模块执行依赖关系以连接模块矩形的有向边显示;2)对模式矩形进行分层排布,并根据模式矩形大小对层间距和同一层模式矩形之间的间距进行优化,减小排布面积;然后,以最小化命令边长度和弯折次数为前提,检测交叉并搜索交叉数量最小的模式矩形排布,从而实现良好的可视化效果。

【技术特征摘要】
1.一种面向多模式物联网设备的程序可视化方法,其特征在于,所述方法包括以下步骤:1)将物联网设备的每个功能模块以固定大小的矩形显示,并将属于同一模式的模块矩形包含在一个模式矩形中,然后根据模块执行依赖关系计算模式矩形大小并对模块矩形进行分层排布,所述模块执行依赖关系表示某个模块需要等待同一模式下其他模块执行完成才能开始执行;同时,将模式之间的切换命令以连接模式矩形的有向边显示,将模块执行依赖关系以连接模块矩形的有向边显示;2)对模式矩形进行分层排布,并根据模式矩形大小对层间距和同一层模式矩形之间的间距进行优化,减小排布面积;然后,以最小化命令边长度和弯折次数为前提,检测交叉并搜索交叉数量最小的模式矩形排布,从而实现良好的可视化效果。2.如权利要求1所述的面向多模式物联网设备的程序可视化方法,其特征在于,所述步骤1)中,基于模块执行依赖关系的模式矩形长度和高度的计算过程如下:首先,根据某模式下模块执行依赖关系,分层计算每一层包括的模块数量:其中,n表示总层数,m表示模块,M(i)表示在第i(1≤i≤n)层的模块集合,p(m)表示模块m依赖的模块集合,d(m)表示依赖于模块m的模块集合;然后,计算该模式矩形的长度l和高度h:其中,Max(|M(i)|)表示所有层次中,模块数量最多的层包含的模块数量。d1和d2是每个模块矩形的长度和高度。3.如权利要求1或2所述的面向多模式物联网设备的程序可视化方法,其特征在于,所述步骤2)中,基于模式矩形大小优化的模式矩形分层排布过程如下...

【专利技术属性】
技术研发人员:夏明杨宝明
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1