×

Type-safe prototype-based component evolution. (English) Zbl 1049.68859

Magnusson, Boris (ed.), ECOOP 2002 - object-oriented programming. 16th European conference, Málaga, Spain, June 10–14, 2002. Proceedings. Berlin: Springer (ISBN 3-540-43759-2). Lect. Notes Comput. Sci. 2374, 470-497 (2002).
Summary: Component-based programming is currently carried out using mainstream object-oriented languages. These languages have to be used in a highly disciplined way to guarantee flexible component composition and extensibility. This paper investigates abstractions for component-oriented programming on the programming language level. We propose a simple prototype-based model for first-class components on top of a class-based object-oriented language. The model is formalized as an extension of Featherweight Java. Our calculus includes a minimal set of primitives to dynamically build, extend, and compose software components, while supporting features like explicit context dependencies, late composition, unanticipated component extensibility, and strong encapsulation. We present a type system for our calculus that ensures type-safe component definition, composition, and evolution.
For the entire collection see [Zbl 0997.68676].

MSC:

68U99 Computing methodologies and applications
68N19 Other programming paradigms (object-oriented, sequential, concurrent, automatic, etc.)
68N15 Theory of programming languages