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

Wilke Havinga, Lodewijk Bergmans, Mehmet Akşit

Research output: Chapter in Book/Report/Conference proceedingConference contribution

  • 8 Citations

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.
LanguageEnglish
Title of host publicationAOSD '10
Subtitle of host publicationProceedings of the 9th International Conference on Aspect-Oriented Software Development
Place of PublicationNew York, NY
PublisherAssociation for Computing Machinery
Pages145-156
Number of pages12
ISBN (Print)978-1-60558-958-9
DOIs
StatePublished - Mar 2010
Event9th International Conference on Aspect-Oriented Software Development, AOSD 2010 - Rennes and Saint-Malo, France
Duration: 15 Mar 201019 Mar 2010
Conference number: 9

Conference

Conference9th International Conference on Aspect-Oriented Software Development, AOSD 2010
Abbreviated titleAOSD
CountryFrance
CityRennes and Saint-Malo
Period15/03/1019/03/10

Fingerprint

Chemical analysis
Reusability
Taxonomies
Computer programming languages

Keywords

  • IR-70683
  • EWI-17021
  • METIS-276002

Cite this

Havinga, W., Bergmans, L., & Akşit, M. (2010). A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators. In AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development (pp. 145-156). New York, NY: Association for Computing Machinery. DOI: 10.1145/1739230.1739248
Havinga, Wilke ; Bergmans, Lodewijk ; Akşit, Mehmet . / A Model for Composable Composition Operators : Expressing object and aspect compositions with first-class operators. AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development. New York, NY : Association for Computing Machinery, 2010. pp. 145-156
@inproceedings{69b8641130ec4e4da54f436f79edef00,
title = "A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators",
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.",
keywords = "IR-70683, EWI-17021, METIS-276002",
author = "Wilke Havinga and Lodewijk Bergmans and Mehmet Akşit",
year = "2010",
month = "3",
doi = "10.1145/1739230.1739248",
language = "English",
isbn = "978-1-60558-958-9",
pages = "145--156",
booktitle = "AOSD '10",
publisher = "Association for Computing Machinery",
address = "United States",

}

Havinga, W, Bergmans, L & Akşit, M 2010, A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators. in AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development. Association for Computing Machinery, New York, NY, pp. 145-156, 9th International Conference on Aspect-Oriented Software Development, AOSD 2010, Rennes and Saint-Malo, France, 15/03/10. DOI: 10.1145/1739230.1739248

A Model for Composable Composition Operators : Expressing object and aspect compositions with first-class operators. / Havinga, Wilke; Bergmans, Lodewijk; Akşit, Mehmet .

AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development. New York, NY : Association for Computing Machinery, 2010. p. 145-156.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - A Model for Composable Composition Operators

T2 - Expressing object and aspect compositions with first-class operators

AU - Havinga,Wilke

AU - Bergmans,Lodewijk

AU - Akşit,Mehmet

PY - 2010/3

Y1 - 2010/3

N2 - 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.

AB - 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.

KW - IR-70683

KW - EWI-17021

KW - METIS-276002

U2 - 10.1145/1739230.1739248

DO - 10.1145/1739230.1739248

M3 - Conference contribution

SN - 978-1-60558-958-9

SP - 145

EP - 156

BT - AOSD '10

PB - Association for Computing Machinery

CY - New York, NY

ER -

Havinga W, Bergmans L, Akşit M. A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators. In AOSD '10: Proceedings of the 9th International Conference on Aspect-Oriented Software Development. New York, NY: Association for Computing Machinery. 2010. p. 145-156. Available from, DOI: 10.1145/1739230.1739248