Ptolemy II
Ptolemy II is a software framework developed as part of the Ptolemy Project. It is a Java-based component assembly framework with a graphical user interface called Vergil. Vergil itself is a component assembly defined in Ptolemy II.
The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. The key underlying principle in the project is the use of well-defined models of computation that govern the interactions between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation.
The Ptolemy Project web page contains much more information about the project. The work is conducted in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer.
Ptolemy II includes a growing suite of domains, each of which realizes a model of computation. It also includes a component library, in which most components are domain polymorphic, in that they can operate in several of the domains. Most are also data polymorphic, in that they operate on several data types. The domains that have been implemented are listed below. Domains that are reasonably mature:
- CT: continuous-time modeling
- DDF: dynamic dataflow
- DE: discrete-event modeling
- FSM: finite state machines and modal model
- PN: process networks with asynchronous message passing
- Rendezvous: process networks with synchronous message passing
- SDF: synchronous dataflow
- SR: synchronous reactive
- Wireless: wireless
- CI: component interaction (push/pull)
- Continuous: continuous-time modeling
- DDE: distributed discrete events
- DT: discrete time
- Giotto: periodic time-driven
- GR: 3-D graphics
- HDF: heterochronous dataflow
- PSDF: parameterized synchronous dataflow
- TM: timed multitasking
raph, providing graph-theoretic manipulations,
math, providing matrix and vector math and signal
processing functions,
plot, providing visual display of data,
data, providing a type system, data encapsulation and an
expression parser, etc.
The Ptolemy project has a long history of folding in software contributions from off site developers, see the Ptolemy II FAQ for details.
Recent Releases and News
Ptolemy II 7.0.1
was made available on April 4, 2008.
Ptolemy II 7.0.1 includes
Ptolemy II 7.0.beta was made available on February 7, 2008
Ptolemy II 6.0.2
was made available on February 4, 2007
Ptolemy II 6.0 includes
Ptolemy II 6.0.1 was made available on January 15, 2006.
Ptolemy II 6.0.beta was made available on October 31, 2006.
Viptos 1.0.beta
was released on October 30, 2006. Viptos is an interface between
TinyOS
and
Ptolemy II.
TinyOS is an
event-driven operating system designed for sensor network nodes
that have very limited resources (e.g., 8K bytes of program
memory, 512 bytes of RAM). TinyOS, is used, for example, on the
Berkeley MICA motes, which are small wireless sensor nodes.
The Viptos1.0.beta release is a source only release that works
under Linux and Windows.
Ptolemy II 6.0.alpha was made available on October 2, 2006.
Viptos 5.1-alpha
was released on November 1, 2005.
Viptos is an interface between
TinyOS
and
Ptolemy II.
TinyOS is an
event-driven operating system designed for sensor network nodes
that have very limited resources (e.g., 8K bytes of program
memory, 512 bytes of RAM). TinyOS, is used, for example, on the
Berkeley MICA motes, which are small wireless sensor nodes.
The Viptos5.1-alpha release is a source only release that works
under Linux only. Under Windows, Viptos will not run TinyOS models,
though the models are viewable.
HyVisual 5.0.1
was released on October 7, 2005.
This release fixes a few bugs in the 5.0 release and includes
a standalone HyVisual-5.0.1 installer.
Ptolemy II 5.0.1
was made available on October 5, 2005.
This is a bug fix release only, no new features were added.
See the Ptolemy II 5.0.1
page for details.
Ptolemy II 5.0
was made available on July 21, 2005
Ptolemy II 5.0 includes
HyVisual 5.0-alpha
was made available on March 4, 2005
HyVisual is a Hybrid Systems Visual Modeler based on Ptolemy II.
The semantics of the Discrete Event and Continuous Time domains
have changed slightly between HyVisual-4.0.2 and HyVisual 5.0-alpha.
The semantics of HyVisual are described in the following paper:
Edward A. Lee and Haiyang Zheng, " Operational Semantics of Hybrid Systems," Invited paper in Proceedings of Hybrid Systems: Computation and Control (HSCC) LNCS 3414, Zurich, Switzerland, March 9-11, 2005.
Ptolemy II 4.0.1
was made available on August 4, 2004
Ptolemy II 4.0.1 includes
VisualSense 4.0.1
was made available on August 4, 2004
VisualSense is a visual editor and simulator for wireless sensor
network systems.
Older Releases
HyVisual 4.0.2
was made available on October 28, 2004.
HyVisual is a Hybrid Systems Visual Modeler based on Ptolemy II.
Ptolemy II 3.0.2 was made available on August 21, 2003.
Ptolemy II 3.0 includes a HSIF to Ptolemy converter, the expression language has been reworked and the code generator updated. It also includes a set of mature and experimental domains, and a more comprehensive actor library than previous releases.
HyVisual 2.2 was made available on January 28, 2003. HyVisual is a Hybrid Systems Visual Modeler based on Ptolemy II.
Ptolemy II 2.0.1 was made available on August 7, 2002
Other recent news about Ptolemy II can be found on the Projects page.
Ptolemy II 2.0.1 was the first release that includes a limited prototype of our code generation facility that will generate class files for non-hierarchical SDF models. This release also includes support for modal models, a Timed Multitasking domain and a Synchronous reactive domain.
The release is available in several formats, see the Ptolemy II 2.0.1 page.
Ptolemy II 1.0.1 was made available on March 19, 2001.
Ptolemy II 1.0.1 was the first major release to include Vergil, a graphical user interface supporting block diagram editing of Ptolemy II models. It also includes a set of mature and experimental domains, and a more comprehensive actor library than previous releases. Ptolemy II 1.0.1 supports an XML schema called MoML for specifying component-based models.
The release consists of on-line demonstrations and downloads.
Ptolemy II 0.4beta was made available on February 7, 2000. Ptolemy II 0.4beta was the second Ptolemy II release to include domains, actors, and applets of sufficient quality and architectural stability to use as models for development. The domain-polymorphic actor libraries, in the ptolemy.actor.lib and ptolemy.actor.gui packages are still small, but reasonably solid.
Ptolemy II 0.4beta supports an XML language called MoML for specifying component-based models. Chapter 2 of the Ptolemy II Design Document describes how to use MoML to create models.
The release consists of on-line demonstrations and downloads.
Ptolemy II 0.3 was made available on August 2, 1999. This release consists of domains, actors and applets to use as models for development and extensive documentation.
The demonstrations that we ran during the 1999 Ptolemy Miniconference, are available online.
The Ptolemy II 0.2devel snapshot release we used for the demonstrations is also available for downloading.
