The Ptolemy Project

Ptolemy image For current work, spun off from the Ptolemy Project, see Lingua Franca and its GitHub repo.

The Ptolemy project studies modeling, simulation, and design of concurrent, real-time, embedded systems. The focus is on assembly of concurrent components. 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. A software system called Ptolemy II is being constructed in Java. The work is conducted in the Industrial Cyber-Physical Systems Center (iCyPhy) in the Department of Electrical Engineering and Computer Sciences of the University of California at Berkeley. The project is directed by Prof. Edward Lee. The project is named after Claudius Ptolemaeus, the second century Greek astronomer, mathematician, and geographer.

Books:

About the Ptolemy Project:

Current Research Thrusts:

  • Reactors: This effort is developing polyglot metalanguage for composing reactors, concurrent components that exchange timestamped messages. This language is intended for distributed systems, particularly those with time-sensitive behavior. See the Lingua Franca GitHub repository and Wiki.
  • Cyber-physical systems: Models of computation with time and concurrency, metaprogramming techniques, code generation and optimization, domain-specific languages, schedulability analysis, programming of sensor networks. See the iCyPhy (industrial cyber-physical systems) consortium and early position paper and publications page for elaborations.
  • Understandable concurrency: This effort focuses on models of concurrency in software that are more understandable and analyzable than the prevailing abstractions based on threads. See a position paper.
  • Systems of systems: This effort focuses on modeling and design of large scale systems, those that include networking, database, grid computing, and information subsystems. See for example the Kepler project, which is a scientific workflow management system.
  • Semantics: Domain polymorphism, behavioral type systems, meta-modeling of semantics, comparative models of computation. See papers on semantics.
  • Hybrid systems: Blended continuous and discrete dynamics, models of time, operational semantics, language design. See the paper on hybrid systems semantics and paper on semantics of mixed continuous and discrete systems.

News:

News archive.