L. Bettini, V. Bono, and B. Venneri

Mixin and class subtyping hierarchies in a mobile setting

Manuscript, December 2003


In sequential class- and mixin-based settings, subtyping is essentially a run-time relation on objects. Either no subtyping relation is defined on classes and mixins, or, as in Java-like languages, classes are not ``first-class citizens'', in the sense they cannot be passed as arguments to methods, be returned as results to method calls, or combined in order to get new data structures. A motivation for considering classes (and mixins) as ``first-class citizens'' that come equipped with a subtyping relation arises from the mobile and distributed process realm, where object-oriented code might be exchanged among the sites of a network. In such a setting, subtyping on classes and mixins is a tool to allow a flexible yet safe communication, because a piece of code will be accepted on a site only if its type is ``subtyping-compliant'' with the expected type required by the receiver. However, exposing mixin and class hierarchies to subtyping brings in conflicts similar to the ones present in the object-based setting: (i) component addition versus subtyping-in-width; (ii) component override versus subtyping-in-depth. In this paper we show formally how to solve both conflicts.


[ bib | .pdf ]

Back


This file has been generated by bibtex2html 1.43