Ptolemy Project

Edward A. Lee, Ilge Akkaya, Hugo Andrade1, Steve Bako, Christopher Brooks, Janette Cardoso2, Dai Bui, Yasemin Demir, Gage Eads, John Eidson, Shanna-Shaye Forbes, Soheil Ghiasi3, Tatsuaki Iwata4, Elizabeth Latronico5, Ben Lickly, Isaac Liu, Slobodan Matic, Eleftherios Matsikoudis, Minxue Pan, Jan Reineke, Dorsa Sadigh, Christopher Shaver, Charles Shelton6, Mary Stewart, Stavros Tripakis, Maarten Wiggers, Jia Zou and Michael Zimmer

Center for Hybrid and Embedded Software Systems, National Science Foundation 0720882 (CSR-EHS: PRET), National Science Foundation 1035672 (CPS: PTIDES), National Science Foundation 0931843 (ActionWebs), Army Research Office W911NF-07-2-0019 (SCOS), Air Force Office of Scientific Research FA9550-06-0312 (HCDDES MURI), Air Force Research Lab, Multiscale Systems Center (MuSyC), Robert Bosch GmBH, National Instruments, Thales and Toyota

The Ptolemy Project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components [1]. 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 [2]: 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 [3]: 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, and more suitable for implementation on multicore architectures;
  • 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
Figure 1: The Ptolemy project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer.

[1]
Johan Eker, Jörn W. Janneck, Edward A. Lee, Jie Liu, Xiaojun Liu, Jozsef Ludvig, Stephen Neuendorffer, Sonia Sachs, Yuhong Xiong, "Taming Heterogeneity - the Ptolemy Approach," Proceedings of the IEEE, Jan 2003, Volume: 91, Issue: 1, p127-144.
[2]
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.
[3]
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.

1National Instruments
2Institut Superieur de l’Aeronatique et de l’Espace
3UC Davis
4Toshiba
5Bosch
6Bosch

More information: http://ptolemy.eecs.berkeley.edu