Scalable Component Abstractions

Martin Odersky and Matthias Zenger, EPFL Lausanne

Proc. OOPSLA 2005.


We identify three programming language abstractions for the construction of re-usable components: abstract type members, explicit selftypes and symmetric mixin composition. Together, these abstractions enable us to transform an arbitrary assembly of static program parts with hard references between them into a system of re-usable components. The transformation maintains the structure of the original system. We demonstrate this approach in two case studies, a subject/observer framework and a compiler front-end.


in .pdf, .ps.gz format.

Maintained by Martin Odersky.
Last updated: 29 June 2006.