August 31, 1992 | Joseph Buck, Soonhoi Ha, Edward A. Lee, David G. Messerschmitt
Ptolemy is a simulation and prototyping framework designed for heterogeneous systems, particularly those involving signal processing and communications. It leverages modern object-oriented programming (OOP) principles to model and integrate subsystems, supporting a wide range of design styles and computational models. The core of Ptolemy is a set of object-oriented class definitions that allow for the creation of generic and specialized objects, with a focus on flexibility and interoperability. Key features include:
- **Agility**: Support for distinct computational models to model subsystems naturally.
- **Heterogeneity**: Allow different computational models to coexist seamlessly.
- **Extensibility**: Seamless integration of new computational models.
- **Friendliness**: A modern graphical interface for easy user interaction.
Ptolemy supports various domains such as synchronous and dynamic dataflow, discrete-event, and others, which can be mixed to simulate complex systems. It also includes tools for code generation, allowing for the synthesis of real-time prototypes and hardware designs. Applications of Ptolemy include multimedia networks, signal processing, hardware-software co-design, and more. The framework is implemented in C++ and has been successfully used in various simulation and prototyping tasks.Ptolemy is a simulation and prototyping framework designed for heterogeneous systems, particularly those involving signal processing and communications. It leverages modern object-oriented programming (OOP) principles to model and integrate subsystems, supporting a wide range of design styles and computational models. The core of Ptolemy is a set of object-oriented class definitions that allow for the creation of generic and specialized objects, with a focus on flexibility and interoperability. Key features include:
- **Agility**: Support for distinct computational models to model subsystems naturally.
- **Heterogeneity**: Allow different computational models to coexist seamlessly.
- **Extensibility**: Seamless integration of new computational models.
- **Friendliness**: A modern graphical interface for easy user interaction.
Ptolemy supports various domains such as synchronous and dynamic dataflow, discrete-event, and others, which can be mixed to simulate complex systems. It also includes tools for code generation, allowing for the synthesis of real-time prototypes and hardware designs. Applications of Ptolemy include multimedia networks, signal processing, hardware-software co-design, and more. The framework is implemented in C++ and has been successfully used in various simulation and prototyping tasks.