An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages

Christoph Bockisch, Andreas Sewe, Mira Mezini, Mehmet Aksit

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    4 Citations (Scopus)
    87 Downloads (Pure)

    Abstract

    New programming languages that allow to reduce the complexity of software solutions are frequently developed, often as extensions of existing languages. Many implementations thus resort to transforming the extension’s source code to the imperative intermediate representation of the parent language. But approaches like compiler frameworks only allow for re-use of code transformations for syntactically-related languages; they do not allow for re-use across language families. In this paper, we present the ALIA4J approach to bring such re-use to language families with advanced dispatching mechanisms like pointcut-advice or predicate dispatching. ALIA4J introduces a meta-model of dispatching as a rich, extensible intermediate language. By implementing language constructs from four languages as refinements of this meta-model, we show that a significant amount of them can be re-used across language families. Another building block of ALIA4J is a framework for execution environments that automatically derives an execution model of the program’s dispatching from representations in our intermediate language. This model enables different execution strategies for dispatching; we have validated this by implementing three execution environments whose strategies range from interpretation to optimizing code generation.
    Original languageUndefined
    Title of host publicationProceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011)
    EditorsJudith Bishop, Antonio Vallecillo
    Place of PublicationBerlin
    PublisherSpringer
    Pages131-146
    Number of pages16
    ISBN (Print)978-3-642-21951-1
    DOIs
    Publication statusPublished - Jun 2011

    Publication series

    NameLecture Notes In Computer Science
    PublisherSpringer Verlag
    Volume6705
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    Keywords

    • METIS-286286
    • Aspect Oriented Programming
    • Advanced dispatching
    • language implementation
    • CR-D.3
    • EWI-21621
    • predicate dispatching
    • IR-79900

    Cite this

    Bockisch, C., Sewe, A., Mezini, M., & Aksit, M. (2011). An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages. In J. Bishop, & A. Vallecillo (Eds.), Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011) (pp. 131-146). (Lecture Notes In Computer Science; Vol. 6705). Berlin: Springer. https://doi.org/10.1007/978-3-642-21952-8_11
    Bockisch, Christoph ; Sewe, Andreas ; Mezini, Mira ; Aksit, Mehmet. / An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages. Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011). editor / Judith Bishop ; Antonio Vallecillo. Berlin : Springer, 2011. pp. 131-146 (Lecture Notes In Computer Science).
    @inproceedings{a3185b57d6664bc6aad8fba212850311,
    title = "An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages",
    abstract = "New programming languages that allow to reduce the complexity of software solutions are frequently developed, often as extensions of existing languages. Many implementations thus resort to transforming the extension’s source code to the imperative intermediate representation of the parent language. But approaches like compiler frameworks only allow for re-use of code transformations for syntactically-related languages; they do not allow for re-use across language families. In this paper, we present the ALIA4J approach to bring such re-use to language families with advanced dispatching mechanisms like pointcut-advice or predicate dispatching. ALIA4J introduces a meta-model of dispatching as a rich, extensible intermediate language. By implementing language constructs from four languages as refinements of this meta-model, we show that a significant amount of them can be re-used across language families. Another building block of ALIA4J is a framework for execution environments that automatically derives an execution model of the program’s dispatching from representations in our intermediate language. This model enables different execution strategies for dispatching; we have validated this by implementing three execution environments whose strategies range from interpretation to optimizing code generation.",
    keywords = "METIS-286286, Aspect Oriented Programming, Advanced dispatching, language implementation, CR-D.3, EWI-21621, predicate dispatching, IR-79900",
    author = "Christoph Bockisch and Andreas Sewe and Mira Mezini and Mehmet Aksit",
    note = "eemcs-eprint-21621",
    year = "2011",
    month = "6",
    doi = "10.1007/978-3-642-21952-8_11",
    language = "Undefined",
    isbn = "978-3-642-21951-1",
    series = "Lecture Notes In Computer Science",
    publisher = "Springer",
    pages = "131--146",
    editor = "Judith Bishop and Antonio Vallecillo",
    booktitle = "Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011)",

    }

    Bockisch, C, Sewe, A, Mezini, M & Aksit, M 2011, An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages. in J Bishop & A Vallecillo (eds), Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011). Lecture Notes In Computer Science, vol. 6705, Springer, Berlin, pp. 131-146. https://doi.org/10.1007/978-3-642-21952-8_11

    An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages. / Bockisch, Christoph; Sewe, Andreas; Mezini, Mira; Aksit, Mehmet.

    Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011). ed. / Judith Bishop; Antonio Vallecillo. Berlin : Springer, 2011. p. 131-146 (Lecture Notes In Computer Science; Vol. 6705).

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    TY - GEN

    T1 - An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages

    AU - Bockisch, Christoph

    AU - Sewe, Andreas

    AU - Mezini, Mira

    AU - Aksit, Mehmet

    N1 - eemcs-eprint-21621

    PY - 2011/6

    Y1 - 2011/6

    N2 - New programming languages that allow to reduce the complexity of software solutions are frequently developed, often as extensions of existing languages. Many implementations thus resort to transforming the extension’s source code to the imperative intermediate representation of the parent language. But approaches like compiler frameworks only allow for re-use of code transformations for syntactically-related languages; they do not allow for re-use across language families. In this paper, we present the ALIA4J approach to bring such re-use to language families with advanced dispatching mechanisms like pointcut-advice or predicate dispatching. ALIA4J introduces a meta-model of dispatching as a rich, extensible intermediate language. By implementing language constructs from four languages as refinements of this meta-model, we show that a significant amount of them can be re-used across language families. Another building block of ALIA4J is a framework for execution environments that automatically derives an execution model of the program’s dispatching from representations in our intermediate language. This model enables different execution strategies for dispatching; we have validated this by implementing three execution environments whose strategies range from interpretation to optimizing code generation.

    AB - New programming languages that allow to reduce the complexity of software solutions are frequently developed, often as extensions of existing languages. Many implementations thus resort to transforming the extension’s source code to the imperative intermediate representation of the parent language. But approaches like compiler frameworks only allow for re-use of code transformations for syntactically-related languages; they do not allow for re-use across language families. In this paper, we present the ALIA4J approach to bring such re-use to language families with advanced dispatching mechanisms like pointcut-advice or predicate dispatching. ALIA4J introduces a meta-model of dispatching as a rich, extensible intermediate language. By implementing language constructs from four languages as refinements of this meta-model, we show that a significant amount of them can be re-used across language families. Another building block of ALIA4J is a framework for execution environments that automatically derives an execution model of the program’s dispatching from representations in our intermediate language. This model enables different execution strategies for dispatching; we have validated this by implementing three execution environments whose strategies range from interpretation to optimizing code generation.

    KW - METIS-286286

    KW - Aspect Oriented Programming

    KW - Advanced dispatching

    KW - language implementation

    KW - CR-D.3

    KW - EWI-21621

    KW - predicate dispatching

    KW - IR-79900

    U2 - 10.1007/978-3-642-21952-8_11

    DO - 10.1007/978-3-642-21952-8_11

    M3 - Conference contribution

    SN - 978-3-642-21951-1

    T3 - Lecture Notes In Computer Science

    SP - 131

    EP - 146

    BT - Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011)

    A2 - Bishop, Judith

    A2 - Vallecillo, Antonio

    PB - Springer

    CY - Berlin

    ER -

    Bockisch C, Sewe A, Mezini M, Aksit M. An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages. In Bishop J, Vallecillo A, editors, Proceedings of the 49th International Conference on Objects, Models, Components, Patterns (TOOLS Europe 2011). Berlin: Springer. 2011. p. 131-146. (Lecture Notes In Computer Science). https://doi.org/10.1007/978-3-642-21952-8_11