Component Composition With Scala

Stc
Date: 2006-06-01

Time: 11:45

Room: BBL room 471

Speaker: Bogdan Dumitriu

Title: Component Composition with Scala

Abstract

Software components that are developed by distinct teams with no coordination have been traditionally hard to integrate. The difficulty lies with the fact that the services a component requires in order to function are usually hard coded in its source code. This entails that in order to replace one or more of them with different ones, one needs to change the source code of the original component, which fails to qualify as "clean" reuse. The Scala programming language addresses this issue by providing three language concepts, abstract member types, modular mixin composition and selftype annotations that, combined in a smart way, allow the programmer to lift the specification of the required services out of the component code.

In this presentation I will discuss the three concepts listed above together with some additional presentation of the Scala language and show how they can be used for component composition by working through one or two examples, depending on time.