Process Networks

To model hardware and embedded applications, a highly concurrent model of computation is required. The PN domain in Ptolemy II presents a mechanism to model concurrency using the Kahn process networks model of computation [1]. The process networks model of computation has a dataflow flavor to it. This makes it well suited to modeling embedded dataflow applications and hardware architectures.

In Ptolemy II, an implementation of the Kahn-MacQueen [2] semantics is provided. This is the bounded memory execution as proposed by T. Parks [3].

The following are the most important features of the operational semantics of PN as proposed by Kahn and MacQueen:

The above features make the execution of the network deterministic. The implementation in Ptolemy II is based on Java threads and synchronizing monitors.

In addition to the above features, the PN domain has been extended to support a notion of global time. Time advances for a PN process either when the process is blocked on a read from some channel or when is explicitly waiting for time to advance. This is based primarily on Pamela [4].

PN has been further extended to support dynamic changes to a graph. In case of timed-PN these changes are completely deterministic, while in case of untimed-PN, the changes could be non-deterministic and can depend on the schedule of the underlying java threads.


  1. Neil Smyth, John S. Davis II, Thomas Huining Feng, Mudit Goel, Edward A. Lee, Thomas M. Parks and Yang Zhao, "Process Networks and Rendezvous," a chapter from
    Claudius Ptolemaeus, Editor, "System Design, Modeling, and Simulation Using Ptolemy II",, 2014. (included in the release as $PTII/doc/books/systems/PtolemyII_DigitalV1_02.pdf)
    The models provided in this chapter are also available online.
  2. M. Goel, "Process Networks in Ptolemy II," MS Report, ERL Technical Report UCB/ERL No. M98/69, University of California, Berkeley, CA 94720, December 16, 1998.
  3. G. Kahn, "The semantics of a simple language for parallel programming," Info. Proc. 74, vol.4, pp. 471-5, 1974.
  4. G. Kahn and D.B. MacQueen, "Coroutines and networks of parallel processes," Info. Proc. 77, vol. 7, pp. 993-8, 1997.
  5. T.M. Parks, Bounded scheduling of process networks. PhD thesis, Univ. of California at Berkeley, 1995.
  6. A. van Gemund, "Performance prediction of parallel processing systems: The Pamela methodology," in Proc. 7th ACM Int. Conf. on Supercomputing (Tokyo), pp.318-327, July 1993.
  7. Wikipedia