2008 Research Summary
Ptolemy Project
View Current Project Information
Edward A. Lee, Hugo Andrade, Christine Avanessians, Christopher Brooks, Dai Bui, Elaine Cheong, Thomas Huining Feng, Shanna-Shaye Forbes, Ben Lickly, Isaac Liu, Thomas Mandl, Eleftherios Matsikoudis, Slobodan Matic, Hwa-yong Oh, Hiren Patel, Mary Stewart, Min Van Ly, Yang Zhao, Gang Zhou and Jia Zou
The Ptolemy Project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components [1-3]. The key underlying principle in the project is the use of well-defined models of computation that govern the interaction between components. A major problem area being addressed is the use of heterogeneous mixtures of models of computation. Current research thrusts include:
- Precision-timed (PRET) machines [4]: This effort reintroduces timing into the core abstractions of computing, beginning with instruction set architectures, using configurable hardware as an experimental platform;
- Real-time software: Models of computation with time and concurrency, metaprogramming techniques, code generation and optimization, domain-specific languages, schedulability analysis, programming of sensor networks;
- Distributed computing [5]: Models of computation based on distributed discrete events, backtracking techniques, lifecycle management, unreliable networks, modeling of sensor networks;
- Understandable concurrency: This effort focuses on models of concurrency in software that are more understandable and analyzable than the prevailing abstractions based on threads;
- Systems of systems: This effort focuses on modeling and design of large scale systems, those that include networking, database, grid computing, and information subsystems;
- Abstract semantics: Domain polymorphism, behavioral type systems, meta-modeling of semantics, comparative models of computation; and
- Hybrid systems: Blended continuous and discrete dynamics, models of time, operational semantics, and language design.
Figure 1: The Ptolemy project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer.
- [1]
- C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.), "Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II," UC Berkeley EECS Department Technical Report No. UCB/EECS-2007-7, January 11, 2007.
- [2]
- C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.), "Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture)," UC Berkeley EECS Department Technical Report No. UCB/EECS-2007-8, January 11, 2007.
- [3]
- C. Brooks, E. A. Lee, X. Liu, S. Neuendorffer, Y. Zhao, and H. Zheng (eds.), "Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains)," UC Berkeley EECS Department Technical Reports, UC Berkeley EECS Department Technical Report No. UCB/EECS-2007-9, January 11, 2007.
- [4]
- S. Edwards and E. A. Lee, "The Case for the Precision Timed (PRET) Machine," UC Berkeley EECS Department Technical Report No. UCB/EECS-2006-149, November 17, 2006.
- [5]
- Y. Zhao, J. Liu, and E. A. Lee, "A Programming Model for Time-Synchronized Distributed Real-Time Systems," Proceedings of the 13th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 07), Bellevue, WA, April 3-6, 2007.
