A Basic Model of Typed Components
João Costa Seco5
and Luís Caires5 
| (5) |
Departamento de Informática, Universidade Nova de Lisboa, Portugal |
Abstract
This paper studies specific language level abstractions for component-based programming. We propose a simple model which captures
some basic ingredients—like explicit context dependence, dynamic binding and subtype polymorphism, late (dynamic) composition,
and avoidance of inheritance in favor of object composition - that several authors have defended to be central to black-box
object-oriented component programming styles. The model is expressed by a core imperative typed calculus, in which components
are first-class entities, and whose basic constructs enable the composition, scripting, instantiation and definition of atomic
components. Some motivating programming examples are presented, and the operational semantics is shown to enjoy a typesafety
property. We also discuss an extension to the Java language aimed at supporting the proposed model, and some implementation
issues.
References secured to subscribers.