Executable models are constructed under a model of computation, which is the set of "laws of physics" that govern the interaction of components in the model. If the model is describing a mechanical system, then the model of computation may literally be the laws of physics. More commonly, however, it is a set of rules that are more abstract, and provide a framework within which a designer builds models. A set of rules that govern the interaction of components is called the semantics of the model of computation.
Ptolemy II is third-generation software that supports this style of modeling and design. The objective is to support the construction and interoperability of executable models that are built under a wide variety of models of computation. Ptolemy II is written entirely in Java, and aims to support the construction of applets, servlets, migrating code, and embedded Java.
This document is an evolving design document for Ptolemy II. It describes the design principles and design decisions. It is meant to complement, not replace, the code documentation.