CN113761746A - 一种代数环的识别方法及装置 - Google Patents
一种代数环的识别方法及装置 Download PDFInfo
- Publication number
- CN113761746A CN113761746A CN202111047786.9A CN202111047786A CN113761746A CN 113761746 A CN113761746 A CN 113761746A CN 202111047786 A CN202111047786 A CN 202111047786A CN 113761746 A CN113761746 A CN 113761746A
- Authority
- CN
- China
- Prior art keywords
- module
- target
- information
- modules
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000005540 biological transmission Effects 0.000 claims abstract description 118
- 230000008569 process Effects 0.000 claims abstract description 21
- 230000010354 integration Effects 0.000 claims description 7
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims description 3
- 238000003379 elimination reaction Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 abstract description 19
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 4
- 238000005094 computer simulation Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Hardware Design (AREA)
- Geometry (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种代数环的识别方法及装置,应用于GcKontrol软件,包括:依据数据传输关系获取待识别模型中每个模块的传输信息;依据传输信息删除各个模块中不能形成代数环的模块,在得到各个目标模块中选取初始目标模块,采用递归的方式依据与初始目标模块对应的目标传输信息确定与初始传输模块对应的最终目标模块;在初始目标模块与最终目标模块相同的情况下,判定初始目标模块和最终目标模块之间的各个目标模块组成代数环,将代数环进行区别显示。上述过程,实现了对待识别模型中是否包含代数环的判定以及对代数环进行区别显示,避免了当仿真结果不正确或者仿真报错时,很难定位问题的原因,需要逐一排查模型中全部模块的问题。
Description
技术领域
本发明涉及仿真建模技术领域,尤其涉及一种代数环的识别方法及装置。
背景技术
在基于GcKontrol软件仿真建模中,用到的大部分模块都是直接馈通的,其中,直接馈通指模块的输出受到输入的控制,即当前时刻的输出与当前时刻的输入相关,因此搭建出的模型很容易形成代数环。当模型中存在代数环后,一般会出现两种情况:(1)执行仿真,但是仿真结果不一定正确;(2)仿真报错。
也就是说只有在无法仿真的情况下才会提示错误,而且也并没有定位到哪几个模块产生代数环。如果用户搭建的模型中用到的模块较多,当仿真结果不正确或者仿真报错时,就很难定位问题的原因,就需要逐一排查模型中的全部模块,十分繁琐。
发明内容
有鉴于此,本发明提供了一种软件产品的授权方法及装置,用以解决对软件的整体进行授权,但是,软件中的部分模块是开发者或者用户不希望用户访问的,在用户对软件访问的过程中,如果用户具有访问权限,可以对软件中的各个模块进行访问,因此,无法保证软件访问的安全性的问题。具体方案如下:
一种代数环的识别方法,应用于GcKontrol软件,所述方法包括:
获取所述GcKontrol软件中的待识别模型,依据数据传输关系获取所述待识别模型中每个模块的传输信息;
依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;
在所述各个目标模块中选取初始目标模块,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块;
在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示。
上述的方法,可选的,依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块,包括:
针对每个模块,若其满足不直接馈通、或者无输入数据模块,或者无输出数据接收模块中的至少一个,则判定该模块为不能形成代数环的模块;
在所述待识别模型的各个模块中将不能组成代数环的模块删除,将其余模块作为目标模块。
上述的方法,可选的,所述目标传输信息包括:当前目标模块的模块信息、所述当前目标模块输入数据模块信息和所述当前目标模块输出数据接收模块信息,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块,包括:
获取所述初始模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息;
将所述输出数据接收模块信息作为中间目标模块,获取所述中间目标模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息,将所述输出数据接收模块信息作为下一中间目标模块,重复执行上述过程,直至传输结束,得到最终目标模块,其中,传输结束为最终目标模块为初始目标模块或者最终传输模块的目标传输信息中不包括输出数据接收模块信息中的一个。
上述的方法,可选的,还包括:
针对由所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,在所述最终目标模块的输出端添加延迟模块或者积分模块中的至少一个,消除所述代数环。
上述的方法,可选的,还包括:
若所述待识别模型中存在支持自定义输入运算表达式的特殊模块,基于所述自定义输入运算表达式的输入和输出判断所述特殊模块是否直接馈通;
依据判断结果确定所述特殊模块是否组成代数环。
一种代数环的识别装置,应用于GcKontrol软件,所述装置包括:
获取模块,用于获取所述GcKontrol软件中的待识别模型,依据数据传输关系获取所述待识别模型中每个模块的传输信息;
删除模块,用于依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;
第一确定模块,用于在所述各个目标模块中选取初始目标模块,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块;
第一判断模块,用于在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示。
上述的装置,可选的,所述删除模块包括:
判定单元,用于针对每个模块,若其满足不直接馈通、或者无输入数据模块,或者无输出数据接收模块中的至少一个,则判定该模块为不能形成代数环的模块;
删除单元,用于在所述待识别模型的各个模块中将不能组成代数环的模块删除,将其余模块作为目标模块。
上述的装置,可选的,所述目标传输信息包括:当前目标模块的模块信息、所述当前目标模块输入数据模块信息和所述当前目标模块输出数据接收模块信息,所述第一确定模块包括:
获取单元,用于获取所述初始模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息;
确定单元,用于将所述输出数据接收模块信息作为中间目标模块,获取所述中间目标模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息,将所述输出数据接收模块信息作为下一中间目标模块,重复执行上述过程,直至传输结束,得到最终目标模块,其中,传输结束为最终目标模块为初始目标模块或者最终传输模块的目标传输信息中不包括输出数据接收模块信息中的一个。
上述的装置,可选的,还包括:
消除模块,用于针对由所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,在所述最终目标模块的输出端添加延迟模块或者积分模块中的至少一个,消除所述代数环。
上述的装置,可选的,还包括:
第二判断模块,用于若所述待识别模型中存在支持自定义输入运算表达式的特殊模块,基于所述自定义输入运算表达式的输入和输出判断所述特殊模块是否直接馈通;
第二确定模块,用于依据判断结果确定所述特殊模块是否组成代数环。
与现有技术相比,本发明包括以下优点:
本发明公开了一种代数环的识别方法及装置,应用于GcKontrol软件,包括:获取GcKontrol软件中的待识别模型,获依据数据传输关系获取待识别模型中每个模块的传输信息;删除待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;选取初始目标模块,采用递归的方式依据与初始目标模块对应的目标传输信息确定与初始传输模块对应的最终目标模块;在初始目标模块与最终目标模块相同的情况下,判定初始目标模块和最终目标模块之间的各个目标模块组成代数环,将代数环进行区别显示。上述过程,实现了对待识别模型中各个模块是否包含代数环的判定以及对代数环进行区别显示,避免了现有技术中,当仿真结果不正确或者仿真报错时,就很难定位问题的原因,就需要逐一排查模型中全部模块的问题
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种代数环的识别方法流程图;
图2为本申请实施例公开的一种模型结构示意图图;
图3为本申请实施例公开的一种模块的传输信息示意图;
图4为本申请实施例公开的一种代数环的识别方法又一流程图;
图5为本申请实施例公开的一种代数环的识别装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种代数环的识别方法及装置,应用于基于GcKontrol软件进行建模过程中对模型中存在的代数环进行识别,其中,代数环发生在两个或多个模块在输入端口具有信号直接传递而形成反馈的情况时,直接传递的模块在不知输入端口的值的情况下无法计算出输出端的值,也就是说现在时刻的输出是依赖现在时刻的输入值来计算的,此时就形成代数环。
在一个代数环中,由于模块之间是相互依赖的,所有的模块都要求在同一个时刻计算输出,这与通常的仿真顺序概念相抵触。在仿真建模中,搭建的模型难免会形成代数环,如果模型中产生代数环,则无法仿真或者得到的仿真结果不正确,用户很难找出仿真错误结果的原因,如果能识别出模型中的代数环,用户就能根据提示调整修改模型,避免代数环的产生。所以如何正确的识别其中的代数环至关重要。所以本发明提供了一种代数环的识别方法,以帮助模型设计者在基于GcKontrol软件建模过程中识别其中的代数环,及时调整模型,节省模型设计的时间,提高模型搭建效率。所述方法的执行流程如图1所示,包括步骤:
S101、获取所述GcKontrol软件中的待识别模型,依据数据传输关系获取所述待识别模型中每个模块的传输信息;
本发明实施例中,所述GCKontrol软件具有在GCAir平台上,支持系统设计、仿真、测试一体化的技术能力,所述待识别模型基于所述GCKontrol软件,所述待识别模型中包含有不同的模块和各个模块间的数据传输关系,针对每个模块,依据所述数据传输关系确定每个模块的传输信息,其中,所述传输信息包括:模块的模块信息,输入数据模块信息和输出数据接收模块信息。优选的,将每个模块的传输信息存储到MathFMUNodeInfo中。
S102、依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;
本发明实施例中,为简化计算过程,减少计算量,先将所述各个模块中一定不能形成代数环的模块的删除,将其余模块作为目标模块,其中,删除不能形成代数环的模块的过程如下:针对每个模块,若其满足不直接馈通、或者无输入数据模块,或者无输出数据接收模块中的至少一个,则判定该模块为不能形成代数环的模块。
S103、在所述各个目标模块中选取初始目标模块,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块;
本发明实施例中,在所述各个目标模块中选取初始目标模块,本发明实施例中,对具体的选取原则不进行限定,选取所述初始目标模块可以随机选举、顺序选取或者其它优选的选取方式,在选定所述初始目标模块后,在MathFMUNodeInfo中获取与所述初始目标模块对应的目标传输信息,其中,所述目标传输信息包括:当前目标模块的模块信息、所述当前目标模块输入数据模块信息和所述当前目标模块输出数据接收模块信息。
进一步的,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块,具体的处理过程如下:获取所述初始模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息;将所述输出数据接收模块信息作为中间目标模块,获取所述中间目标模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息,将所述输出数据接收模块信息作为下一中间目标模块,针对下一中间目标,采用与中间模块到下一中间目标模块相同的处理过程,重复执行,直至传输结束,得到最终目标模块,其中,传输结束为最终目标模块为初始目标模块或者最终传输模块的目标传输信息中不包括输出数据接收模块信息中的一个。
S104、在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示。
本发明实施例中,在确定所述最终目标模块的情况下,判断所述最终目标模块与所述初始目标模块是否相同,在所述初始目标模块与所述最终目标模块相同的情况下,判断所述初始目标模块和所述最终目标模块的各个模块之间不存在代数环,继续进行其它模块的判断。
在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示,进一步的,将所述代数环存入代数环列表中。其中,区别显示的方式可以为高亮显示,以颜色进行区分或者加粗显示等等,本发明实施例中,对具体的区别显示形式不进行限定。进一步的,删除所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环的连接线,继续进行代数环的识别。
进一步的,针对所述初始目标模块可能存在至少一个输出数据接收模块信息,先进行一路输出数据接收模块信息的判断,在判断完成后,在进行另一路输出数据接收模块信息的判断,直至全部数据输出接收模块信息判断完成。
本发明公开了一种代数环的识别方法,应用于GcKontrol软件,包括:获取GcKontrol软件中的待识别模型,依据数据传输关系获取待识别模型中每个模块的传输信息;删除待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;选取初始目标模块,采用递归的方式依据与初始目标模块对应的目标传输信息确定与初始传输模块对应的最终目标模块;在初始目标模块与最终目标模块相同的情况下,判定初始目标模块和最终目标模块之间的各个目标模块组成代数环,将代数环进行区别显示。上述过程,实现了对待识别模型中各个模块是否包含代数环的判定以及对代数环进行区别显示,避免了现有技术中,当仿真结果不正确或者仿真报错时,就很难定位问题的原因,就需要逐一排查模型中全部模块的问题。
本发明实施例中,GcKontrol软件中有些模块需要特殊考虑,如GcKontrol模型库中的多功能模块,多功能模块支持用户自定义输入运算的表达式,如果用户输入的表达式中输出与输入是直接馈通的,则可能形成代数环,否则,不会形成代数环。代数环中如果包含多功能模块,则需要根据连接的多功能模块的输入和输出变量是否关联来进一步确认其是否为代数环。
本发明实施例中,针对由所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,在所述最终目标模块的输出端添加延迟模块或者积分模块中的至少一个,消除所述代数环。如图2-1所示,GcKontrol模型库中的模块Add_Sub模块(加减模块)与Round模块(取整模块)的输出与输入是直接馈通的,其中,Add_Sub模块实现对输入的加减运算;Round模块实现对输入的取整运算,Add_Sub模块的输出端口连接Round模块的输入端口,Round模块的输出结果又是Add_Sub模块的输入,这样,在同一时刻就无法计算输出结果,形成代数环。如图2-2和2-3所示,分别加入GcKontrol模型库中的UnitDelay(延迟模块)和integrator(积分模块),其中,UnitDelay对输入延迟若干个采样周期后再作为结果输出,也就是说UnitDelay当前时刻的输出和当前时刻的输入无直接关系;integrator实现对输入信号的连续时间积分。当前时刻的输出为截至当前时刻输入的连续时间积分,也就是说integrator减弱输入信号与输出信号的关联关系,从而都可以消除代数环。提及UnitDelay(延迟模块)和integrator(积分模块)只是作为特例说明模型中并不是所有的环路都是代数环。基于上述的处理,避免模块都在同一时刻有输出,产生错误,让各模块输出的时间有一个延时,有前后顺序,达到遵循仿真原理的要求,进而能输出结果,不会形成代数环。
本发明实施例中,基于图2-1所示模型,对代数环的识别过程进行说明,具体的执行流程如图3所示,包括步骤:
S1:遍历模型中所有的模块,按照数据传输关系,将当前模块信息、当前模块输入数据模块信息、和当前模块输出数据接收模块信息存储到创建的模块节点信息结构体MathFMUNodeInfo中;三个模块的传输信息如图4所示,针对当前模块为constant模块,其对应的输入数据模块:无,其对应的输出数据接收模块:Add_Sub模块;针对当前模块为Add_Sub模块信息,其对应的输入数据模块:constant模块,其对应的输出数据接收模块:Round模块,针对当前模块为Round模块信息,其对应的输入数据模块:Add_Sub模块,其对应的输出数据模块:Add_Sub模块。
S2:删除模块节点信息MathFMUNodeInfo中不可能形成代数环的节点,比如当前模块不是直接馈通的,或者其无输入数据模块或无输出数据接收模块的节点信息;如图4的三个模块中,constant模块无输入数据模块,则该模块不可能形成代数环,需要删除。
S3:更新MathFMUNodeInfo。如模块的输入数据模块信息或数据接收模块信息中包含S2中删除的模块,则更新MathFMUNodeInfo数据。
S4:根据模块中输入数据模块信息或输出数据接收模块信息,递归寻找下一个相关模块,选择其中任意一个作为初始目标模块根据初始目标模块寻找中间目标模块,其中,所述中间目标模块为初始目标模块的数据接收模块,再根据中间目标模块寻找下一个中间目标模块,其中,下一中间目标模块为中间目标模块的数据接收模块,按照这样的方式依次寻找,如果最终找到初始目标模块,则初步认定为代数环,否则,不是代数环;
S5:特殊模块的处理。GcKontrol软件中有些模块需要特殊考虑,如GcKontrol模型库中的多功能模块,多功能模块支持用户自定义输入运算的表达式,如果用户输入的表达式中输出与输入是直接馈通的,则可能形成代数环,否则,不会形成代数环。S4中初步认定的代数环中如果包含多功能模块,则需要根据连接的多功能模块的输入和输出变量是否关联来进一步确认其是否为代数环。
S6:重复S2-S5步骤,找出模型中所有的代数环,将其高亮显示。
基于上述的识别方法,以帮助模型设计者在建模过程中识别其中的代数环,及时调整模型,节省模型设计的时间,提高模型搭建效率。
基于上述的一种代数环的识别方法,本发明实施例中还提供了一种代数环的识别装置,应用于GcKontrol软件,所述装置的结构框图如图5所示,包括:
获取模块201、删除模块202、第一确定模块203和第一判断模块204。
其中,
所述获取模块201,用于获取所述GcKontrol软件中的待识别模型,依据数据传输关系获取所述待识别模型中每个模块的传输信息;
所述删除模块202,用于依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;
所述第一确定模块203,用于在所述各个目标模块中选取初始目标模块,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块;
所述第一判断模块204,用于在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示。
本发明公开了一种代数环的识别装置,应用于GcKontrol软件,包括:获取GcKontrol软件中的待识别模型,依据数据传输关系获取待识别模型中每个模块的传输信息;删除待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;选取初始目标模块,采用递归的方式依据与初始目标模块对应的目标传输信息确定与初始传输模块对应的最终目标模块;在初始目标模块与最终目标模块相同的情况下,判定初始目标模块和最终目标模块之间的各个目标模块组成代数环,将代数环进行区别显示。上述过程,实现了对待识别模型中各个模块是否包含代数环的判定以及对代数环进行区别显示,避免了现有技术中,当仿真结果不正确或者仿真报错时,就很难定位问题的原因,就需要逐一排查模型中全部模块的问题。
本发明实施例中,所述删除模块202包括:
判定单元205和删除单元206。
所述判定单元205,用于针对每个模块,若其满足不直接馈通、或者无输入数据模块,或者无输出数据接收模块中的至少一个,则判定该模块为不能形成代数环的模块;
所述删除单元206,用于在所述待识别模型的各个模块中将不能组成代数环的模块删除,将其余模块作为目标模块。
本发明实施例中,所述目标传输信息包括:当前目标模块的模块信息、所述当前目标模块输入数据模块信息和所述当前目标模块输出数据接收模块信息,所述第一确定模块包括:
获取单元207和确定单元208。
其中,
所述获取单元207,用于获取所述初始模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息;
所述确定单元208,用于将所述输出数据接收模块信息作为中间目标模块,获取所述中间目标模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息,将所述输出数据接收模块信息作为下一中间目标模块,重复执行上述过程,直至传输结束,得到最终目标模块,其中,传输结束为最终目标模块为初始目标模块或者最终传输模块的目标传输信息中不包括输出数据接收模块信息中的一个。
本发明实施例中,所述确定装置还包括:消除模块209。
其中,
所述消除模块209,用于针对由所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,在所述最终目标模块的输出端添加延迟模块或者积分模块中的至少一个,消除所述代数环。
本发明实施例中,所述确定装置还包括:
第二判断模块210和第二确定模块211。
其中,
所述第二判断模块210,用于若所述待识别模型中存在支持自定义输入运算表达式的特殊模块,基于所述自定义输入运算表达式的输入和输出判断所述特殊模块是否直接馈通;
所述第二确定模块211,用于依据判断结果确定所述特殊模块是否组成代数环。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种代数环的识别方法,其特征在于,应用于GcKontrol软件,所述方法包括:
获取所述GcKontrol软件中的待识别模型,依据数据传输关系获取所述待识别模型中每个模块的传输信息;
依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;
在所述各个目标模块中选取初始目标模块,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块;
在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示。
2.根据权利要求1所述的方法,其特征在于,依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块,包括:
针对每个模块,若其满足不直接馈通、或者无输入数据模块,或者无输出数据接收模块中的至少一个,则判定该模块为不能形成代数环的模块;
在所述待识别模型的各个模块中将不能组成代数环的模块删除,将其余模块作为目标模块。
3.根据权利要求1所述的方法,其特征在于,所述目标传输信息包括:当前目标模块的模块信息、所述当前目标模块输入数据模块信息和所述当前目标模块输出数据接收模块信息,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块,包括:
获取所述初始模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息;
将所述输出数据接收模块信息作为中间目标模块,获取所述中间目标模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息,将所述输出数据接收模块信息作为下一中间目标模块,重复执行上述过程,直至传输结束,得到最终目标模块,其中,传输结束为最终目标模块为初始目标模块或者最终传输模块的目标传输信息中不包括输出数据接收模块信息中的一个。
4.根据权利要求1所述的方法,其特征在于,还包括:
针对由所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,在所述最终目标模块的输出端添加延迟模块或者积分模块中的至少一个,消除所述代数环。
5.根据权利要求1所述的方法,其特征在于,还包括:
若所述待识别模型中存在支持自定义输入运算表达式的特殊模块,基于所述自定义输入运算表达式的输入和输出判断所述特殊模块是否直接馈通;
依据判断结果确定所述特殊模块是否组成代数环。
6.一种代数环的识别装置,其特征在于,应用于GcKontrol软件,所述装置包括:
获取模块,用于获取所述GcKontrol软件中的待识别模型,依据数据传输关系获取所述待识别模型中每个模块的传输信息;
删除模块,用于依据所述传输信息删除所述待识别模型的各个模块中不能形成代数环的模块,得到各个目标模块;
第一确定模块,用于在所述各个目标模块中选取初始目标模块,采用递归的方式依据与所述初始目标模块对应的目标传输信息确定与所述初始传输模块对应的最终目标模块;
第一判断模块,用于在所述初始目标模块与所述最终目标模块相同的情况下,判定所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,将所述代数环进行区别显示。
7.根据权利要求6所述的装置,其特征在于,所述删除模块包括:
判定单元,用于针对每个模块,若其满足不直接馈通、或者无输入数据模块,或者无输出数据接收模块中的至少一个,则判定该模块为不能形成代数环的模块;
删除单元,用于在所述待识别模型的各个模块中将不能组成代数环的模块删除,将其余模块作为目标模块。
8.根据权利要求6所述的装置,其特征在于,所述目标传输信息包括:当前目标模块的模块信息、所述当前目标模块输入数据模块信息和所述当前目标模块输出数据接收模块信息,所述第一确定模块包括:
获取单元,用于获取所述初始模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息;
确定单元,用于将所述输出数据接收模块信息作为中间目标模块,获取所述中间目标模块的目标传输信息,获取所述目标传输信息中包含的输出数据接收模块信息,将所述输出数据接收模块信息作为下一中间目标模块,重复执行上述过程,直至传输结束,得到最终目标模块,其中,传输结束为最终目标模块为初始目标模块或者最终传输模块的目标传输信息中不包括输出数据接收模块信息中的一个。
9.根据权利要求6所述的装置,其特征在于,还包括:
消除模块,用于针对由所述初始目标模块和所述最终目标模块之间的各个目标模块组成代数环,在所述最终目标模块的输出端添加延迟模块或者积分模块中的至少一个,消除所述代数环。
10.根据权利要求6所述的装置,其特征在于,还包括:
第二判断模块,用于若所述待识别模型中存在支持自定义输入运算表达式的特殊模块,基于所述自定义输入运算表达式的输入和输出判断所述特殊模块是否直接馈通;
第二确定模块,用于依据判断结果确定所述特殊模块是否组成代数环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047786.9A CN113761746B (zh) | 2021-09-08 | 2021-09-08 | 一种代数环的识别方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047786.9A CN113761746B (zh) | 2021-09-08 | 2021-09-08 | 一种代数环的识别方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113761746A true CN113761746A (zh) | 2021-12-07 |
CN113761746B CN113761746B (zh) | 2023-07-25 |
Family
ID=78793688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111047786.9A Active CN113761746B (zh) | 2021-09-08 | 2021-09-08 | 一种代数环的识别方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761746B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167352A (zh) * | 2022-07-05 | 2022-10-11 | 南方电网科学研究院有限责任公司 | 一种电力仿真二次控制系统的代数环识别方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220175A (zh) * | 2017-05-08 | 2017-09-29 | 百富计算机技术(深圳)有限公司 | 应用程序死循环定位方法、装置、计算机设备和存储介质 |
CN112434061A (zh) * | 2020-08-25 | 2021-03-02 | 上海幻电信息科技有限公司 | 支持循环依赖的任务调度方法和系统 |
-
2021
- 2021-09-08 CN CN202111047786.9A patent/CN113761746B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107220175A (zh) * | 2017-05-08 | 2017-09-29 | 百富计算机技术(深圳)有限公司 | 应用程序死循环定位方法、装置、计算机设备和存储介质 |
CN112434061A (zh) * | 2020-08-25 | 2021-03-02 | 上海幻电信息科技有限公司 | 支持循环依赖的任务调度方法和系统 |
Non-Patent Citations (2)
Title |
---|
姬秀娟;杨巨峰;许静;李晓虹;封磊;: "基于递推链代数与迭代序列敛散性的死循环检测", 计算机学报 * |
阮辉;严俊;张健;: "基于路径分析的死循环检测", 计算机学报 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115167352A (zh) * | 2022-07-05 | 2022-10-11 | 南方电网科学研究院有限责任公司 | 一种电力仿真二次控制系统的代数环识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113761746B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092491B (zh) | 一种配置加载方法和系统 | |
CN111309734B (zh) | 自动生成表数据的方法及系统 | |
US20140172850A1 (en) | Method, apparatus, and computer-readable medium for optimized data subsetting | |
EP1548581A2 (en) | Methods, apparatus and programs for system development | |
CN112905441A (zh) | 测试用例生成方法、测试方法、装置及设备 | |
US20070156742A1 (en) | Visual modeling method and apparatus | |
CN113761746B (zh) | 一种代数环的识别方法及装置 | |
CN108647422B (zh) | 端口时延约束方法及装置 | |
CN111240987B (zh) | 移植程序检测方法、装置、电子设备及计算机可读存储介质 | |
CN113190576A (zh) | 数据处理方法、装置、计算机设备和可读存储介质 | |
WO2023207973A1 (zh) | 编译器测试方法、用例生成方法、装置及指令存储结构 | |
CN110058996B (zh) | 程序调试方法、装置、设备和存储介质 | |
CN106896419B (zh) | 一种确定油气资源量的方法及装置 | |
CN115587701A (zh) | 一种企业风险评估处理方法、装置及电子设备 | |
CN115203300A (zh) | 一种数据验证方法及装置 | |
US20070156755A1 (en) | Data source mapping method and apparatus | |
CN112699129A (zh) | 一种数据处理系统、方法及装置 | |
CN111444618A (zh) | 一种基于变量字典的仿真方法及装置 | |
CN115098375A (zh) | 测试用例和脚本的生成方法及装置、电子设备、存储介质 | |
CN111949505B (zh) | 一种测试方法、装置及设备 | |
JP2019144873A (ja) | ブロック線図解析装置 | |
CN118193032B (zh) | 消除无效依赖库的方法、装置、设备、介质和程序产品 | |
CN115857894A (zh) | maven工程代码整合方法及装置 | |
CN107291613B (zh) | 一种功能节点异常模拟方法及装置 | |
CN115185824A (zh) | 接口测试脚本开发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |