面向数据流模型的模型组件执行顺序确定方法及装置制造方法及图纸

技术编号:27808754 阅读:60 留言:0更新日期:2021-03-30 09:33
本发明专利技术公开了一种面向数据流模型的模型组件执行顺序确定方法及装置。方法包括:获取数据流图中的待排序模块;将待排序模块作为邻接矩阵的顶点,构建三个邻接矩阵;三个邻接矩阵分别为数据流关系邻接矩阵(简称数据流阵)、控制流关系邻接矩阵(简称控制流阵)和数据流与控制流的合成关系邻接矩阵(简称合成阵);根据数据流阵、控制流阵和合成阵对应的查找顺序,查找三个邻接矩阵中的无前置顶点的目标顶点;在查找得到目标顶点的情况下,删除目标顶点,并对删除目标顶点对应的其它顶点进行排序,以得到待排序模块对应的执行顺序。本发明专利技术可以对控制流线,数据流线不全部成环的情况进行排序,可以避免数据流线构成代数环后无法排序的情况。序的情况。序的情况。

【技术实现步骤摘要】
面向数据流模型的模型组件执行顺序确定方法及装置


[0001]本专利技术涉及模型组件执行顺序确定
,特别是一种面向数据流模型的模型组件执行顺序确定方法及装置。

技术介绍

[0002]数据流图以图形的方式描绘数据在系统中流动和处理的过程,可以分为逻辑形和物理形。逻辑数据流图描述了用以完成某业务功能所涉及的、业务层面的数据流动,物理数据流图则描述系统层面的数据流动。数据流图中一个或几个组件的输出作为下一个或几个组件的输入,由于涉及到数据的流动,所以模块的执行顺序十分重要。如何有效的对图中组件进行排序对于数据的正确性至关重要。
[0003]对于数据流图的排序,需要寻找到没有任何组件指向自己(即无前置模块)的组件,说明此组件前无数据的流动,可以作为无需进行排序的模块。依此为开始进行深度或广度遍历,实现数据流图下组件的排序。
[0004]随着系统的复杂性提高,可能存在数据流图中一个或几个组件的输出作为下一个或几个组件的输入,而下一个或几个组件的输出又连回到了一个或几个组件的输入,从而形成了代数环。此时便无法单纯依据数据流关系进行排序。

技术实现思路

