A Modular Formal Semantics for Ptolemy
Edward A. Lee, Stavros Tripakis1, Christos Stergiou and Christopher Shaver
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), Multiscale Systems Center (MuSyC), Army Research Office W911NF-11-2-0038 (DDoSoS), Air Force Research Lab, Robert Bosch GmBH, National Instruments, Thales and Toyota
Ptolemy is an open-source and extensible modeling and simulation framework. It offers heterogeneous modeling capabilities by allowing different models of computation, both untimed and timed, to be composed hierarchically in an arbitrary fashion. This project develops a formal semantics for Ptolemy which is modular, in the sense that atomic actors and their compositions are treated in a unified way.
In particular, all actors conform to an executable interface that contains four functions:
- fire - produce outputs given current state and inputs
- postfire - update state instantaneously
- deadline - how much time the actor is willing to let elapse
- time-update - update state with passage of time
Composite actors are obtained from composition operators that in Ptolemy are called directors. Different directors realize different models of computation. Currently, the following models of computation have been defined in the above semantical framework: Synchronous-Reactive, Discrete Event, Continuous Time, Process Networks, Modal Models.
A prototype implementation is being developed in Haskell and a journal paper is currently under submission.