CN108647380B - 基于PD-Net的并发系统检错方法、系统、介质及设备 - Google Patents
基于PD-Net的并发系统检错方法、系统、介质及设备 Download PDFInfo
- Publication number
- CN108647380B CN108647380B CN201810280956.XA CN201810280956A CN108647380B CN 108647380 B CN108647380 B CN 108647380B CN 201810280956 A CN201810280956 A CN 201810280956A CN 108647380 B CN108647380 B CN 108647380B
- Authority
- CN
- China
- Prior art keywords
- transition
- concurrent
- module
- information
- relation
- 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.)
- Active
Links
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
- G06F30/22—Design optimisation, verification or simulation using Petri net models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computer Hardware Design (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Geometry (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种基于PD‑Net的并发系统检错方法、系统、介质及设备,包括:使用PD‑Net构建并发系统的PD‑Net模型;分析PD‑Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息;以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集;使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误,本发明解决了现有技术中存在的缺少并发系统检错方法、数据流错误检测精度差、检测效率低、状态空间爆炸的技术问题。
Description
技术领域
本发明涉及一种并发检测方法,特别是涉及一种基于PD-Net的并发系统检错方法、系统、介质及设备。
背景技术
随着计算机技术的飞速发展,并发系统在我们的生活中也越来越常见。并发系统中的数据错误问题,可能会导致资金受损、业务停滞等。因此在并发系统投入使用之前对其进行验证有着十分重要的现实意义。Petri网作为一种有完备自动化理论的形式描述语言,可以描述系统中的顺序、并发、冲突以及同步关系,还有直观地图形表达方式。这些特点使其被广泛用于并发系统的建模与分析。PD-Net作为Petri-net的扩展,在其上添加数据以及对数据的操作,不仅具有Petri网良好的性质,还能较好地描述并发系统中数据的操作,更适合用于并发系统的建模。模型验证技术被广泛用于分析模型中存在的错误。对于控制流错误的分析验证已较为成熟,而对于数据流错误的研究则相对较少。数据不一致错误往往是不当地对同一数据进行并发操作造成的。现有的技术大多基于可达图或网的展开技术对错误进行分析。但是当并发系统规模较大、并发操作较多时,会导致可达图状态空间爆炸,检测需要耗费大量的时间与空间。
综上,现有技术存在并发系统检错相关研究较少、一致性错误精度低定位慢的特点,现有技术中存在的缺少并发系统检错方法、数据流错误检测精度差、检测效率低、状态空间爆炸的技术问题。
发明内容
鉴于以上现有技术的缺点,本发明的目的在于提供一种基于PD-Net的并发系统检错方法、系统、介质及设备,为解决现有技术中存在的缺少并发系统检错方法、数据流错误检测精度差、检测效率低、状态空间爆炸的技术问题,本发明提供基于PD-Net的并发系统检错方法、系统、介质及设备,一种基于PD-Net的并发系统检错方法,包括:使用PD-Net构建并发系统的PD-Net模型;分析PD-Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息;以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集;使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误。
于本发明的一实施方式中,分析PD-Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息,包括:获得模型的库所- 变迁的关系矩阵P*T,其中P为库所数量,T为变迁数量;根据库所-变迁的关系矩阵P*T得到变迁冲突矩阵,变迁数量T得变迁关系矩阵T*T;根据Warshall算法变迁关系矩阵T*T,得到变迁可达矩阵;根据变迁关系矩阵P*T中的变迁不可达信息和变迁可达矩阵得变迁冲突矩阵;排除变迁关系矩阵P*T对应的变迁关系中变迁冲突矩阵对应的冲突关系得变迁并发关系集合。
于本发明的一实施方式中,以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集,包括:获取变迁并发关系集合;循环判断变迁并发关系集合中的并发变迁t0 和t1是否满足条件:(Read(t0)∪Write(t0)∪Delete(t0))∩(Write(t1)∪Delete(t1))其中Read(t0)代表并发变迁t0的数据进行读取操作,Write(t0)代表并发变迁t0的数据进行写入操作,Delete(t0)代表并发变迁t0的数据进行删除操作,Write(t1) 代表并发变迁t1的写入操作,Delete(t1)代表并发变迁t1的删除操作;若是,则将变迁存入可疑目标状态集;若否,则将继续判断变迁并发关系集合中的其他变迁直至遍历变迁并发关系集合。
于本发明的一实施方式中,使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误,包括:通过启发式方法的评估函数计算从初始状态C0到Ct中每个状态的所需代价cost;按代价cost值升序排列,从代价cost值最小的目标状态开始检测,其中代价cost为触发的变迁数量,C0为初始状态,Ct为目标状态集;将每一变迁t以<Ci,t1,cost>的形式存入变迁信息集Tc,其中,Ci为可达图中的各个状态;判断变迁信息集Tc中的变迁t是否可到达目的状态Ct;若否,则循环判断其他变迁t是否可达到目的状态Ct;若是,则判定并发系统存在数据不一致性错误。
于本发明的一实施方式中,一种基于PD-Net的并发系统检错系统,包括:模型构建模块、模型分析模块、错误定位模块和错误检测模块;模型构建模块,用于使用PD-Net构建并发系统的PD-Net模型;模型分析模块,用于分析PD-Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息,模型分析模块与模型构建模块连接;错误定位模块,用于以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集,错误定位模块与模型分析模块连接;错误检测模块,用于使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误错误检测模块与错误定位模块连接。
于本发明的一实施方式中,模型分析模块,包括:库所变迁矩阵模块、变迁关系矩阵模块、变迁可达矩阵模块、冲突获取模块和变迁并发关系模块;库所变迁矩阵模块,用于获得模型的库所-变迁的关系矩阵P*T,其中P为库所数量,T为变迁数量;变迁关系矩阵模块,用于根据库所-变迁的关系矩阵P*T得到变迁冲突矩阵,变迁数量T得变迁关系矩阵T*T,变迁关系矩阵模块与库所变迁矩阵模块连接;变迁可达矩阵模块,用于根据Warshall算法变迁关系矩阵T*T,得到变迁可达矩阵,变迁可达矩阵模块与变迁关系矩阵模块连接;冲突获取模块,用于根据变迁关系矩阵P*T中的变迁不可达信息和变迁可达矩阵得变迁冲突矩阵,冲突获取模块与变迁关系矩阵模块连接;变迁并发关系模块,用于排除变迁关系矩阵P*T对应的变迁关系中变迁冲突矩阵对应的冲突关系得变迁并发关系集合,变迁并发关系模块与变迁关系矩阵矩阵模块连接,变迁并发关系模块与冲突获取模块连接。
于本发明的一实施方式中,错误定位模块,包括:关系集合获取模块、库所判断模块、关系集合模块和关系集合遍历模块;关系集合获取模块,用于获取变迁并发关系集合;库所判断模块,用于循环判断所述变迁并发关系集合中的并发变迁t0和t1是否满足条件:(Read (t0)∪Write(t0)∪Delete(t0))∩(Write(t1)∪Delete(t1))其中Read(t0)代表所述并发变迁t0的数据进行读取操作,Write(t0)代表所述并发变迁t0的数据进行写入操作,Delete(t0)代表所述并发变迁t0的数据进行删除操作,Write(t1)代表所述并发变迁t1的写入操作,Delete(t1)代表所述并发变迁t1的删除操作,库所判断模块与关系集合获取模块连接;关系集合模块,用于在变迁并发关系集合中的并发变迁的所有前集库所满足托肯数量条件时,将变迁存入可疑目标状态集,关系集合模块与库所判断模块连接;关系集合遍历模块,用于在变迁并发关系集合中的并发变迁的所有前集库所小于预设的托肯数量阈值时,将继续判断变迁并发关系集合中的其他变迁直至遍历变迁并发关系集合,关系集合遍历模块与库所判断模块连接。
于本发明的一实施方式中,错误检测模块,包括:变迁代价计算模块、目标状态集模块、变迁信息集模块、可达判断模块、循环判断模块和错误判定模块;变迁代价计算模块,用于通过启发式方法的评估函数计算从初始状态C0到Ct中每个状态的所需代价cost;目标状态集模块,用于按代价cost值升序排列,从代价cost值最小的目标状态开始检测,其中代价cost 为触发的变迁数量,C0为初始状态,Ct为目标状态集,目标状态集模块与变迁代价计算模块连接;变迁信息集模块,用于将每一变迁t以<Ci,t1,cost>的形式存入变迁信息集Tc,其中,Ci为可达图中的各个状态,变迁信息集模块与目标状态集模块连接;可达判断模块,用于判断变迁信息集Tc中的变迁t是否可到达目的状态Ct,可达判断模块与变迁信息集模块连接;循环判断模块,用于在变迁信息集Tc中的变迁t不可到达目的状态Ct时,循环判断其他变迁t是否可达到目的状态Ct,循环判断模块与可达判断模块连接;错误判定模块,用于在变迁信息集Tc中的变迁t可到达目的状态Ct时,判定并发系统存在数据不一致性错误,错误判定模块与可达判断模块连接。
于本发明的一实施方式中,一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项基于PD-Net的并发系统检错方法。
于本发明的一实施方式中,一种基于PD-Net的并发系统检错设备,包括:处理器及存储器;存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以使基于PD-Net 的并发系统检错设备执行任一项基于PD-Net的并发系统检错方法。
如上所述,本发明提供的一种基于PD-Net的并发系统检错方法、系统、介质及设备,具有以下有益效果:从PD-Net模型中获得可能引发数据不一致性错误的启发式信息,将启发式方法和模型验证结合,验证并发系统中存在的问题,相比传统的方案提高了检测效率。
综上,本发明解决了现有技术存在的缺少并发系统检错方法、数据流错误检测精度差、检测效率低、状态空间爆炸的技术问题。
附图说明
图1显示本发明的一种基于PD-Net的并发系统检错方法步骤示意图。
图2显示为本发明的PD-Net模型构建示意图。
图3显示为图1中步骤S2在一实施例中的具体流程图。
图4显示为图1中步骤S3在一实施例中的具体流程图。
图5显示为图1中步骤S4在一实施例中的具体流程图。
图6显示为本发明的生成可达图示意图。
图7显示为本发明的一种基于PD-Net的并发系统检错系统模块示意图。
图8显示为图7中模型分析模块2在一实施例中的具体模块示意图。
图9显示为图7中错误定位模块3在一实施例中的具体模块示意图。
图10显示为图7中错误检测模块4在一实施例中的具体模块示意图。
图11显示为本发明的生成可达图效果图。
元件标号说明
1 模型构建模块
2 模型分析模块
3 错误定位模块
4 错误检测模块
21 库所变迁矩阵模块
22 变迁关系矩阵模块
23 变迁可达矩阵模块
24 冲突获取模块
25 变迁并发关系模块
31 关系集合获取模块
32 库所判断模块
33 关系集合模块
34 关系集合遍历模块
41 变迁代价计算模块
42 目标状态集模块
43 变迁信息集模块
44 可达判断模块
45 循环判断模块
46 错误判定模块
具体实施方式
以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。
请参阅图1至图7,须知,本说明书所附图式所绘示的结构,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本实用新型所揭示的技术内容所能涵盖的范围内。同时,本说明书中所引用的如”上”、”下”、”左”、”右”、”中间”及”一”等的用语,亦仅为便于叙述的明了,而非用以限定本发明可实施的范围,其相对关系的改变或调整,在无实质变更技术内容下,当亦视为本发明可实施的范畴。
请参阅图1和图2,显示本发明的一种基于PD-Net的并发系统检错方法步骤示意图和PD-Net模型构建示意图,如图1和图2所示,包括:
S1、使用PD-Net构建并发系统的PD-Net模型,PD-Net的定义由D-Net和Configuration (组态)计算得到,定义1:七元组N=(P,T,F,D,Read,Write,Delete)称为D-Net,其中:(1)(P,T,F)是一个Petri-net;(2)D是一个有限的数据集;(3)Read代表对D中的数据进行读取操作;(4)Write代表对D中的数据进行写入操作;(5)Delete 代表对D中的数据进行删除操作。定义2:N=(P,T,F,D,Read,Write,Delete)是一个D-Net,c=<m,σ>是N的Configuration,(1)m是Petri-net中标识;(2)σ:D→{,⊥},表示数据已被定义,⊥表示数据未被定义。定义3:Σ=(N,c0)称为PD-Net,N是D-Net,c0是初始Configuration。例如,图2是一个简单的PD-Net模型,其中变迁t0上的“W:a”表示一个值被写入a中,a从未定义变成了已定义。工具中PD-Net 模型的编辑模块支持我们将并发系统建立成PD-Net模型;
S2、分析PD-Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息,通过其模型获取启发式信息,通过启发式技术分析哪些位置可能会导致数据不一致错误发生;
S3、以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集,对于同一数据的不当并发操作导致的数据不一致错误,可以在其PD-Net模型中找到可能导致数据不一致错误的位置,然后使用启发式方法,找到引起错误发生的状态;
S4、使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误,如果能够到达这种状态,则数据不一致错误将会发生,返回错误的位置。如果不能到达,则选择下一个有问题的位置,继续查找。
请参阅图3,显示为图1中步骤S2在一实施例中的具体流程图,如图3所示,步骤S2、分析PD-Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息,还包括:
S11、获得模型的库所-变迁的关系矩阵P*T,其中P为库所数量,T为变迁数量,有向弧从库所指向变迁则相应值为-1,从变迁指向库所值为1。可以得到变迁的关系矩阵T*T;
S12、根据库所-变迁的关系矩阵P*T得到变迁冲突矩阵,变迁数量T得变迁关系矩阵T*T,由于直接寻找模型中并发变迁较为困难,而在PD-Net模型中,变迁之间只有三种关系:顺序,冲突,并发。所以可以通过排除变迁的顺序和冲突关系得到变迁的并发关系;
S13、根据Warshall算法变迁关系矩阵T*T,得到变迁可达矩阵,然后通过Warshall算法求得变迁的可达矩阵;
S14、根据变迁关系矩阵P*T中的变迁不可达信息和变迁可达矩阵得变迁冲突矩阵,从库所-变迁关系矩阵可以得到初始的变迁冲突矩阵,t0和t1下面的变迁不可达,则也存在冲突关系;
S15、排除变迁关系矩阵P*T对应的变迁关系中变迁冲突矩阵对应的冲突关系得变迁并发关系集合,所以结合变迁的可达矩阵得到变迁的冲突矩阵,排除了变迁的顺序关系和冲突关系得到变迁之间的并发关系。
请参阅图4,显示为图1中步骤S3在一实施例中的具体流程图,如图4所示,步骤S3、以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集,包括:
S31、获取变迁并发关系集合,进入结构分析步骤。数据不一致性错误是由对同一数据不当的并发操作导致的,所以需要找出模型中并发变迁对,并不是并发的变迁就会引起数据不一致性错误;
S32、循环判断变迁并发关系集合中的并发变迁t0和t1是否满足条件:(Read(t0)∪Write(t0)∪Delete(t0))∩(Write(t1)∪Delete(t1))其中Read(t0) 代表并发变迁t0的数据进行读取操作,Write(t0)代表并发变迁t0的数据进行写入操作,Delete(t0)代表并发变迁t0的数据进行删除操作,Write(t1)代表并发变迁t1的写入操作,Delete(t1)代表并发变迁t1的删除操作,结合前述判断条件,可以得到可能引发数据不一致性错误的变迁对集。当一个变迁能够被触发,它的所有前集库所都需要满足托肯数量的要求;
S33、若是,则将变迁存入可疑目标状态集,并发变迁的所有前集库所构成一个目标状态。当达到这个目标状态,并发变迁才能发生,引起错误。至此,获得了可能导致错误的目标状态集;
S34、若否,则将继续判断变迁并发关系集合中的其他变迁直至遍历变迁并发关系集合,结合前述判断条件,可以得到可能引发数据不一致性错误的变迁对集。当一个变迁能够被触发,它的所有前集库所都需要满足托肯数量的要求。
请参阅图5和图6,显示为图1中步骤S4在一实施例中的具体流程图和生成可达图示意图,请参阅图5和图6,步骤S4、使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误,包括:
S41、通过启发式方法的评估函数计算从初始状态C0到Ct中每个状态的所需代价cost,介绍可达图前需要定义PD-Net的变迁使能/发生规则。定义5:Σ=(P,T,F,D, Read,Write,Delete,c0)为一个PD-Net,当一个变迁t在Configuration c=<m,σ>下能够使能,变迁t的前集库所需要满足托肯数量的要求,t中Read或者Delete的数据在 c中必须已定义。t被激发后,一个新的组态Configuration c1=<m1,σ1>产生,t中Write 的数据设置为已定义,Delete的数据设置成未定义,c0=<[p0]>激发t0后,生成 c1=<[p1,p2],a>。定义6:Σ=(P,T,F,D,Read,Write,Delete,c0)为一个PD-Net, RG(Σ)=(V,E,L)是其可达图。(1)0V为从c0可达的Configuration的集合。(2) E为c到达c1的有向边。(3)L为从c到达c1所触发的变迁;
S42、按代价cost值升序排列,从代价cost值最小的目标状态开始检测,其中代价cost为触发的变迁数量,C0为初始状态,Ct为目标状态集,如何快速地到达目标状态,我们使用启发式方法来指导可达图路径的选择。启发式方法的评估函数f(c)=g(c)+h(c),c 为目标状态,f(c)为从初始状态c0到达目标状态所需的代价(代价为触发的变迁数量), g(c)为从初始状态c0到现在的状态所触发的变迁数量之和,h(c)为从现在的状态到达目标状态预计要触发的变迁数量之和。h(c)=dis(c,ct)。c为现在的状态,ct为目标状态。
公式(1)中第一个式子当现在的状态已经是目标状态时,则预计要触发的变迁数量为0;第二个式子表示,要到达一个库所,只需走到达这个库所最短的一条路径,所以只要触发最短路径中到达这个库所的变迁即可,并且触发的变迁数量加1;第三个式子表示,当一个变迁需要被触发时,其所有前集的库所都需到达满足托肯数量要求的状态,所以预计的代价为到达这些库所所触发的变迁之和;
S43、将每一变迁t以<Ci,t1,cost>的形式存入变迁信息集Tc,其中,Ci为可达图中的各个状态,Ct为目标状态集。由于我们想要尽快找到其中是否存在数据不一致性错误,首先利用f(c)计算从初始状态C0到Ct中每个状态的所需代价cost,并按升序排列,从花费最小代价的目标状态开始检测。如图6所示,假设初始状态为C0,现在的状态为 C1,目标状态为C5,变迁t1,t2,t3都可以被激发,f(c)=g(c)+h(c),由于现在的状态为 C1,从初始状态开始已激发一个变迁,则g(c)=1,而h(c)分别计算从C2、C3、C4到达C5 所需代价,将其以<C1,t1,cost>的形式存入Tc;
S44、判断变迁信息集Tc中的变迁t是否可到达目的状态Ct;
S45、若否,则循环判断其他变迁t是否可达到目的状态Ct,如果不可达,则代价为无穷,不会被存入Tc。假设Tc中已有此变迁信息,且cost相等,则替代。然后从Tc 中取出cost最小的变迁进行激发;
S46、若是,则判定并发系统存在数据不一致性错误,使用此选择路径的方法逼近目标状态,假设到达此状态则存在数据不一致性问题,无法到达则取出下一个目标状态进行检测。如都不能到达,则此并发系统不存在数据不一致错误。
请参阅图7,显示为本发明的一种基于PD-Net的并发系统检错系统模块示意图,如图7 所示,一种基于PD-Net的并发系统检错系统,包括:模型构建模块1、模型分析模块2、错误定位模块3和错误检测模块4;模型构建模块1,用于使用PD-Net构建并发系统的PD-Net模型,PD-Net的定义由D-Net和Configuration(组态)计算得到,定义1:七元组N=(P,T,F,D,Read,Write,Delete)称为D-Net,其中:(1)(P,T,F)是一个Petri-net;(2) D是一个有限的数据集;(3)Read代表对D中的数据进行读取操作;(4)Write代表对D 中的数据进行写入操作;(5)Delete代表对D中的数据进行删除操作。定义2:N=(P,T, F,D,Read,Write,Delete)是一个D-Net,c=<m,σ>是N的Configuration,(1)m是 Petri-net中标识;(2)σ:D→{,⊥},表示数据已被定义,⊥表示数据未被定义。定义 3:Σ=(N,c0)称为PD-Net,N是D-Net,c0是初始Configuration。例如,图2是一个简单的PD-Net模型,其中变迁t0上的“W:a”表示一个值被写入a中,a从未定义变成了已定义。工具中PD-Net模型的编辑模块支持我们将并发系统建立成PD-Net模型;模型分析模块2,用于分析PD-Net模型,获取变迁关系信息,计算变迁关系信息得变迁可达信息和变迁冲突信息,排除变迁冲突信息得变迁并发信息,模型分析模块2与模型构建模块1连接,通过其模型获取启发式信息,通过启发式技术分析哪些位置可能会导致数据不一致错误发生;错误定位模块3,用于以预设判断条件筛选变迁并发信息定位错误概率不为零的可疑目标状态集,错误定位模块3与模型分析模块2连接,对于同一数据的不当并发操作导致的数据不一致错误,可以在其PD-Net模型中找到可能导致数据不一致错误的位置,然后使用启发式方法,找到引起错误发生的状态;错误检测模块4,用于使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据可达图中的目标逼近结果信息检测并发系统的数据不一致错误,错误检测模,4与错误定位模块3连接,如果能够到达这种状态,则数据不一致错误将会发生,返回错误的位置。如果不能到达,则选择下一个有问题的位置,继续查找。
请参阅图8,显示为图7中模型分析模块2在一实施例中的具体模块示意图,如图8所示,模型分析模块2包括:库所变迁矩阵模块21、变迁关系矩阵模块22、变迁可达矩阵模块23、冲突获取模块24和变迁并发关系模块25;库所变迁矩阵模块21,用于获得模型的库所-变迁的关系矩阵P*T,其中P为库所数量,T为变迁数量,有向弧从库所指向变迁则相应值为-1,从变迁指向库所值为1。可以得到变迁的关系矩阵T*T;变迁关系矩阵模块22,用于根据库所-变迁的关系矩阵P*T得到变迁冲突矩阵,变迁数量T得变迁关系矩阵T*T,变迁关系矩阵模块22与库所变迁矩阵模块21连接,然后通过Warshall算法求得变迁的可达矩阵,由于直接寻找模型中并发变迁较为困难,而在PD-Net模型中,变迁之间只有三种关系:顺序,冲突,并发。所以可以通过排除变迁的顺序和冲突关系得到变迁的并发关系;变迁可达矩阵模块23,用于根据Warshall算法变迁关系矩阵T*T,得到变迁可达矩阵,变迁可达矩阵模块 23与变迁关系矩阵模块22连接,从库所-变迁关系矩阵可以得到初始的变迁冲突矩阵,t0和 t1下面的变迁不可达,则也存在冲突关系;冲突获取模块24,用于根据变迁关系矩阵P*T中的变迁不可达信息和变迁可达矩阵得变迁冲突矩阵,冲突获取模块24与变迁关系矩阵模块22连接;变迁并发关系模块25,用于排除变迁关系矩阵P*T对应的变迁关系中变迁冲突矩阵对应的冲突关系得变迁并发关系集合,变迁并发关系模块25与变迁关系矩阵矩阵模块22连接,变迁并发关系模块25与冲突获取模块24连接,所以结合变迁的可达矩阵得到变迁的冲突矩阵,排除了变迁的顺序关系和冲突关系得到变迁之间的并发关系。
请参阅图9,显示为图7中错误定位模块3在一实施例中的具体模块示意图,如图9所示,错误定位模块3,包括:关系集合获取模块31、库所判断模块32、关系集合模块33和关系集合遍历模块34;关系集合获取模块31,用于获取变迁并发关系集合,进入结构分析步骤。数据不一致性错误是由对同一数据不当的并发操作导致的,所以需要找出模型中并发变迁对,并不是并发的变迁就会引起数据不一致性错误;库所判断模块32,用于循环判断所述变迁并发关系集合中的并发变迁t0和t1是否满足条件:(Read(t0)∪Write(t0)∪Delete(t0))∩(Write(t1)∪Delete(t1))其中Read(t0)代表所述并发变迁t0的数据进行读取操作,Write(t0)代表所述并发变迁t0的数据进行写入操作,Delete(t0)代表所述并发变迁t0的数据进行删除操作,Write(t1)代表所述并发变迁t1的写入操作,Delete (t1)代表所述并发变迁t1的删除操作,库所判断模块32与关系集合获取模块31连接,结合前述判断条件,可以得到可能引发数据不一致性错误的变迁对集。当一个变迁能够被触发,它的所有前集库所都需要满足托肯数量的要求;关系集合模块33,用于在变迁并发关系集合中的并发变迁的所有前集库所满足托肯数量条件时,将变迁存入可疑目标状态集,关系集合模块33与库所判断模块32连接,并发变迁的所有前集库所构成一个目标状态。当达到这个目标状态,并发变迁才能发生,引起错误。至此,获得了可能导致错误的目标状态集;关系集合遍历模块34,用于在变迁并发关系集合中的并发变迁的所有前集库所小于预设的托肯数量阈值时,将继续判断变迁并发关系集合中的其他变迁直至遍历变迁并发关系集合,关系集合遍历模块34与库所判断模块32连接,结合前述判断条件,可以得到可能引发数据不一致性错误的变迁对集。当一个变迁能够被触发,它的所有前集库所都需要满足托肯数量的要求。
请参阅图10,显示为图7中错误检测模块4在一实施例中的具体模块示意图,如图10所示,错误检测模块4,包括:变迁代价计算模块41、目标状态集模块42、变迁信息集模块43、可达判断模块44、循环判断模块45和错误判定模块46;变迁代价计算模块41,用于通过启发式方法的评估函数计算从初始状态C0到Ct中每个状态的所需代价cost,介绍可达图前需要定义PD-Net的变迁使能/发生规则。定义5:Σ=(P,T,F,D,Read,Write,Delete,c0) 为一个PD-Net,当一个变迁t在Configuration c=<m,σ>下能够使能,变迁t的前集库所需要满足托肯数量的要求,t中Read或者Delete的数据在c中必须已定义。t被激发后,一个新的组态Configuration c1=<m1,σ1>产生,t中Write的数据设置为已定义,Delete的数据设置成未定义,c0=<[p0]>激发t0后,生成c1=<[p1,p2],a>。定义6:Σ=(P,T,F,D,Read,Write,Delete,c0)为一个PD-Net,RG(Σ)=(V,E,L)是其可达图。(1)0V为从c0可达的Configuration的集合。(2)E为c到达c1的有向边。(3)L为从c到达c1所触发的变迁;目标状态集模块42,用于按代价cost值升序排列,从代价cost值最小的目标状态开始检测,其中代价cost为触发的变迁数量,C0为初始状态,Ct为目标状态集,目标状态集模块42与变迁代价计算模块41连接,如何快速地到达目标状态,我们使用启发式方法来指导可达图路径的选择。启发式方法的评估函数f(c)=g(c)+h(c),c为目标状态,f(c)为从初始状态c0到达目标状态所需的代价(代价为触发的变迁数量),g(c)为从初始状态c0到现在的状态所触发的变迁数量之和,h(c)为从现在的状态到达目标状态预计要触发的变迁数量之和。h(c)=dis(c,ct)。c 为现在的状态,ct为目标状态。
公式(1)中第一个式子当现在的状态已经是目标状态时,则预计要触发的变迁数量为0;第二个式子表示,要到达一个库所,只需走到达这个库所最短的一条路径,所以只要触发最短路径中到达这个库所的变迁即可,并且触发的变迁数量加1;第三个式子表示,当一个变迁需要被触发时,其所有前集的库所都需到达满足托肯数量要求的状态,所以预计的代价为到达这些库所所触发的变迁之和;变迁信息集模块43,用于将每一变迁t以<Ci,t1,cost> 的形式存入变迁信息集Tc,其中,Ci为可达图中的各个状态,变迁信息集模块43与目标状态集模块42连接,Ct为目标状态集。由于我们想要尽快找到其中是否存在数据不一致性错误,首先利用f(c)计算从初始状态C0到Ct中每个状态的所需代价cost,并按升序排列,从花费最小代价的目标状态开始检测。如图5所示,假设初始状态为C0,现在的状态为C1,目标状态为C5,变迁t1,t2,t3都可以被激发,f(c)=g(c)+h(c),由于现在的状态为C1,从初始状态开始已激发一个变迁,则g(c)=1,而h(c)分别计算从C2、C3、C4到达C5所需代价,将其以<C1,t1,cost>的形式存入Tc;可达判断模块44,用于判断变迁信息集Tc中的变迁t 是否可到达目的状态Ct,可达判断模块44与变迁信息集模块43连接;循环判断模块45,用于在变迁信息集Tc中的变迁t不可到达目的状态Ct时,循环判断其他变迁t是否可达到目的状态Ct,循环判断模块45与可达判断模块44连接,如果不可达,则代价为无穷,不会被存入Tc。假设Tc中已有此变迁信息,且cost相等,则替代。然后从Tc中取出cost最小的变迁进行激发;错误判定模块46,用于在变迁信息集Tc中的变迁t可到达目的状态Ct时,判定并发系统存在数据不一致性错误,错误判定模块46与可达判断模块44连接,使用此选择路径的方法逼近目标状态,假设到达此状态则存在数据不一致性问题,无法到达则取出下一个目标状态进行检测。如都不能到达,则此并发系统不存在数据不一致错误。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现基于 PD-Net的并发系统检错方法,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
一种基于PD-Net的并发系统检错设备,包括:处理器及存储器;存储器用于存储计算机程序,处理器用于执行存储器存储的计算机程序,以使基于PD-Net的并发系统检错设备执行基于PD-Net的并发系统检错方法,存储器可能包含随机存取存储器(RandomAccessMemory,简称RAM),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。上述的处理器可以是通用处理器,包括中央处理器(CentralProcessingUnit,简称CPU)、网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(DigitalSignalProcessing,简称DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,简称ASIC)、现场可编程门阵列 (Field-ProgrammableGateArray,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本发明提供的一种基于PD-Net的并发系统检错方法、系统、介质及设备,具有以下有益效果:本发明提供的一种基于PD-Net的并发系统检错方法、系统、介质及设备提高了并发系统中数据不一致性错误检测的效率,适用于建立的模型属于无环安全网的并发系统。对于同一数据的不当并发操作导致的数据不一致错误,可以在其PD-Net模型中找到可能导致数据不一致错误的位置,然后使用启发式方法,找到引起错误发生的状态。如果能够到达这种状态,则数据不一致错误将会发生,返回错误的位置。如果不能到达,则选择下一个有问题的位置,继续查找,从PD-Net模型中获得可能引发数据不一致性错误的启发式信息,将启发式方法和模型验证结合,验证并发系统中存在的问题,相比传统的方案提高了检测效率,本发明的生成可达图效果图如图11所示。
综上,本发明解决了现有技术存在的缺少并发系统检错方法、数据流错误检测精度差、检测效率低、状态空间爆炸的技术问题,具有很高的商业价值和实用性。
Claims (8)
1.一种基于PD-Net的并发系统检错方法,其特征在于,包括:
使用PD-Net构建并发系统的PD-Net模型;
分析所述PD-Net模型,获取变迁关系信息,计算所述变迁关系信息得变迁可达信息和变迁冲突信息,排除所述变迁冲突信息得变迁并发信息;
以预设判断条件筛选所述变迁并发信息定位错误概率不为零的可疑目标状态集;
使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据所述可达图中的目标逼近结果信息检测所述并发系统的数据不一致错误;
所述分析所述PD-Net模型,获取变迁关系信息,计算所述变迁关系信息得变迁可达信息和变迁冲突信息,排除所述变迁冲突信息得变迁并发信息,包括:
获得模型的库所-变迁的关系矩阵P*T,其中P为库所数量,T为变迁数量;
根据所述库所-变迁的关系矩阵P*T得到变迁冲突矩阵,所述变迁数量T得变迁关系矩阵T*T;
根据Warshall算法所述变迁关系矩阵T*T,得到变迁可达矩阵;
根据所述变迁关系矩阵P*T中的变迁不可达信息和所述变迁可达矩阵得变迁冲突矩阵;
排除所述变迁关系矩阵P*T对应的变迁关系中所述变迁冲突矩阵对应的冲突关系得变迁并发关系集合。
2.根据权利要求1所述的方法,其特征在于,所述以预设判断条件筛选所述变迁并发信息定位错误概率不为零的可疑目标状态集,包括:
获取所述变迁并发关系集合;
循环判断所述变迁并发关系集合中的并发变迁t0和并发变迁t1是否满足条件: 其中Read(t0)代表所述并发变迁t0的数据进行读取操作,Write(t0)代表所述并发变迁t0的数据进行写入操作,Delete(t0)代表所述并发变迁t0的数据进行删除操作,Write(t1)代表所述并发变迁t1的写入操作,Delete(t1)代表所述并发变迁t1的删除操作;
若是,则将所述变迁存入所述可疑目标状态集;
若否,则将继续判断所述变迁并发关系集合中的其他变迁直至遍历所述变迁并发关系集合。
3.根据权利要求1所述的方法,其特征在于,所述使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据所述可达图中的目标逼近结果信息检测所述并发系统的数据不一致错误,包括:
通过启发式方法的评估函数计算从初始状态C0到Ct中每个状态的所需代价cost;
按所述代价cost值升序排列,从所述代价cost值最小的目标状态开始检测,其中所述代价cost为触发的变迁数量,C0为初始状态,Ct为目标状态集;
将每一变迁t以<Ci,t1,cost>的形式存入变迁信息集Tc,其中,Ci为所述可达图中的各个状态,t1为并发变迁;
判断所述变迁信息集Tc中的所述变迁t是否可到达目的状态Ct;
若否,则循环判断其他所述变迁t是否可达到所述目的状态Ct;
若是,则判定所述并发系统存在数据不一致性错误。
4.一种基于PD-Net的并发系统检错系统,其特征在于,包括:模型构建模块、模型分析模块、错误定位模块和错误检测模块;
所述模型构建模块,用于使用PD-Net构建并发系统的PD-Net模型;
所述模型分析模块,用于分析所述PD-Net模型,获取变迁关系信息,计算所述变迁关系信息得变迁可达信息和变迁冲突信息,排除所述变迁冲突信息得变迁并发信息;
所述错误定位模块,用于以预设判断条件筛选所述变迁并发信息定位错误概率不为零的可疑目标状态集;
所述错误检测模块,用于使用启发式方法生成可达图,使用预设路径选择方法从初始状态逼近目标状态,根据所述可达图中的目标逼近结果信息检测所述并发系统的数据不一致错误;
所述模型分析模块,包括:库所变迁矩阵模块、变迁关系矩阵模块、变迁可达矩阵模块、冲突获取模块和变迁并发关系模块;
所述库所变迁矩阵模块,用于获得模型的库所-变迁的关系矩阵P*T,其中P为库所数量,T为变迁数量;
所述变迁关系矩阵模块,用于根据所述库所-变迁的关系矩阵P*T得到变迁冲突矩阵,所述变迁数量T得变迁关系矩阵T*T;
所述变迁可达矩阵模块,用于根据Warshall算法所述变迁关系矩阵T*T,得到变迁可达矩阵;
所述冲突获取模块,用于根据所述变迁关系矩阵P*T中的变迁不可达信息和所述变迁可达矩阵得变迁冲突矩阵;
所述变迁并发关系模块,用于排除所述变迁关系矩阵P*T对应的变迁关系中所述变迁冲突矩阵对应的冲突关系得变迁并发关系集合。
5.根据权利要求4所述的系统,其特征在于,所述错误定位模块,包括:关系集合获取模块、库所判断模块、关系集合模块和关系集合遍历模块;
所述关系集合获取模块,用于获取所述变迁并发关系集合;
所述库所判断模块,用于循环判断所述变迁并发关系集合中的并发变迁t0和t1是否满足条件: 其中Read(t0)代表所述并发变迁t0的数据进行读取操作,Write(t0)代表所述并发变迁t0的数据进行写入操作,Delete(t0)代表所述并发变迁t0的数据进行删除操作,Write(t1)代表所述并发变迁t1的写入操作,Delete(t1)代表所述并发变迁t1的删除操作;
所述关系集合模块,用于在所述变迁并发关系集合中的并发变迁的所有前集库所满足托肯数量条件时,将所述变迁存入所述可疑目标状态集;
所述关系集合遍历模块,用于在所述变迁并发关系集合中的并发变迁的所有前集库所小于预设的托肯数量阈值时,将继续判断所述变迁并发关系集合中的其他变迁直至遍历所述变迁并发关系集合。
6.根据权利要求4所述的系统,其特征在于,所述错误检测模块,包括:变迁代价计算模块、目标状态集模块、变迁信息集模块、可达判断模块、循环判断模块和错误判定模块;
所述变迁代价计算模块,用于通过启发式方法的评估函数计算从初始状态C0到Ct中每个状态的所需代价cost;
所述目标状态集模块,用于按所述代价cost值升序排列,从所述代价cost值最小的目标状态开始检测,其中所述代价cost为触发的变迁数量,C0为初始状态,Ct为目标状态集;
所述变迁信息集模块,用于将每一变迁t以<Ci,t1,cost>的形式存入变迁信息集Tc,其中,Ci为所述可达图中的各个状态,t1为并发变迁;
所述可达判断模块,用于判断所述变迁信息集Tc中的所述变迁t是否可到达目的状态Ct;
所述循环判断模块,用于在所述变迁信息集Tc中的所述变迁t不可到达所述目的状态Ct时,循环判断其他所述变迁t是否可达到所述目的状态Ct;
所述错误判定模块,用于在所述变迁信息集Tc中的所述变迁t可到达所述目的状态Ct时,判定所述并发系统存在数据不一致性错误。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至3中任一项所述基于PD-Net的并发系统检错方法。
8.一种基于PD-Net的并发系统检错设备,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述基于PD-Net的并发系统检错设备执行如权利要求1至3中任一项所述基于PD-Net的并发系统检错方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810280956.XA CN108647380B (zh) | 2018-04-02 | 2018-04-02 | 基于PD-Net的并发系统检错方法、系统、介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810280956.XA CN108647380B (zh) | 2018-04-02 | 2018-04-02 | 基于PD-Net的并发系统检错方法、系统、介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108647380A CN108647380A (zh) | 2018-10-12 |
CN108647380B true CN108647380B (zh) | 2020-07-14 |
Family
ID=63745081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810280956.XA Active CN108647380B (zh) | 2018-04-02 | 2018-04-02 | 基于PD-Net的并发系统检错方法、系统、介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108647380B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111444082B (zh) * | 2019-01-17 | 2022-02-11 | 同济大学 | 基于Petri网的并发错误检测方法及系统 |
CN110308690A (zh) * | 2019-07-26 | 2019-10-08 | 华侨大学 | 基于Petri网的无刷直流电机DSP逻辑控制程序设计方法 |
CN118368223A (zh) * | 2024-03-20 | 2024-07-19 | 扬州大学 | 基于Petri-Net的信息物理系统中数据冗余错误检测方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493857A (zh) * | 2009-02-13 | 2009-07-29 | 同济大学 | 基于Petri网与免疫算法的半导体生产线建模与优化调度方法 |
CN101808109A (zh) * | 2009-10-20 | 2010-08-18 | 清华大学 | 语义Web服务组合的模型转换及形式化验证方法 |
CN102791046A (zh) * | 2011-05-23 | 2012-11-21 | 同济大学 | 一种机会网络中的元数据交换方法及交换节点 |
CN103793597A (zh) * | 2014-01-16 | 2014-05-14 | 同济大学 | 基于完备主干子系统的模型相似度度量方法 |
CN104902018A (zh) * | 2015-05-20 | 2015-09-09 | 山东科技大学 | 基于服务簇的服务组合与替换方法 |
-
2018
- 2018-04-02 CN CN201810280956.XA patent/CN108647380B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101493857A (zh) * | 2009-02-13 | 2009-07-29 | 同济大学 | 基于Petri网与免疫算法的半导体生产线建模与优化调度方法 |
CN101808109A (zh) * | 2009-10-20 | 2010-08-18 | 清华大学 | 语义Web服务组合的模型转换及形式化验证方法 |
CN102791046A (zh) * | 2011-05-23 | 2012-11-21 | 同济大学 | 一种机会网络中的元数据交换方法及交换节点 |
CN103793597A (zh) * | 2014-01-16 | 2014-05-14 | 同济大学 | 基于完备主干子系统的模型相似度度量方法 |
CN104902018A (zh) * | 2015-05-20 | 2015-09-09 | 山东科技大学 | 基于服务簇的服务组合与替换方法 |
Non-Patent Citations (3)
Title |
---|
Detecting Data Inconsistency Based on the Unfolding Technique of Petri Nets;Dongming Xiang 等;《IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS》;20171231;第2995-3005页 * |
Detecting Data-flow Errors Based on Petri Nets With Data Operations;Dongming Xiang 等;《IEEE/CAA JOURNAL OF AUTOMATICA SINICA》;20180131;第251-260页 * |
Directed Unfolding of Petri Nets;Blai Bonet 等;《Transactions on Petri Nets and Other Models of Concurrency》;20081231;第1-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108647380A (zh) | 2018-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Carletti et al. | Challenging the time complexity of exact subgraph isomorphism for huge and dense graphs with VF3 | |
CN108647380B (zh) | 基于PD-Net的并发系统检错方法、系统、介质及设备 | |
US10878309B2 (en) | Determining context-aware distances using deep neural networks | |
CN104809134B (zh) | 检测数据序列中的异常子序列的方法和设备 | |
Roshan Zamir et al. | Gps-tag refinement using random walks with an adaptive damping factor | |
US10191998B1 (en) | Methods of data reduction for parallel breadth-first search over graphs of connected data elements | |
CN108563715B (zh) | 一种分布式的趋同行为挖掘方法与系统 | |
Bouyer et al. | Reachability in networks of register protocols under stochastic schedulers | |
WO2017000828A1 (zh) | 基于规则的数据对象验证方法、装置、系统及电子设备 | |
US20150067644A1 (en) | Method and apparatus for minimum cost cycle removal from a directed graph | |
US20160019248A1 (en) | Methods for processing within-distance queries | |
Zhu et al. | SimRank computation on uncertain graphs | |
CN102508766A (zh) | 一种航天嵌入式c语言软件运行时错误的静态分析方法 | |
KR101116663B1 (ko) | 고차원 데이터의 유사도 검색을 위한 데이터 분할방법 | |
US9811563B2 (en) | System and method for recursively iterating over a loosely associated data structure | |
Liu et al. | A Multi-View–Based Collective Entity Linking Method | |
CN110362569A (zh) | 数据表的校验方法及装置、电子设备、存储介质 | |
US20170039315A1 (en) | Information processing apparatus and simulation method | |
US7102641B2 (en) | Method, data processing system, and computer program product for determining inversion edges for a cyclic compound directed graph | |
KR101145278B1 (ko) | 유사한 이미지들로부터 대표 이미지를 선택하는 방법, 장치 및 컴퓨터 판독 가능한 기록 매체 | |
KR102061413B1 (ko) | 오토마타 기반 실시간 확률 패턴 매칭 장치 및 방법 | |
Bogdanov et al. | Computing the structural difference between state-based models | |
Buchin et al. | Compact flow diagrams for state sequences | |
US20170270234A1 (en) | Circuit design verification apparatus and program | |
CN109145160A (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 |