Nominal and Structural Subtyping in
Component-Based Programming
Klaus Ostermann, University of Aarhus, Denmark
|
 |
REFEREED
ARTICLE

PDF Version |
Abstract
In nominal type systems, the subtype relation is between names of types, and subtype
links are explicitly declared. In structural type systems, names are irrelevant; in determining
type compatibility, only the structure of types is considered, and a type name
is just an abbreviation for the full type. We analyze structural and different flavors
of nominal subtyping from the perspective of component-based programming, where
issues such as blame assignment and modular extensibility are important. Our analysis
puts various existing subtyping mechanisms into a common frame of reference and
delineates the frontiers of the subtyping design space. In addition, we propose a new
subtyping definition in one particularly interesting corner of the design space which
combines the safety of nominal subtyping with the flexibility of structural subtyping.
Note: Due to the typographical sophistication of this article, no HTML version is available. Please use the PDF version.
About the authors
|
Klaus Ostermann is associate professor for computer science at the University of Aarhus,
Denmark. His main research interests are in programming languages and software engineering
for modular software development.
|
Cite this article as follows: Klaus Ostermann: "Nominal and Structural Subtyping in Component-Based Programming", in Journal of Object Technology, vol. 7, no. 1, January-February 2007, pp. 121-145, http://www.jot.fm/issues/issue_2008_01/article4/
|