Ptolemy II- Heterogeneous Concurrent Modeling and Design in Java
Researchers: |
Christopher Brooks, Edward Lee, Jie Liu, Xiaojun Liu, Stephen Neuendorffer, Yuhong Xiong, Yang Zhao, Haiyang Zheng |
Advisor: | Edward A. Lee |
|
Ptolemy II [1][2][3] 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:
- CI: modeling of component interaction or push/pull systems;
- 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);
- FSM: modeling of finite state machines;
- Giotto: modeling of periodic time-driven systems;
- PN: modeling of Kahn process networks, which are implemented
as communicating Java threads;
- PSDF: (parameterized synchronous dataflow) an extension
of SDF that allows for more extensive reconfiguration of models;
- SDF: (synchronous dataflow) modeling of deterministic,
repetitive stream-based computations, such as signal processing;
- SR: modeling of synchronous/reactive systems;
- TM: modeling of timed multitasking systems; and
- Wireless: Wireless components and channels.
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] C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng (eds.),
"Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II),"
Memorandum UCB/ERL M04/27,
EECS, University of California, Berkeley, CA USA 94720
July 29, 2004
[2] C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng (eds.),
"Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture),"
Memorandum UCB/ERL M04/16,
EECS, University of California, Berkeley, CA USA 94720
June 24, 2004
[3] C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, H. Zheng (eds.),
"Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains),"
Memorandum UCB/ERL M04/17,
EECS, University of California, Berkeley, CA USA 94720
June 24, 2004
Last updated 11/01/04