Concurrency is an important aspect of Petri nets to describe and simulate the behavior of complex systems. Knowing which places and transitions could be executed in parallel helps to understand nets and enables analysis techniques and the computation of other properties, such as causality, exclusivity, etc.. All techniques based on concurrency detection depend on the efficiency of this detection methodology. Kovalyov and Esparza have developed algorithms that compute all concurrent places in $O\big((P+T)TP^2\big)$ for live and bounded nets (where $P$ and $T$ are the numbers of places and transitions) and in $O\big(P(P+T)^2\big)$ for live and bounded free-choice nets. Although these algorithms have a reasonably good computational complexity, large numbers of concurrent pairs of nodes may still lead to long computation times. This paper complements the palette of concurrency detection algorithms with the Concurrent Paths (CP) algorithm for sound free-choice workflow nets. The algorithm allows parallelization and has a worst-case computational complexity of $O(P^2 + T^2)$ for acyclic nets and of $O(P^3 + PT^2)$ for cyclic nets. Although the computational complexity of cyclic nets has not improved, the evaluation shows the benefits of CP, especially, if the net contains many nodes in concurrency relation.
翻译:并发性是Petri网描述和模拟复杂系统行为的重要特性。了解哪些库所和变迁可并行执行,有助于理解网结构,并支持分析技术及其他属性(如因果性、互斥性等)的计算。所有基于并发性检测的技术均依赖于该检测方法的效率。Kovalyov与Esparza已提出算法:对有界活网,可在$O\big((P+T)TP^2\big)$复杂度内计算所有并发库所(其中$P$和$T$分别表示库所和变迁的数量);对有界活自由选择网,可在$O\big(P(P+T)^2\big)$复杂度内实现。尽管这些算法具有较优的计算复杂度,但当并发节点对数量较大时,仍可能导致较长的计算时间。本文提出面向健全自由选择工作流网的并发路径(CP)算法,丰富了并发性检测算法体系。该算法支持并行化,在无环网中具有$O(P^2 + T^2)$的最坏情况计算复杂度,在有环网中则为$O(P^3 + PT^2)$。尽管有环网的计算复杂度未获改进,但实验评估表明CP算法具有显著优势,尤其当网中包含大量并发关系节点时。