Ptolemy is a third-generation software environment that started in January of 1990. It is an outgrowth of two previous generations of design environments, Blosim [Mes84a,b] and Gabriel [Lee89][Bie90], that were aimed at digital signal processing (DSP). Both environments use dataflow semantics with block-diagram syntax for the description of algorithms. To broaden the applicability beyond DSP, the Ptolemy kernel does not build in dataflow semantics, but instead provides support for a wide variety of computational models, such as dataflow, discrete-event processing, communicating sequential processes, computational models based on shared data structures, and finite-state machines. For these computational models, the Ptolemy kernel provides a mixture of compile-time and run-time scheduling techniques. Unlike Blosim or Gabriel, then, the Ptolemy kernel provides infrastructure that is extensible to new computational models without re-implementation of the system.
Since 1990, we have had seven major releases of Ptolemy, numbered 0.1 through 0.7. The zero indicates that Ptolemy is research software and not a commercial product. Between annual major releases, we put out one or two incremental releases. Our goal is to test our algorithms and methodologies in Ptolemy and to transfer them as quickly as possible to the public through freely distributable releases. Because of the critical mass of users of Ptolemy worldwide, a news group called
comp.soft-sys.ptolemy was formed in 1994. The Ptolemy Web site
http://ptolemy.eecs.berkeley.edu/ went on-line in May of 1994.
The flexibility of Ptolemy is particularly important for enabling research in design methodology. In September of 1993, the Ptolemy project became part of the technology base portion of the RASSP project (rapid prototyping of application-specific signal processors), organized and sponsored by Advanced Research Projects Agency (ARPA) and the United States Air Force. The Ptolemy part of the RASSP project was to research system-level design methodology for embedded signal processors. Our project aimed to develop formal models for such heterogeneous systems, a software environment for the design of such systems, and synthesis technologies for implementation of such systems. In the latter category, we have been concentrating on problems not already well addressed elsewhere, such as the synthesis of embedded software and the partitioning and scheduling of heterogeneous parallel systems. In 1997 the project became part of the DARPA Composite CAD program, and has shifted its focus towards more aggressively heterogeneous systems, including for example microelectromechanical components, and distributed adaptive signal processing systems.
We have transferred many of our research ideas to computer-aided design tool vendors such as Cadence, Hewlett Packard, and Synopsys. Cadence's Signal Processing Workshop (SPW) includes their version of our synchronous dataflow (SDF) domain and multirate dataflow schedulers. Cadence's Convergence environment (released in October, 1995) is Cadence's implementation of our ideas for heterogeneous simulation. Cadence has used Convergence to allow SPW and Bones (a discrete-event simulator) to cooperate in a simulation, just as the Ptolemy kernel has allowed the SDF domain and the Discrete-Event (DE) domain since 1990. Berkeley Design Technology has a similar cosimulation environment for SPW and Bones, but their implementation is based on the Ptolemy kernel. In June of 1997, Hewlett Packard announced plans to release a Ptolemy-based dataflow modeling environment that is integrated with their highly regarded analog, RF, and microwave circuit simulation software.
Copyright © 1990-1997, University of California. All rights