Petri net models of process synchronization mechanisms

Inhibitor Petri net models of several popular process synchronization mechanisms are presented and discussed. Semaphores and extended semaphores, monitors and rendezvous concepts are used in simple examples of process synchronizations. The corresponding Petri net models are used to verify basic properties such as mutual exclusion, presence or absence of deadlocks, or priorities in accessing shared resources.

[1]  Francesco Tisato,et al.  Modeling the Ada Task System by Petri Nets , 1985, Comput. Lang..

[2]  S. Rao Kosaraju,et al.  Limitations of Dijkstra's Semaphore Primitives and Petri nets , 1973, SOSP '73.

[3]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[4]  Tilak Agerwala,et al.  Special Feature: Putting Petri Nets to Work , 1979, Computer.

[5]  Jörg Desel,et al.  Basic Linear Algebraic Techniques for Place or Transition Nets , 1996, Petri Nets.

[6]  T. Agerwala,et al.  Putting Petri nets to work , 1989 .

[7]  Scott A. Smolka,et al.  Processes, Tasks, and Monitors: A Comparative Study of Concurrent Programming Primitives , 1983, IEEE Transactions on Software Engineering.

[8]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[9]  Fritz Krückeberg,et al.  Mathematical methods for calculating invariants in Petri nets , 1986, European Workshop on Applications and Theory of Petri Nets.

[10]  Alan Shaw,et al.  The logical design of operating systems , 1987 .

[11]  Per Brinch Hansen,et al.  Java's insecure parallelism , 1999, SIGP.

[12]  Jim Welsh,et al.  A comparative study of task communication in ada , 1981, Softw. Pract. Exp..

[13]  Michel Raynal,et al.  Algorithms for mutual exclusion , 1986 .

[14]  Gregory R. Andrews,et al.  Concepts and Notations for Concurrent Programming , 1983, CSUR.

[15]  Wolfgang Reisig,et al.  Lectures on Petri Nets I: Basic Models , 1996, Lecture Notes in Computer Science.

[16]  Roy H. Campbell,et al.  The specification of process synchronization by path expressions , 1974, Symposium on Operating Systems.

[17]  Sol M. Shatz,et al.  Modeling of advanced tasking in Ada-95: a Petri net perspective , 1997, Proceedings of PDSE '97: 2nd International Workshop on Software Engineering for Parallel and Distributed Systems.

[18]  Per Brinch Hansen,et al.  The programming language Concurrent Pascal , 1975, IEEE Transactions on Software Engineering.

[19]  Tadao Murata,et al.  Detection of Ada Static Deadlocks Using Petri Net Invariants , 1989, IEEE Trans. Software Eng..