GSoC/GCI Archive
Google Summer of Code 2009

Ptolemy Project, University of California, Berkeley

Web Page:

Mailing List:

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. Ptolemy II differs from other commonly used graphical block-diagram languages in that they typically support only one model of computation. In addition, Ptolemy II is a more open architecture in that its infrastructure is open source, and the interfaces to the core mechanisms in the software are published and documented. The Ptolemy project has been under development in Java since 1997.

The work is conducted in the Department of Electrical Engineering and Computer Sciences of the University of California, Berkeley. Currently, full-time members of the project include 1 director, 3 system/sw managers, 5 postdoctoral/visiting scholars, 11 grad students, 2 visitors, 2 undergrad students (details at ). Our contributors include people from industry, universities, research institutions and other public projects (details at ). We have a long collaboration with the Kepler project ( ), an open-source scientific workflow system that uses Ptolemy as its core.


  • A Direct Implementation of the PTIDES Programming Model by Complete, Semantic A proposal to implement the PTIDES programming model in Linux. Implementing PTIDES semantics in Linux is difficult because Linux hard-wires its scheduling semantics. A framework called Group Scheduling is presented that allows for the creation of arbitrary programming models in Linux, and offers solutions to achiving precise control of computations. This prospoal is intended to describe a possible implementation of PTIDES semantics in Linux using the Group Scheduling framework.
  • Design and implementation of a network communication scheme with bounded delays adequate to the PtidyOS PtidyOS requires that the communications amount the nodes are by transmitting time-stamped events with known bounded delays. This project proposes the design and implementation of a network communication scheme that guarantee such behavior. Initially two alternatives are considered: avoid the IP stack in order to build a predictable access to the network based on FTT-Ethernet (or a simple TDMA scheme); implement a middleware, like ORTE, able to management real-time constrains.
  • Integrating Ptolemy and Esper This project focuses on developing an event modeler in Ptolemy that would be a front-end for Esper. This work would build on already existing domains of Ptolemy such as discrete-event (DE) or event relationship graphs (ERG). The goal would be to develop the infrastructure that generates an Esper EQL program (i.e. EQL query) from a Ptolemy graphical model. The query can then be loaded and processed by Esper event engine. Moreover, the model could be simulated in Ptolemy given input event streams.
  • Simulation of Legacy C Code in Ptolemy II This project aims to simulate software systems written in C using Ptolemy II such that the simulation exhibits the same behavior as the execution of the code on a given platform. Furthermore, it should be possible to replace parts of the code, e.g. functions, with Ptolemy models. Instructions in the C code that enable Ptolemy to control execution of code and models as well as appropriate Ptolemy actors dealing with the interaction between C code and models will be created.