Composition Languages for Black-Box Components
Roel Wuyts, Sté́phane Ducasse · Bern Open Repository and Information System (University of Bern)
Supporting reuse of existing pieces of code is one of the main goals of software engineering. In the name of reuse, module-based programming languages came to be, only to be surpassed by object-oriented technology. With the same motivation component-based solutions are overtaking object-oriented solutions. However, the delegation-only focus of component-based programming risks of resulting in the same problems that modular-based approaches ran into. To counter this, we claim that one of th e important problems that should be addressed by component languages is the composition of components. More specifically, we see component languages where components are black-box abstractions, and with (one or more) composition languages to glue them tog ether. As an example we show a functional (Piccola) and a logic (QSoul) composition approach.