superseded by a more recent version

Heterogeneous Concurrent Modeling and Design in Java

(Volume 3: Ptolemy II Domains)

(Volume1: Introduction to Ptolemy II)

(Volume 2: Ptolemy II Software Architecture)

C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng (eds.)

Memorandum UCB/ERL M04/17,
EECS, University of California, Berkeley, CA USA 94720
June 24, 2004

Volume 3: Ptolemy II Domains: [PDF] (1.9 Mb PDF File)

Note that some chapters are available separately on the Concurrency workgroup Ptolemy II Documentation Page


This volume describes Ptolemy II domains. The domains implement models of computation, which are summarized in chapter 1. Most of these models of computation can be viewed as a framework for component- based design, where the framework defines the interaction mechanism between the components. Some of the domains (CSP, DDE, and PN) are thread-oriented, meaning that the components implement Java threads. These can be viewed, therefore, as abstractions upon which to build threaded Java programs. These abstractions are much easier to use (much higher level) than the raw threads and monitors of Java. Others (CT, DE, SDF) of the domains implement their own scheduling between actors, rather than relying on threads. This usual results in much more efficient execution. The Giotto domain, which addresses real-time computation, is not threaded, but has concurrency features similar to threaded domains. The FSM domain is in a category by itself, since in it, the components are not producers and consumers of data, but rather are states. The non-threaded domains are described first, followed by FSM and Giotto, followed by the threaded domains. Within this grouping, the domains are ordered alphabetically (which is an arbitrary choice).

Volume 1 is an introduction to Ptolemy II, including tutorials on use of the software, and volume 2 describes the Ptolemy II software architecture.