Ptolemy II is a component-based design and modeling environment. It has a polymorphic type system that supports both base types and structured types, such as arrays, records and unions. This paper presents the extensions to the base type system that support structured types. In the base type system, all the types are organized into a type lattice, and type constraints in the form of inequalities can be solved efficiently over the lattice. We take a hierarchical and granular approach to add structured types to the lattice, and extend the format of inequality constraints to allow arbitrary nesting of structured types. We also analyze the convergence of the constraint solving algorithm on an infinite lattice after structured types are added. To show the application of structured types, we present two Ptolemy II models that have direct real-world background. The first one describes the workflow of a charity organization, and the second one implements part of the IEEE 802.11 specifications. These models make extensive use of record and union types to represent structured information.





Download Full History