[0005]本专利技术解决的技术问题是:针对现有模型仿真及代码生成技术无法处理存在代数环的数据流模型的问题,提供了一种面向数据流模型的模型组件执行顺序确定方法及装置。
[0006]为了解决上述技术问题,本专利技术实施例提供了一种面向数据流模型的模型组件执行顺序确定方法,包括:
[0007]获取数据流图中的待排序模块;
[0008]将所述待排序模块作为邻接矩阵的顶点,构建三个邻接矩阵;所述三个邻接矩阵分别为数据流关系邻接矩阵(简称数据流阵)、控制流关系邻接矩阵(简称控制流阵)和数据流与控制流的合成关系邻接矩阵(简称合成阵);
[0009]根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点;
[0010]在查找得到所述目标顶点的情况下,删除所述目标顶点,并对删除所述目标顶点对应的其它顶点进行排序,以得到所述待排序模块对应的执行顺序。
[0011]可选地,在所述将所述待排序模块作为邻接矩阵的顶点,构建三个邻接矩阵之后,还包括:
[0012]读取所有的控制流线,并将所述控制流线按顺序作为所述邻接矩阵顶点的边存储于所述控制流阵和所述合成阵中;
[0013]读取所有的数据流线,并将所述数据流线作为所述邻接矩阵顶点的边存储于所述
数据流阵和所述合成阵中。
[0014]可选地,在所述根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点之前,还包括:
[0015]获取所述数据流阵对应的闭包矩阵。
[0016]可选地,所述根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点,包括:
[0017]从所述合成阵中查找无前置顶点的第一顶点;
[0018]在所述合成阵中存在所述第一顶点的情况下,则将所述第一顶点作为所述目标顶点;
[0019]在所述合成阵中不存在所述第一顶点的情况下,从所述控制流阵中查找无前置顶点的第二顶点;
[0020]在所述控制流阵中存在所述第二顶点的情况下,则将所述第二顶点作为所述目标顶点;
[0021]在所述控制流阵中不存在所述第二顶点的情况下,从所述闭包矩阵中查找所述无前置顶点的第三顶点;
[0022]在所述闭包矩阵中存在所述第三顶点的情况下,则将所述第三顶点作为所述目标顶点。
[0023]可选地,在所述从所述闭包矩阵中查找所述无前置顶点的第三顶点之后,还包括:
[0024]在所述闭包矩阵中不存在所述第三顶点的情况下,生成所述待排序模块对应的无法排序的提示信息。
[0025]为了解决上述技术问题,本专利技术实施例还提供了一种面向数据流模型的模型组件执行顺序确定装置,包括:
[0026]待排序模块获取模块,用于获取数据流图中的待排序模块;
[0027]邻接矩阵构建模块,用于将所述待排序模块作为邻接矩阵的顶点,构建三个邻接矩阵;所述三个邻接矩阵分别为数据流关系邻接矩阵(简称数据流阵)、控制流关系邻接矩阵(简称控制流阵)和数据流与控制流的合成关系邻接矩阵(简称合成阵);
[0028]目标顶点查找模块,用于根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点;
[0029]执行顺序获取模块,用于在查找得到所述目标顶点的情况下,删除所述目标顶点,并对删除所述目标顶点对应的其它顶点进行排序,以得到所述待排序模块对应的执行顺序。
[0030]可选地,所述装置还包括:
[0031]控制流线读取模块,用于读取所有的控制流线,并将所述控制流线按顺序作为所述邻接矩阵顶点的边存储于所述控制流阵和所述合成阵中;
[0032]数据流线读取模块,用于读取所有的数据流线,并将所述数据流线作为所述邻接矩阵顶点的边存储于所述数据流阵和所述合成阵中。
[0033]可选地,所述装置还包括:
[0034]闭包矩阵获取模块,用于获取所述数据流阵对应的闭包矩阵。
[0035]可选地,所述目标顶点查找模块包括:
[0036]第一顶点查找单元,用于从所述合成阵中查找无前置顶点的第一顶点;
[0037]第一目标顶点获取单元,用于在所述合成阵中存在所述第一顶点的情况下,则将所述第一顶点作为所述目标顶点;
[0038]第二顶点查找单元,用于在所述合成阵中不存在所述第一顶点的情况下,从所述控制流阵中查找无前置顶点的第二顶点;
[0039]第二目标顶点获取单元,用于在所述控制流阵中存在所述第二顶点的情况下,则将所述第二顶点作为所述目标顶点;
[0040]第三顶点查找单元,用于在所述控制流阵中不存在所述第二顶点的情况下,从所述闭包矩阵中查找所述无前置顶点的第三顶点;
[0041]第三目标顶点获取单元,用于在所述闭包矩阵中存在所述第三顶点的情况下,则将所述第三顶点作为所述目标顶点。
[0042]可选地,所述装置还包括:
[0043]提示信息生成模块,用于在所述闭包矩阵中不存在所述第三顶点的情况下,生成所述待排序模块对应的无法排序的提示信息。
[0044]本专利技术与现有技术相比的优点在于:
[0045]本专利技术实施例通过对数据流图中组件间连线关系未成环的情况进行了排序,其余不能排序的情况,会根据控制流线作为参考。如果控制流线仍然成环,则通过数据流的传递闭包根据数据流线进行排序。对于数据流图,在有控制流线的情况下,可以对控制流线,数据流线不全部成环的情况进行排序,可以避免数据流线构成代数环后无法排序的情况。
附图说明
[0046]图1为本专利技术实施例提供的一种面向数据流模型的模型组件执行顺序确定方法的步骤流程图;
[0047本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向数据流模型的模型组件执行顺序确定方法,其特征在于,包括:获取数据流图中的待排序模块;将所述待排序模块作为邻接矩阵的顶点,构建三个邻接矩阵;所述三个邻接矩阵分别为数据流关系邻接矩阵,简称数据流阵,控制流关系邻接矩阵,简称控制流阵,数据流与控制流的合成关系邻接矩阵,简称合成阵;根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点;在查找得到所述目标顶点的情况下,删除所述目标顶点,并对删除所述目标顶点对应的其它顶点进行排序,以得到所述待排序模块对应的执行顺序。2.根据权利要求1所述的方法,其特征在于,在所述将所述待排序模块作为邻接矩阵的顶点,构建三个邻接矩阵之后,还包括:读取所有的控制流线,并将所述控制流线按顺序作为所述邻接矩阵顶点的边存储于所述控制流阵和所述合成阵中;读取所有的数据流线,并将所述数据流线作为所述邻接矩阵顶点的边存储于所述数据流阵和所述合成阵中。3.根据权利要求1所述的方法,其特征在于,在所述根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点之前,还包括:获取所述数据流阵对应的闭包矩阵。4.根据权利要求3所述的方法,其特征在于,所述根据所述数据流阵、所述控制流阵和所述合成阵对应的查找顺序,查找所述三个邻接矩阵中的无前置顶点的目标顶点,包括:从所述合成阵中查找无前置顶点的第一顶点;在所述合成阵中存在所述第一顶点的情况下,则将所述第一顶点作为所述目标顶点;在所述合成阵中不存在所述第一顶点的情况下,从所述控制流阵中查找无前置顶点的第二顶点;在所述控制流阵中存在所述第二顶点的情况下,则将所述第二顶点作为所述目标顶点;在所述控制流阵中不存在所述第二顶点的情况下,从所述闭包矩阵中查找所述无前置顶点的第三顶点;在所述闭包矩阵中存在所述第三顶点的情况下,则将所述第三顶点作为所述目标顶点。5.根据权利要求4所述的方法,其特征在于,在所述从所述闭包矩阵中查找所述无前置顶点的第三顶点之后,还包括:在所述闭包矩阵中不存在所述第三顶点的情况下,生成所述待排序模块对应的无法排序的提示信息。6.一种面向数据流模型的模...

【专利技术属性】
技术研发人员:王政张小龙江云松黄丽桃史泾位毕旭辉
申请(专利权)人:北京轩宇信息技术有限公司
类型:发明
国别省市:

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

1