Subscribe
Issue No.07 - July (2000 vol.26)
pp: 579-593
ABSTRACT
<p><b>Abstract</b>—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, <it>respects</it>, and say that a type converter function <tmath>$C: A \rightarrow B$</tmath><it>respects</it> a type <tmath>$T$</tmath>. We formally define <it>respects</it> in terms of the Liskov and Wing behavioral notion of subtyping; types <tmath>$A$</tmath> and <tmath>$B$</tmath> are subtypes of <tmath>$T$</tmath>. 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 <it>respects</it> relation addresses a similar question in two other contexts: type evolution and interoperability.</p>
INDEX TERMS
Type converters, object repository, distributed objects, subtype, object-oriented design, abstraction function, specifications, semantics, Larch, type evolution, interoperability.
CITATION
Jeannette M. Wing, John Ockerbloom, "Respectful Type Converters", IEEE Transactions on Software Engineering, vol.26, no. 7, pp. 579-593, July 2000, doi:10.1109/32.859529