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)
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)
|Link to this item:||http://purl.utwente.nl/publications/70683|
|Export this item as:||BibTeX|
Daily downloads in the past month
Monthly downloads in the past 12 months
Repository Staff Only: item control page
Metis ID: 276002