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 contributionAcademicpeer-review

    9 Citations (Scopus)
    14 Downloads (Pure)

    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.
    Original 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 (ACM)
    Pages145-156
    Number of pages12
    ISBN (Print)978-1-60558-958-9
    DOIs
    Publication statusPublished - 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

    Keywords

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

    Fingerprint Dive into the research topics of 'A Model for Composable Composition Operators: Expressing object and aspect compositions with first-class operators'. Together they form a unique fingerprint.

  • 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 (ACM). https://doi.org/10.1145/1739230.1739248