|Advisor:||Edward A. Lee|
Much research has been involved with extending one model of computation to handle a broad range of problems. However, this approach tends to run into problems, since broadening the scope of a model of computation generally sacrifices the useful properties that can be proved about a more limited model. Ptolemy II aims to provide an architecture which is capable of modeling a wide range of problems, by allowing different domains (which encapsulate a model of computation within an abstract interface) to interact. This interaction is restricted to a clustered graph syntax, where the entities within a domain interact according to the semantics of that domain, but each entity may contain a domain of its own that operates under completely independant semantics.
In Ptolemy 0.7.1, many assumptions were made in the kernel that were
specific to dataflow oriented domains. This fact made the implementation
of some domains, such as Finite State Machines, very difficult.
In Ptolemy II, a great effort has been made to abstract the kernel so
that no assumptions are made that may dictate a particular model of
computation. Several domains have already been implemented within
this framework, which appears to work well as an abstract basis for a wide
range of models of computation. This research is intended to explore
the interactions between domains and to discover an abstract model of
communication between domains that preserves the properties of each
domain. If successful, this will allow Ptolemy II to specify intuitive
semantics of systems described using multiple domains, and allow more
complete representations of problems.