Respectful Type Converters
Author: Jeannette M. Wing and John Ockerbloom
IEEE Transactions on Software Engineering, November 1998. Also CMU-CS-98-130.
In converting an object of one type to another, we expect some of the
original object's behavior to remain the same, and some to change.
How can we state the relationship between the original object and
converted object to characterize what information is preserved
and what is lost after the conversion takes place? We answer this
question by introducing the new relation, respects, and say
that a type converter function C: A -> B respects a type T. We formally define
respects in terms of the Liskov and Wing behavioral notion of subtyping; types
A and B are subtypes of T.
We explain in detail the applicability of respectful type converters
in the context of the Typed Object Model (TOM)
Conversion Service, built at Carnegie Mellon and used on a daily basis
throughout the world. We also briefly discuss how our respects
relation addresses a similar question in two other contexts: type evolution and interoperability.