| | |
Summary: Constructing Type-Safe Operators for
Software Composition ?
Axel Rauschmayer, Andreas Abel, Alexander Knapp, Martin Wirsing
Institut fur Informatik
Ludwig-Maximilians-Universitat Munchen
frauschma,abel,knapp,wirsingg@informatik.uni-muenchen.de
Abstract. Grey-box software composition appears in many areas of
software engineering: Mixin layers, aspects and traits are just a few ex-
amples and even regular inheritance can be viewed as composition. Oper-
ators used for these kinds of composition share two deciencies: (1) They
are monolithic and are thus paradoxically supporting reuse without being
implemented in a reusable fashion. (2) There is usually no type system
that allows us to check if a composition is legal before performing it.
In this publication, we introduce Graft, a small language that aims to
\decompose composition" by providing atomic commands for software
manipulation that can be combined to express powerful composition op-
erators. Applicability of atomic and composite commands is checked for
by a type system. We demonstrate and motivate Graft's use by looking
at mixin layer composition which is fully expressible in Graft.
1 Introduction
|