Type-Safe Prototype-Based Component Evolution

Component-based programming is currently carried out us- ing 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 dependen- cies, 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.


Editor(s):
Magnusson, Boris
Published in:
ECOOP 2002 — Object-Oriented Programming, 470-497
Presented at:
ECOOP 2002 — Object-Oriented Programming - 16th European Conference, Málaga, Spain, June 10–14, 2002
Year:
2002
Publisher:
Berlin, Heidelberg, Springer Berlin Heidelberg
ISBN:
978-3-540-43759-8
Laboratories:




 Record created 2006-01-24, last modified 2018-03-17

n/a:
Download fulltext
PDF

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)