Ptolemy: A Mixed-Paradigm Simulation/Prototyping Platform in C++

Joseph Buck, Soonhoi Ha, Edward A. Lee, and David G. Messerschmitt

Dept. of Electrical Engineering and Computer Science University of California Berkeley, CA 94720 September 6, 1991

Prepublished version
Published version

ABSTRACT

Ptolemy is a flexible and extensible platform for simulations, rapid prototyping, and other software systems. It is our third generation software environment, building on our experience with Blosim, a signal processing simulation system, and Gabriel, a prototyping environment for real-time signal processing. Unlike its predecessors, Ptolemy does not enforce a single simula-tion or execution model; it supports mixed hardware and software designs, mixed-mode system descriptions, and mixed prototyping methodologies.

The objectives, design, current status, and future directions of the Ptolemy project are summarized in this paper. The use of certain features of the C++ language to make it easier to design a flexible, extensible system is discussed. We also describe our experiences in developing a 150K line (and growing) system in C++, discussing what worked well, what didn't and lessons learned.