Ptolemy II- Heterogeneous Concurrent Modeling and Design in Java
Researchers: |
Adam Cataldo, Chris Chang, Elaine Cheong, Christopher Hylands, Edward A. Lee, Xiaojun Liu, Steve Neuendorffer, Claudius Ptolemaeus, John Reekie, Mary P. Stewart, James Yeh, Yang Zhao, Haiyang Zheng and Ye Zhou |
Advisor: | Edward A. Lee |
|
Ptolemy II [1] is
a set of Java packages supporting heterogeneous, concurrent modeling,
simulation, and design of component-based systems. The emphasis is on a
clean, modular software architecture, divided into a set of coherent,
comprehensible packages. The kernel package supports definition and
manipulation of clustered hierarchical graphs, which are collections of
entities and relations between those entities. The actor
package extends the kernel so that entities have functionality and can
communicate via the relations. The domains extend the actor
package by imposing models of computation on the interaction
between entities.
|
Domains that have been created include:
- CSP: modeling of communicating sequential processes, where
interactions have a rendezvous style, including both conditional send
and conditional receive;
- CT: modeling of linear and nonlinear continuous-time
ordinary differential equations, extended to support discrete events;
- DE: modeling of discrete-event systems, with emphasis on
deterministic handling of simultaneous events;
- DDE: a distributable version of discrete-event modeling, where
management of the advancement of time is distributed;
- DT: modeling of discrete-time systems (an extension of SDF);
- Giotto: modeling of periodic time-driven systems;
- FSM: modeling of finite state machines;
- PN: modeling of Kahn process networks, which are implemented
as communicating Java threads;
- SDF: (synchronous dataflow) modeling of deterministic,
repetitive stream-based computations, such as signal processing;
- SR: modeling of synchronous/reactive systems; and
- SR: modeling of timed multitasking systems.
The Ptolemy II software architecture supports interaction between domains
(heterogeneous modeling). For example, FSM can be combined with CT to
model hybrid systems.
Ptolemy II includes a number of support packages, such as
- graph, providing graph-theoretic manipulations,
- math, providing matrix and vector math and signal
processing functions,
- plot, providing visual display of data, and
- data, providing a type system, data encapsulation and an
expression parser.
For more information about Ptolemy II, see
http://ptolemy.eecs.berkeley.edu/ptolemyII
[1]Shuvra S. Bhattacharyya, Elaine Cheong, John Davis II, Mudit Goel, Christopher Hylands, Bart Kienhuis, Edward A. Lee, Jie Liu, Xiaojun Liu, Lukito Muliadi, Steve Neuendorffer, John Reekie, Neil Smyth, Jeff Tsay, Brian Vogel, Winthrop Williams, Yuhong Xiong, Haiyang Zheng, "Heterogeneous Concurrent Modeling and Design in Java," Memorandum UCB/ERL M02/23, University of California, Berkeley, CA USA 94720, August 5, 2002.
Last updated 11/18/02