A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators


Havinga, Wilke and Bergmans, Lodewijk and Aksit, Mehmet (2010) A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators. In: 9th International Conference on Aspect-Oriented Software Development, AOSD 2010, 15-19 Mar 2010, Rennes and Saint-Malo, France (pp. pp. 145-156). (In Press)

[img] PDF
Restricted to UT campus only
: Request a copy
Abstract:A considerable amount of research, especially within the OO and AOSD communities, has focused on understanding the potential and limitations of various composition techniques. This has led to a large amount of proposals for alternative composition techniques, including many variations of message dispatch, inheritance, and aspect mechanisms. This paper makes the case that there is no single perfect composition technique that suits every situation, since different techniques incur different trade-offs.
The proper composition technique to use depends on the particular design problem and its requirements (e.g. w.r.t. adaptability, reusability, understandability, robustness, etc. of the various elements of the design). However, most programming languages limit the available composition techniques to a very few. To address this, we propose a novel composition model. The model provides dedicated abstractions that can be used to express a wide variation of object composition techniques ('composition operators'). Examples include various forms of inheritance, delegation, and aspects. The proposed model unifies objects (with encapsulated state and a message interface) and composition operators; composition operators are specified as first-class citizens. Multiple composition operators can be combined within the same application, and composition operators can even be used to compose new composition operators from existing ones. This opens new possibilities for developing domain-specific composition operators, taxonomies of composition operators, and for reuse and refinement of composition operators. To validate and experiment with the proposed model, we have designed and implemented a simple language, that we also use in this paper to show concrete examples.
Item Type:Conference or Workshop Item
Copyright:© 2010 ACM
Electrical Engineering, Mathematics and Computer Science (EEMCS)
Research Group:
Link to this item:http://purl.utwente.nl/publications/70683
Official URL:https://doi.org/10.1145/1739230.1739248
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page

Metis ID: 276002