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