Ptolemy II is a heterogeneous modeling and simulation environment developed by the Ptolemy group in the CHESS center at U.C. Berkeley. It supports multiple “models of computation” , including but not limited to SDF (synchronous dataflow), PN (process network) and DE (discrete events).
The focus of this sub-project is to build an efficient backtracking mechanism for Ptolemy II.
There are basically two major approaches to backtracking (or checkpointing and rollback): serialization and incremental backtracking. For performance reason (especially for real-time environments), incremental backtracking is desirable. However, its dynamic nature poses several difficulties.
Articles in this topic:
Backtracking in Ptolemy II: A detailed description on the current implementation of incremental backtracking.
Analyzing Ptolemy Models: Simple model analysis mechanisms that can be useful in the incremental backtracking. This approach can be generalized to check the well-formedness of many Ptolemy models.
Ptolemy II Plugin for Eclipse: An Eclipse plugin that automates the transformation on Ptolemy actors based on Java code refactoring. This plugin also supports Ptolemy-specific syntax highlighting.
I have worked on a Ptolemy domain -- Rendezvous. It is a generalized version of CSP (Communicating Sequential Processes) by C. A. R. Hoare.
Model transformation is being actively researched by the Ptolemy group. This research is based on graph rewriting, a powerful tool.
The most up-to-date information about this research can be found on my model transformation webpage.
Here is a complete list of the references cited on my website.