Ptolemy II- Heterogeneous Concurrent Modeling and Design in Java

Researchers: Elaine Cheong, Chamberlain Fong, Christopher Hylands, Takahide Inoue (Visiting Scholar) Edward A. Lee, Jie Liu, Xiaojun Liu, Steve Neuendorffer, Claudius Ptolemaus, John Reekie, Sonia Sachs, Mary P. Stewart, Brian Vogel and Yuhong Xiong.
Advisor:Edward A. Lee
Ptolemy II 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;
  • FSM: modeling of finite state machines;
  • PN: modeling of Kahn process networks, which are implemented as communicating Java threads; and
  • SDF: (synchronous dataflow) modeling of deterministic, repetitive stream-based computations, such as signal processing.
Domains that are planned include:
  • DT: modeling of discrete-time systems (an extension of SDF);
  • SR: modeling of synchronous/reactive systems;
  • PBO: modeling of port-based objects, where temporal constraints take precedence over data determinacy.
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.

Last updated 11/03/00