Petri nets are widely used to model and analyse concurrent systems. There exist two distinct classes of Petri nets that focus on different features of concurrent systems. The first one features multiple parallel processes sharing a group of common resources but not interacting/collaborating with each other. The second one allows multiple parallel processes to interact/collaborate with each other via message exchange but does not share any common resources. However, in many distributed environments, multiple processes both interact/collaborate with each other and share some common resources. To model and analyse such systems, this article defines a new class of Petri nets called Parallel Process Nets (P2Ns) that may be viewed as a generalization of the two mentioned above. We propose collaborativeness and close collaborativeness for P2Ns. The former guarantees that a modelled system is both deadlock-free and livelock-free, and the latter guarantees that it is deadlock-free, livelock-free, and starvation-free. These concepts and ideas are illustrated through some classical examples such as Producer-Consumer Problem and Dinning Philosophers Problem. Algorithms are developed to decide them. At last, P2Ns are applied to the modelling and analysis of two real systems: hospital information system and elevator scheduling system.
All Science Journal Classification (ASJC) codes
- Hardware and Architecture
- Concurrent systems
- Petri nets