Department of Computer Science

Laboratory for Software Design

Ptolemy: A Language with Quantified, Typed Events


These pages describe work carried out on the design and the implementation of Ptolemy, a language with quantified, event types. The work is carried out by Hridesh Rajan and Gary T. Leavens. This work has been supported in part by the NSF grants CNS-0627354, CCF-0429567, and CNS-07-09217.

News

July 2009: A report on Instance-level Quantified, Typed Events is now available here.

Mar 2008: Initial work on Ptolemy will be presented at ECOOP 2008

Oct 2007: A revised report on Ptolemy now available from here.

July 2007: A report on Ptolemy is now available from here.

Ptolemy-I: Instance-level Quantified Typed Event for Integrated System Design

Integrated systems are those where components must behave together in order to fulfill overall requirements. In such systems, modularization of integration relationships is important for enabling separate component compilation, testing, and debugging, and for enhanced reuse. Existing languages and approaches for modularizing integration relationships work, but do not solve all problems. In particular, they either do not completely decouple components or require workarounds, which at a minimum incurs design and performance overheads.

This web-page provides materials describing an extension to Ptolemy to support what we call instance-level quantified, typed events, which solves all of the problems mentioned above. We call this extension Ptolemy-I (I for instance-level).

Detailed Technical Report: The technical contributions of our work on Ptolemy-I include: the design, semantics, and type system of instance-level quantified, typed events and a proof of its soundness. Our detailed technical report describes these.

Interpreter and Examples: To demonstrate the feasibility of our language design, we have implemented this design in an interpreter. To provide an initial assessment of the language's benefits, we have implemented canonical examples in the literature. These are also available from here.

Our initial assessments show that instance-level quantified, typed events improve the separation of integration concerns over previous language design proposals.