Researchers have used Petri nets to model processes for decades, but they recently entered the mainstream via the unified modeling language’s activity diagrams. A colored Petri net has places that can have objects called tokens and transitions that move tokens from place to place and compute output values. In this paper, the authors research the decomposition of a process into parallel subprocesses that share places.
The authors introduce a form of Petri net called the Pr/T net, which has a predicate in each transition. The authors use these nets to express both overall process specifications and the parallel subprocesses that emulate the whole. The subprocesses share some places. One subprocess puts tokens into a shared place and another gets tokens from it. Subprocesses have only limited information to decide if a transition should fire. The authors propose a two-phase commit process to handle this. The paper gives three examples: one is abstract, one is from the MPEG2 protocol, and the third is a software development process. Each is split into three or four subprocesses. The work describes the tools and algorithms that compute them. Proofs are in the appendices, and a large list of references is included.
This paper will interest researchers of protocols and Petri nets. Managers divide software processes using experience and intuition. Perhaps this paper’s two-phase commit could help with outsourcing.