CN102654842A - 一种判断流程图中是否存在循环回路的方法和装置 - Google Patents

一种判断流程图中是否存在循环回路的方法和装置 Download PDF

Info

Publication number
CN102654842A
CN102654842A CN2011100505464A CN201110050546A CN102654842A CN 102654842 A CN102654842 A CN 102654842A CN 2011100505464 A CN2011100505464 A CN 2011100505464A CN 201110050546 A CN201110050546 A CN 201110050546A CN 102654842 A CN102654842 A CN 102654842A
Authority
CN
China
Prior art keywords
adjacent egress
egress node
node
value
current
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
Application number
CN2011100505464A
Other languages
English (en)
Other versions
CN102654842B (zh
Inventor
蒋建波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kingdee Tianyanyun Computing Co Ltd
Original Assignee
Shenzhen Kingdee Middleware Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Kingdee Middleware Co ltd filed Critical Shenzhen Kingdee Middleware Co ltd
Priority to CN201110050546.4A priority Critical patent/CN102654842B/zh
Publication of CN102654842A publication Critical patent/CN102654842A/zh
Application granted granted Critical
Publication of CN102654842B publication Critical patent/CN102654842B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种判断流程图中是否存在循环回路的方法和装置,属于计算机技术领域。方法包括:根据流程图中每个节点的状态和预设的节点状态与状态值之间的对应关系,得到流程图中每个节点的状态值;将当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点;将第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到或运算结果值;如果或运算结果值与原状态值不相等,则将或运算结果值作为第一当前相邻出口节点的当前状态值;如果搜索但不能够搜索到第一当前相邻出口节点的相邻出口节点,且当前节点的所有入口节点中存在状态值为已搜索状态值的节点时,则证明将第一当前相邻出口节点作为当前节点的流转节点时存在循环回路。

Description

一种判断流程图中是否存在循环回路的方法和装置
技术领域
本发明涉及计算机技术领域,特别涉及一种判断流程图中是否存在循环回路的方法和装置。
背景技术
图的数据结构在游戏、工作流、图像处理、影像处理等领域有着广泛的应用,图的遍历算法是图的数据结构操作中最重要和最常见的操作之一。流程图是图的一种特例,它是用图的方式描述一段流程。流程图的执行就是一种特殊的遍历,它是从开始节点开始,经过一系列节点,最终到达终止节点的过程。但是因为各种原因,流程图中经常会出现循环回路,也就是正在执行的节点的输出又会反馈回到已经执行过的节点,出现无法跳出的循环。所以为了防止流程图的执行过程中出现无法跳出的循环,每一步流转过程都需要检查是否存在循环回路,避免陷入循环。
现有技术的判断流程图中是否存在循环回路的方法如下:
根据流程图中的节点是否已被执行和是否已被搜索,可以将流程图中的每个节点的状态分为执行状态和搜索状态,其中执行状态包括未执行、已执行、跳过,搜索状态包括已搜索、未搜索。然后使用多个布尔(boolean)类型的标志,或多个普通的数字型或者枚举型的标志,与节点的每个状态分别对应,比如用1表示未执行、2表示已执行、3表示跳过,用4表示已搜索、5表示未搜索。分别对流程图中的当前节点的每一个相邻出口节点进行遍历,并标注遍历后的每个结点的状态,在对某个相邻出口节点进行遍历后,根据标注的每个结点的状态判断将该相邻出口节点作为当前节点的流转节点时是否存在循环回路。根据标注的每个结点的状态判断将该相邻出口节点作为当前节点的流转节点时是否存在循环回路具体是:判断该当前节点的入口节点中是否存在状态为未执行已搜索的节点,或状态为已跳过已搜索的节点,如果存在,则将该相邻出口节点作为当前节点的流转节点时存在循环回路。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
现有技术的方法在判断流程图中是否存在循环回路时,需要将入口节点的执行状态和搜索状态联合起来进行判断,即需要使用多个表达式(expression)联合起来进行判断,判断的方式复杂,判断算法的运行速度慢。
发明内容
为了解决现有技术中的问题,本发明实施例提供了一种判断流程图中是否存在循环回路的方法和装置。所述技术方案如下:
一种判断流程图中是否存在循环回路的方法,所述方法包括:
根据预设的节点状态与状态值之间的对应关系,将流程图中每个节点的状态标注为相应的状态值;
判断是否能够搜索到当前节点的相邻出口节点;
如果能够搜索到当前节点的相邻出口节点,则将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点;
将所述第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值;
判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值是否相等;
如果所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值不相等,则将所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第一当前相邻出口节点的当前状态值;
判断是否能够搜索到所述第一当前相邻出口节点的相邻出口节点;
如果不能够搜索到所述第一当前相邻出口节点的相邻出口节点,则判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点;
如果所述当前节点的所有入口节点中存在状态值为已搜索状态值的节点,则证明将所述第一当前相邻出口节点作为所述当前节点的流转节点时,存在循环回路。
一种判断流程图中是否存在循环回路的装置,所述装置包括:
标注模块,用于根据预设的节点状态与状态值之间的对应关系,将流程图中每个节点的状态标注为相应的状态值;
第一判断模块,用于当所述标注模块将流程图中每个节点的状态标注为相应的状态值后,判断是否能够搜索到当前节点的相邻出口节点;
第一处理模块,用于当所述第一判断模块判断能够搜索到当前节点的相邻出口节点后,将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点;
第一运算模块,用于当所述第一处理模块将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点后,将所述第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值;
第二判断模块,用于当所述第一运算模块得到所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值后,判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值是否相等;
第二处理模块,用于当所述第二判断模块判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值不相等时,将所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第一当前相邻出口节点的当前状态值;
第三判断模块,用于当所述第二处理模块将所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第一当前相邻出口节点的当前状态值后,判断是否能够搜索到所述第一当前相邻出口节点的相邻出口节点;
第四判断模块,用于当所述第三判断模块判断不能够搜索到所述第一当前相邻出口节点的相邻出口节点时,判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点;
第一证明模块,用于当所述第四判断模块判断所述当前节点的所有入口节点中存在状态值为已搜索状态值的节点后,证明将所述第一当前相邻出口节点作为所述当前节点的流转节点时,存在循环回路。
本发明实施例提供的技术方案的有益效果是:
通过利用二进制“或(XOR)”运算的特点,通过设置各个节点状态的状态值,实现只需判断一次或运算结果值就可以得知是否存在循环回路,即只需判断一个表达式就可以获得组合判断结果,判断方式简单,提高了判断算法的运行速度。
附图说明
图1是本发明实施例1提供的一种判断流程图中是否存在循环回路的方法流程图;
图2a和图2b是本发明实施例2提供的一种判断流程图中是否存在循环回路的方法流程图;
图3是本发明实施例2提供的一种流程图的状态示意图;
图4是本发明实施例2提供的一种流程图的状态值示意图;
图5是本发明实施例2提供的一种利用实施例2所述的方法处理后的流程图的状态示意图;
图6是本发明实施例2提供的一种利用实施例2所述的方法处理后的流程图的状态值示意图;
图7是本发明实施例3提供的第一种判断流程图中是否存在循环回路的装置结构示意图;
图8是本发明实施例3提供的第二种判断流程图中是否存在循环回路的装置结构示意图;
图9是本发明实施例3提供的第三种判断流程图中是否存在循环回路的装置结构示意图;
图10是本发明实施例3提供的第四种判断流程图中是否存在循环回路的装置结构示意图;
图11是本发明实施例3提供的第五种判断流程图中是否存在循环回路的装置结构示意图;
图12是本发明实施例3提供的第六种判断流程图中是否存在循环回路的装置结构示意图;
图13是本发明实施例3提供的第七种判断流程图中是否存在循环回路的装置结构示意图;
图14是本发明实施例3提供的第八种判断流程图中是否存在循环回路的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。在描述过程中需要用二进制数值,在以下内容中用小写b开头的0和1组成的数字来表示二进制数值,比如b100表示二进制数值100。
实施例1
参见图1,本发明实施例提供了一种判断流程图中是否存在循环回路的方法,包括:
101:根据流程图中每个节点的状态和预设的节点状态与状态值之间的对应关系,得到流程图中每个节点的状态值。
102:判断是否能够搜索到当前节点的相邻出口节点。
103:如果能够搜索到当前节点的相邻出口节点,则将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点。
104:将第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值。
105:判断第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值是否相等。
106:如果第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值不相等,将第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第一当前相邻出口节点的当前状态值。
107:判断是否能够搜索到第一当前相邻出口节点的相邻出口节点。
108:如果不能够搜索到第一当前相邻出口节点的相邻出口节点,则判断当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点。
109:如果当前节点的所有入口节点中存在状态值为已搜索状态值的节点,则证明将第一当前相邻出口节点作为当前节点的流转节点时,存在循环回路。
进一步地,判断第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值是否相等之后,该方法还包括:
如果第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值相等,则判断当前节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点。
如果当前节点的所有相邻出口节点中存在未被执行过的相邻出口节点,则将当前节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点,然后执行将第一当前相邻出口节点的原状态值与已搜索状态值进行或运算的步骤。
进一步地,判断是否能够搜索到第一当前相邻出口节点的相邻出口节点之后,该方法还包括:
如果能够搜索到第一当前相邻出口节点的相邻出口节点,则将搜索到的第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点。
判断第二当前相邻出口节点的原状态值是否是已执行状态值。
如果第二当前相邻出口节点的原状态值是已执行状态值,则判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点。
如果第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点,则将第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行判断第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
进一步地,判断第二当前相邻出口节点的原状态值是否是已执行状态值之后,该方法还包括:
如果第二当前相邻出口节点的原状态值不是已执行状态值,则将第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值进行或运算,得到或运算结果值。
判断第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值是否相等。
如果第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值相等,则执行判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点的步骤。
进一步地,判断第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值是否相等之后,该方法还包括:
如果第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值不相等,则将第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第二当前相邻出口节点的当前状态值。
判断是否能够搜索到第二当前相邻出口节点的相邻出口节点。
如果能够搜索到第二当前相邻出口节点的相邻出口节点,则将第二当前相邻出口节点作为第一当前相邻出口节点,将搜索到的第二当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行判断第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
进一步地,判断是否能够搜索到第二当前相邻出口节点的相邻出口节点之后,该方法还包括:
如果不能够搜索到第二当前相邻出口节点的相邻出口节点,则判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点。
如果第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点,则将第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行判断第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
进一步地,判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点之后,该方法还包括:
如果第一当前相邻出口节点的所有相邻出口节点中不存在未被执行过的相邻出口节点,则执行判断当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点的步骤。
进一步地,判断当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点之后,该方法还包括:
如果当前节点的所有入口节点中不存在状态值为已搜索状态值的节点,则证明将第一当前相邻出口节点作为当前节点的流转节点时,不存在循环回路。
本发明实施例所述的判断流程图中是否存在循环回路的方法,利用二进制“或(XOR)”运算的特点,通过设置各个节点状态的状态值,实现只需判断一次或运算结果值就可以得知是否存在循环回路,即只需判断一个表达式就可以获得组合判断结果,判断方式简单,提高了判断算法的运行速度。
实施例2
参见图2a和图2b,本发明实施例提供了一种判断流程图中是否存在循环回路的方法,包括:
201:根据流程图中每个节点的状态和预设的节点状态与状态值之间的对应关系,得到流程图中每个节点的状态值。
本发明实施例中,设节点状态包括未执行、已执行、跳过和已搜索。并且预设的节点状态与状态值之间的对应关系如下:未执行对应的状态值为b000、已执行对应的状态值为b111、跳过对应的状态值为b010、已搜索对应的状态值为b110。并且,为了便于描述,将未执行对应的状态值称为未执行状态值、已执行对应的状态值称是已执行状态值、跳过对应的状态值称为跳过状态值、已搜索对应的状态值称为已搜索状态值。
例如,参见图3和图4,根据流程图中每个节点的状态和预设的节点状态与状态值之间的对应关系,将流程图3中每个节点的状态标注为相应的状态值,得到如图4所示的结果。
并且,还可以设置节点状态与状态值之间的对应关系如下:未执行对应的状态值为b0000、已执行对应的状态值为b1110、跳过对应的状态值为b0100、已搜索对应的状态值为b1100。或还可以设置节点状态与状态值之间的对应关系如下:未执行对应的状态值为b0000、已执行对应的状态值为b1101、跳过对应的状态值为b0100、已搜索对应的状态值为b1100。或还可以设置节点状态与状态值之间的对应关系如下:未执行对应的状态值为b00000、已执行对应的状态值为b01101、跳过对应的状态值为b00100、已搜索对应的状态值为b01100。即可以根据实际应用状况设置未执行、已执行、跳过和已搜索的状态值为一组与b000、b111、b010和b110的二进制标志位具有类似对应关系的值。
202:判断是否能够搜索到当前节点的相邻出口节点,如果能够,则执行203;否则,结束。
其中,当前节点是指流程图执行过程中当前执行到的需要判断其的相邻出口节点是否存在循环回路的节点。当前节点的相邻出口节点是指与当前节点相关联的第一个出口节点。
例如,参见图3,其中当前节点为步骤B所在的节点,当前节点的相邻出口节点为步骤C所在的节点。
203:将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点。
例如,参见图3,其中当前节点的相邻出口节点只有一个为步骤C所在的节点,则将步骤C所在的节点作为第一当前相邻出口节点。
204:将第一当前相邻出口节点的原状态值与已搜索状态值进行“或(XOR)”运算,得到或运算结果值。
205:判断或运算结果值与第一当前相邻出口节点的原状态值是否相等,如果相等,则执行220;否则,执行206。
例如,参见图3和图4,步骤C所在的节点为第一当前相邻出口节点,则第一当前相邻出口节点的原状态值为b000。将b000与b110进行“或(XOR)”运算,得到或运算结果值b110。从而判断出或运算结果值与第一当前相邻出口节点的原状态值不相等,则执行206。
206:将第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第一当前相邻出口节点的当前状态值,然后执行207。
例如,参见图3、图4、图5和图6,步骤C所在的节点为第一当前相邻出口节点,且第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值为b110,从而第一当前相邻出口节点的当前状态值为b110。
207:判断是否能够搜索到第一当前相邻出口节点的相邻出口节点,如果能够,则执行208;否则,执行217。
例如,参见图3、图4、图5和图6,步骤C所在的节点为第一当前相邻出口节点,则第一当前相邻出口节点的相邻出口节点分别为步骤A所在的节点和步骤E所在的节点。
208:将搜索到的第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点。
例如:将步骤A所在的节点作为第二当前相邻出口节点。
209:判断第二当前相邻出口节点的原状态值是否是已执行状态值,如果是,则执行215;否则,执行210。
例如:步骤A所在的节点为第二当前相邻出口节点,参见图4,步骤A所在的节点的原状态值为b010(为已跳过状态值),不是已执行状态值,从而执行210。
210:将第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值进行“或(XOR)”运算,得到或运算结果值。
例如:参见图3、图4、图5和图6,第二当前相邻出口节点(步骤A所在的节点)的原状态值为b010,第一当前相邻出口节点(步骤C所在的节点)的当前状态值为b110,则第二当前相邻出口节点的原状态值b010与第一当前相邻出口节点的当前状态值b110进行“或(XOR)”运算得到或运算结果值为b110。
211:判断或运算结果值与第二当前相邻出口节点的原状态值是否相等,如果相等,则执行215;否则,执行212。
例如:参见图3、图4、图5和图6,第二当前相邻出口节点(步骤A所在的节点)的原状态值与第一当前相邻出口节点(步骤C所在的节点)的当前状态值的或运算结果值b110,与第二当前相邻出口节点的原状态值b010不相等,从而执行212。
212:将第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第二当前相邻出口节点的当前状态值,然后执行213。
例如:参见图3、图4、图5和图6,第二当前相邻出口节点(步骤A所在的节点)的原状态值与第一当前相邻出口节点(步骤C所在的节点)的当前状态值的或运算结果值b110,则第二当前相邻出口节点的当前状态值为b110。
213:判断是否能够搜索到第二当前相邻出口节点的相邻出口节点,如果能够,则执行214;否则,执行215。
例如:参见图3、图4、图5和图6,第二当前相邻出口节点(步骤A所在的节点)的相邻出口节点分别为步骤B所在的节点和步骤D所在的节点。
214:将第二当前相邻出口节点作为第一当前相邻出口节点,将搜索到的第二当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行209。
即按照递归算法对第二当前相邻出口节点的出口节点依次进行判断。
例如:参见图3、图4、图5和图6,将步骤B所在的节点作为第二当前相邻出口节点。步骤B所在的节点的状态值为b111(已执行状态值),所以执行209后转到215。第一当前相邻出口节点(步骤C所在的节点)的相邻出口节点分别为步骤A所在的节点和步骤E所在的节点,由于步骤E所在的节点还未被执行过,所以执行215后转到216。将步骤E所在的节点作为第二当前相邻出口节点,执行216后转到209。如此递归进行直到执行到结束所在的节点。参见图6,为按照本发明实施例所述的方法执行后的各个节点的状态值图。
215:判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点,如果存在,执行216;否则,执行217。
216:将第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行209。
217:判断当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点,如果存在,则执行218;否则,执行219。
例如:参见图5、图6,当前节点为步骤B所在的节点,当前节点的入口节点分别为步骤A所在的节点和X所在的节点,其中,步骤A所在的节点的状态值为已搜索状态值(b110),所以执行218。
218:证明将第一当前相邻出口节点作为当前节点的流转节点时,存在循环回路,然后执行220。
并且,在证明将第一当前相邻出口节点作为当前节点的流转节点时存在循环回路后,可以将第一当前相邻出口节点存在循环回路的信息记录下来,供流程图执行时参考。具体地,可以通过对第一当前相邻出口节点设定存在循环回路标记等方法将第一当前相邻出口节点存在循环回路的信息记录下来。
219:证明将第一当前相邻出口节点作为当前节点的流转节点时,不存在循环回路,然后执行220。
220:判断当前节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点,如果存在,执行221;否则,结束。
221:将当前节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点,然后执行204。
本发明实施例所述的判断流程图中是否存在循环回路的方法,利用二进制“或(XOR)”运算的特点,通过设置各个节点状态的状态值,实现只需判断一次或运算结果值就可以得知是否存在循环回路,即只需判断一个表达式就可以获得组合判断结果,判断方式简单,提高了判断算法的运行速度。
实施例3
本发明实施例提供了一种判断流程图中是否存在循环回路的装置,参见图7,该装置包括:
标注模块301,用于根据预设的节点状态与状态值之间的对应关系,将流程图中每个节点的状态标注为相应的状态值;
第一判断模块302,用于当标注模块301将流程图中每个节点的状态标注为相应的状态值后,判断是否能够搜索到当前节点的相邻出口节点;
第一处理模块303,用于当第一判断模块302判断能够搜索到当前节点的相邻出口节点后,将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点;
第一运算模块304,用于当第一处理模块303将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点后,将第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值;
第二判断模块305,用于当第一运算模块304得到第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值后,判断第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值是否相等;
第二处理模块306,用于当第二判断模块305判断第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值不相等时,将第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第一当前相邻出口节点的当前状态值;
第三判断模块307,用于当第二处理模块306将第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第一当前相邻出口节点的当前状态值后,判断是否能够搜索到第一当前相邻出口节点的相邻出口节点;
第四判断模块308,用于当第三判断模块307判断不能够搜索到第一当前相邻出口节点的相邻出口节点时,判断当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点;
第一证明模块309,用于当第四判断模块308判断当前节点的所有入口节点中存在状态值为已搜索状态值的节点后,证明将第一当前相邻出口节点作为当前节点的流转节点时,存在循环回路。
进一步地,参见图8,该装置还包括:
第五判断模块310,用于当第二判断模块305判断第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与第一当前相邻出口节点的原状态值相等时,判断当前节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
第三处理模块311,用于当第五判断模块310判断当前节点的所有相邻出口节点中存在未被执行过的相邻出口节点时,将当前节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点,然后通知第一运算模块304执行将第一当前相邻出口节点的原状态值与已搜索状态值进行或运算的步骤。
进一步地,参见图9,该装置还包括:
第四处理模块312,用于当第三判断模块307判断能够搜索到第一当前相邻出口节点的相邻出口节点时,将搜索到的第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点;
第六判断模块313,用于当第四处理模块312将搜索到的第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点后,判断第二当前相邻出口节点的原状态值是否是已执行状态值;
第七判断模块314,用于当第六判断模块313判断第二当前相邻出口节点的原状态值是已执行状态值时,判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
第五处理模块315,用于当第七判断模块314判断第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点时,将第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后通知第六判断模块313执行判断第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
进一步地,参见图10,该装置还包括:
第二运算模块316,用于当第六判断模块313判断第二当前相邻出口节点的原状态值不是已执行状态值时,将第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值进行或运算,得到或运算结果值;
第八判断模块317,用于当第二运算模块316得到或运算结果值后,判断第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值是否相等;
第六处理模块318,用于当第八判断模块317判断第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值相等时,通知第七判断模块314执行判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点的步骤。
进一步地,参见图11,该装置还包括:
第七处理模块319,用于当第八判断模块317判断第二当前相邻出口节点的原状态值与第一当前相邻出口节点的当前状态值的或运算结果值与第二当前相邻出口节点的原状态值不相等时,将第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第二当前相邻出口节点的当前状态值;
第九判断模块320,用于当第七处理模块319将第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为第二当前相邻出口节点的当前状态值后,判断是否能够搜索到第二当前相邻出口节点的相邻出口节点;
第八处理模块321,用于当第九判断模块320判断能够搜索到第二当前相邻出口节点的相邻出口节点后,将第二当前相邻出口节点作为第一当前相邻出口节点,将搜索到的第二当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后通知第六判断模块313执行判断第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
进一步地,参见图12,该装置还包括:
第十判断模块322,用于当第九判断模块320判断不能够搜索到第二当前相邻出口节点的相邻出口节点时,判断第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
第九处理模块323,用于当第十判断模块322判断第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点时,将第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后通知第六判断模块313执行判断第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
进一步地,参见图13,该装置还包括:
第十处理模块324,用于当第七判断模块314判断第一当前相邻出口节点的所有相邻出口节点中不存在未被执行过的相邻出口节点后,通知第四判断模块308执行判断当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点的步骤。
进一步地,参见图14,该装置还包括:
第二证明模块325,用于当第四判断模块308判断当前节点的所有入口节点中不存在状态值为已搜索状态值的节点后,证明将第一当前相邻出口节点作为当前节点的流转节点时,不存在循环回路。
本发明实施例所述的判断流程图中是否存在循环回路的装置,利用二进制“或(XOR)”运算的特点,通过设置各个节点状态的状态值,实现只需判断一次或运算结果值就可以得知是否存在循环回路,即只需判断一个表达式就可以获得组合判断结果,判断方式简单,提高了判断算法的运行速度。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种判断流程图中是否存在循环回路的方法,其特征在于,所述方法包括:
根据预设的节点状态与状态值之间的对应关系,将流程图中每个节点的状态标注为相应的状态值;
判断是否能够搜索到当前节点的相邻出口节点;
如果能够搜索到当前节点的相邻出口节点,则将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点;
将所述第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值;
判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值是否相等;
如果所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值不相等,则将所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第一当前相邻出口节点的当前状态值;
判断是否能够搜索到所述第一当前相邻出口节点的相邻出口节点;
如果不能够搜索到所述第一当前相邻出口节点的相邻出口节点,则判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点;
如果所述当前节点的所有入口节点中存在状态值为已搜索状态值的节点,则证明将所述第一当前相邻出口节点作为所述当前节点的流转节点时,存在循环回路。
2.根据权利要求1所述的判断流程图中是否存在循环回路的方法,其特征在于,判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值是否相等之后,所述方法还包括:
如果所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值相等,则判断所述当前节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
如果所述当前节点的所有相邻出口节点中存在未被执行过的相邻出口节点,则将所述当前节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点,然后执行将所述第一当前相邻出口节点的原状态值与已搜索状态值进行或运算的步骤。
3.根据权利要求1所述的判断流程图中是否存在循环回路的方法,其特征在于,判断是否能够搜索到所述第一当前相邻出口节点的相邻出口节点之后,所述方法还包括:
如果能够搜索到所述第一当前相邻出口节点的相邻出口节点,则将搜索到的所述第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点;
判断所述第二当前相邻出口节点的原状态值是否是已执行状态值;
如果所述第二当前相邻出口节点的原状态值是已执行状态值,则判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
如果所述第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点,则将所述第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行判断所述第二当前相邻出口节点的原状态值是否是已执行状态值的步骤;
如果所述第二当前相邻出口节点的原状态值不是已执行状态值,则将所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值进行或运算,得到或运算结果值;
判断所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值的或运算结果值与所述第二当前相邻出口节点的原状态值是否相等;
如果所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值的或运算结果值与所述第二当前相邻出口节点的原状态值相等,则执行判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点的步骤;
如果所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值的或运算结果值与所述第二当前相邻出口节点的原状态值不相等,则将所述第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第二当前相邻出口节点的当前状态值;
判断是否能够搜索到所述第二当前相邻出口节点的相邻出口节点;
如果能够搜索到所述第二当前相邻出口节点的相邻出口节点,则将所述第二当前相邻出口节点作为第一当前相邻出口节点,将搜索到的所述第二当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后执行判断所述第二当前相邻出口节点的原状态值是否是已执行状态值的步骤;
如果不能够搜索到所述第二当前相邻出口节点的相邻出口节点,则执行判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点的步骤。
4.根据权利要求3所述的判断流程图中是否存在循环回路的方法,其特征在于,判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点之后,所述方法还包括:
如果所述第一当前相邻出口节点的所有相邻出口节点中不存在未被执行过的相邻出口节点,则执行判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点的步骤。
5.根据权利要求1-4中任意一项权利要求所述的判断流程图中是否存在循环回路的方法,其特征在于,判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点之后,所述方法还包括:
如果所述当前节点的所有入口节点中不存在状态值为已搜索状态值的节点,则证明将所述第一当前相邻出口节点作为所述当前节点的流转节点时,不存在循环回路。
6.一种判断流程图中是否存在循环回路的装置,其特征在于,所述装置包括:
标注模块,用于根据预设的节点状态与状态值之间的对应关系,将流程图中每个节点的状态标注为相应的状态值;
第一判断模块,用于当所述标注模块将流程图中每个节点的状态标注为相应的状态值后,判断是否能够搜索到当前节点的相邻出口节点;
第一处理模块,用于当所述第一判断模块判断能够搜索到当前节点的相邻出口节点后,将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点;
第一运算模块,用于当所述第一处理模块将搜索到的当前节点的所有相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点后,将所述第一当前相邻出口节点的原状态值与已搜索状态值进行或运算,得到所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值;
第二判断模块,用于当所述第一运算模块得到所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值后,判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值是否相等;
第二处理模块,用于当所述第二判断模块判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值不相等时,将所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第一当前相邻出口节点的当前状态值;
第三判断模块,用于当所述第二处理模块将所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第一当前相邻出口节点的当前状态值后,判断是否能够搜索到所述第一当前相邻出口节点的相邻出口节点;
第四判断模块,用于当所述第三判断模块判断不能够搜索到所述第一当前相邻出口节点的相邻出口节点时,判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点;
第一证明模块,用于当所述第四判断模块判断所述当前节点的所有入口节点中存在状态值为已搜索状态值的节点后,证明将所述第一当前相邻出口节点作为所述当前节点的流转节点时,存在循环回路。
7.根据权利要求6所述的判断流程图中是否存在循环回路的装置,其特征在于,所述装置还包括:
第五判断模块,用于当所述第二判断模块判断所述第一当前相邻出口节点的原状态值与已搜索状态值的或运算结果值与所述第一当前相邻出口节点的原状态值相等时,判断所述当前节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
第三处理模块,用于当所述第五判断模块判断所述当前节点的所有相邻出口节点中存在未被执行过的相邻出口节点时,将所述当前节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第一当前相邻出口节点,然后通知所述第一运算模块执行将所述第一当前相邻出口节点的原状态值与已搜索状态值进行或运算的步骤。
8.根据权利要求6所述的判断流程图中是否存在循环回路的装置,其特征在于,所述装置还包括:
第四处理模块,用于当所述第三判断模块判断能够搜索到所述第一当前相邻出口节点的相邻出口节点时,将搜索到的所述第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点;
第六判断模块,用于当所述第四处理模块将搜索到的所述第一当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点后,判断所述第二当前相邻出口节点的原状态值是否是已执行状态值;
第七判断模块,用于当所述第六判断模块判断所述第二当前相邻出口节点的原状态值是已执行状态值时,判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
第五处理模块,用于当所述第七判断模块判断所述第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点时,将所述第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后通知所述第六判断模块执行判断所述第二当前相邻出口节点的原状态值是否是已执行状态值的步骤;
第二运算模块,用于当所述第六判断模块判断所述第二当前相邻出口节点的原状态值不是已执行状态值时,将所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值进行或运算,得到或运算结果值;
第八判断模块,用于当所述第二运算模块得到或运算结果值后,判断所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值的或运算结果值与所述第二当前相邻出口节点的原状态值是否相等;
第六处理模块,用于当所述第八判断模块判断所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值的或运算结果值与所述第二当前相邻出口节点的原状态值相等时,通知所述第七判断模块执行判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点的步骤;
第七处理模块,用于当所述第八判断模块判断所述第二当前相邻出口节点的原状态值与所述第一当前相邻出口节点的当前状态值的或运算结果值与所述第二当前相邻出口节点的原状态值不相等时,将所述第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第二当前相邻出口节点的当前状态值;
第九判断模块,用于当所述第七处理模块将所述第二当前相邻出口节点的原状态值与已搜索状态值的或运算结果值作为所述第二当前相邻出口节点的当前状态值后,判断是否能够搜索到所述第二当前相邻出口节点的相邻出口节点;
第八处理模块,用于当所述第九判断模块判断能够搜索到所述第二当前相邻出口节点的相邻出口节点后,将所述第二当前相邻出口节点作为第一当前相邻出口节点,将搜索到的所述第二当前相邻出口节点的所有相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后通知所述第六判断模块执行判断所述第二当前相邻出口节点的原状态值是否是已执行状态值的步骤;
第十判断模块,用于当所述第九判断模块判断不能够搜索到所述第二当前相邻出口节点的相邻出口节点时,判断所述第一当前相邻出口节点的所有相邻出口节点中是否存在未被执行过的相邻出口节点;
第九处理模块,用于当所述第十判断模块判断所述第一当前相邻出口节点的所有相邻出口节点中存在未被执行过的相邻出口节点时,将所述第一当前相邻出口节点的所有未被执行过的相邻出口节点中的一个相邻出口节点作为第二当前相邻出口节点,然后通知所述第六判断模块执行判断所述第二当前相邻出口节点的原状态值是否是已执行状态值的步骤。
9.根据权利要求8所述的判断流程图中是否存在循环回路的装置,其特征在于,所述装置还包括:
第十处理模块,用于当所述第七判断模块判断所述第一当前相邻出口节点的所有相邻出口节点中不存在未被执行过的相邻出口节点后,通知所述第四判断模块执行判断所述当前节点的所有入口节点中是否存在状态值为已搜索状态值的节点的步骤。
10.根据权利要求6-9中任意一项权利要求所述的判断流程图中是否存在循环回路的装置,其特征在于,所述装置还包括:
第二证明模块,用于当所述第四判断模块判断当前节点的所有入口节点中不存在状态值为已搜索状态值的节点后,证明将所述第一当前相邻出口节点作为所述当前节点的流转节点时,不存在循环回路。
CN201110050546.4A 2011-03-02 2011-03-02 一种判断流程图中是否存在循环回路的方法和装置 Active CN102654842B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110050546.4A CN102654842B (zh) 2011-03-02 2011-03-02 一种判断流程图中是否存在循环回路的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110050546.4A CN102654842B (zh) 2011-03-02 2011-03-02 一种判断流程图中是否存在循环回路的方法和装置

Publications (2)

Publication Number Publication Date
CN102654842A true CN102654842A (zh) 2012-09-05
CN102654842B CN102654842B (zh) 2014-07-30

Family

ID=46730468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110050546.4A Active CN102654842B (zh) 2011-03-02 2011-03-02 一种判断流程图中是否存在循环回路的方法和装置

Country Status (1)

Country Link
CN (1) CN102654842B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704934A (zh) * 2004-05-31 2005-12-07 国际商业机器公司 流程图的编辑、重组验证、创建和转换的方法和装置
CN1987796A (zh) * 2005-12-22 2007-06-27 国际商业机器公司 检测多线程程序中的死锁的方法和装置
CN101146035A (zh) * 2007-06-13 2008-03-19 中兴通讯股份有限公司 标签交换路径路由搜索方法和系统
CN101271397A (zh) * 2007-03-23 2008-09-24 北京大学 一种嵌套循环结构的识别方法
EP2098965A1 (en) * 2006-11-28 2009-09-09 S. Grants Co., Ltd. Splitting/connecting method for coupled node tree, and program
US20090271139A1 (en) * 2008-04-28 2009-10-29 Kabushiki Kaisha Toshiba Test case generation apparatus, generation method therefor, and program storage medium
CN101697211A (zh) * 2009-10-23 2010-04-21 金蝶软件(中国)有限公司 一种结点循环嵌套的检测方法、装置及系统
CN101853191A (zh) * 2010-06-23 2010-10-06 迈普通信技术股份有限公司 检测操作系统中任务死循环的方法及操作系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1704934A (zh) * 2004-05-31 2005-12-07 国际商业机器公司 流程图的编辑、重组验证、创建和转换的方法和装置
CN1987796A (zh) * 2005-12-22 2007-06-27 国际商业机器公司 检测多线程程序中的死锁的方法和装置
EP2098965A1 (en) * 2006-11-28 2009-09-09 S. Grants Co., Ltd. Splitting/connecting method for coupled node tree, and program
CN101271397A (zh) * 2007-03-23 2008-09-24 北京大学 一种嵌套循环结构的识别方法
CN101146035A (zh) * 2007-06-13 2008-03-19 中兴通讯股份有限公司 标签交换路径路由搜索方法和系统
US20090271139A1 (en) * 2008-04-28 2009-10-29 Kabushiki Kaisha Toshiba Test case generation apparatus, generation method therefor, and program storage medium
CN101697211A (zh) * 2009-10-23 2010-04-21 金蝶软件(中国)有限公司 一种结点循环嵌套的检测方法、装置及系统
CN101853191A (zh) * 2010-06-23 2010-10-06 迈普通信技术股份有限公司 检测操作系统中任务死循环的方法及操作系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李勇等: "基于毁伤概率的节点间网络连通性算法研究", 《武汉理工大学学报》 *

Also Published As

Publication number Publication date
CN102654842B (zh) 2014-07-30

Similar Documents

Publication Publication Date Title
Zhu et al. Categorization problem on controllability of Boolean control networks
Wang et al. Controllability conditions of resultant siphons in a class of Petri nets
Noual Updating automata networks
Aracena et al. On the number of different dynamics in Boolean networks with deterministic update schedules
Wang et al. Macro liveness graph and liveness of ω-independent unbounded nets
CN108509284A (zh) 一种应用于函数式编程的树状模型任务管理系统
CN102799960B (zh) 面向数据模型的并行业务流程异常检测方法
Zhao et al. Liveness-enforcing supervisors synthesis for a class of generalised Petri nets based on two-stage deadlock control and mathematical programming
Lamperti et al. Abductive diagnosis of complex active systems with compiled knowledge
Cong et al. Value recovery from end-of-use products facilitated by automated dismantling planning
Van Gelder Generalized conflict-clause strengthening for satisfiability solvers
Davoodabadi et al. A new method for discovering subgoals and constructing options in reinforcement learning.
CN102654842A (zh) 一种判断流程图中是否存在循环回路的方法和装置
CN105488193A (zh) 文章热度的预测方法和装置
CN115221779A (zh) 基于元图的工业生产关系异质网络特征学习方法
Zulkoski et al. Learning-sensitive backdoors with restarts
US9489442B1 (en) Prevention of circular event publication in publish/subscribe model using path vector
Huang et al. Object-oriented development of the embedded system based on Petri-nets
CN110727249B (zh) 基于不可观事件自动制造系统最大许可行为信息控制方法
Safaei Ghadikolaei et al. Presenting a Conceptual Model for Sustainable Supplier Selection (A case study in SAIPA supply chain)
Huang Analysis of artificial intelligence based Petri net approach to intelligent integration of design
CN110568826A (zh) 基于不可控事件的自动制造系统最大许可行为控制方法
Liu et al. A graph-based text similarity algorithm
Kouah et al. Fuzzy labeled transition system vertical bisimulation
Zhang et al. An Improved Adaptive Human Learning Optimization Algorithm with Reasoning Learning

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: South South technology twelve road 518057 in Guangdong province Shenzhen City Guangdong streets Nanshan District high tech Industrial Park, No. 2, Kingdee Software Park building A floor 2 South Block

Patentee after: Shenzhen Kingdee middleware Limited by Share Ltd.

Address before: 518057 Guangdong City, Nanshan District province high tech Zone in the middle of the industrial zone of the sparrow tower M-6 building, floor 1, area 3, second, 4

Patentee before: Shenzhen Kingdee Middleware Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: South South technology twelve road 518057 in Guangdong province Shenzhen City Guangdong streets Nanshan District high tech Industrial Park, No. 2, Kingdee Software Park building A floor 2 South Block

Patentee after: Shenzhen Kingdee tianyanyun computing Co., Ltd.

Address before: South South technology twelve road 518057 in Guangdong province Shenzhen City Guangdong streets Nanshan District high tech Industrial Park, No. 2, Kingdee Software Park building A floor 2 South Block

Patentee before: Shenzhen Kingdee middleware Limited by Share Ltd.