Parallelisation of the Petri Net Unfolding Algorithm [chapter]

Keijo Heljanko, Victor Khomenko, Maciej Koutny
2002 Lecture Notes in Computer Science  
In this paper, we first present theoretical results, helping to understand the unfolding algorithm presented in [5, 6] . We then propose a modification of this algorithm, which can be efficiently parallelised, and prove its correctness. We also present additional optimisations. In this section, we first present basic definitions concerning Petri nets, and then recall (see also [3, 5, 6] ) notions related to net unfoldings. Petri nets A net is a triple N df = (P, T, F ) such that P and T are
more » ... oint sets of respectively places and transitions, and A net system is a pair Σ df = (N, M 0 ) comprising a finite net N = (P, T, F ) and an initial marking M 0 . A transition t ∈ T is enabled at a marking M if for every p ∈ • t, M (p) ≥ 1. Such a transition can be executed, leading to a marking M df = M − • t + t • . We denote this by M [t M . The set of reachable markings of Σ is the smallest (w.r.t. set inclusion) set [M 0 containing M 0 and such that if M ∈ [M 0 and M [t M (for some t ∈ T ) then M ∈ [M 0 . A net system Σ is safe if for every reachable marking M , M (P ) ⊆ {0, 1}; and bounded if there is k ∈ N such that M (P ) ⊆ {0, . . . , k}, for every reachable marking M .
doi:10.1007/3-540-46002-0_26 fatcat:wbxf5txmerdy3fj7e4rooxo6da