TU Darmstadt / ULB / TUbiblio

An In-Depth Look at ALIA4J

Bockisch, Christoph ; Sewe, Andreas ; Yin, Haihan ; Mezini, Mira ; Aksit, Mehmet (2012)
An In-Depth Look at ALIA4J.
In: The Journal of Object Technology, 11 (1)
doi: 10.5381/jot.2012.11.1.a7
Artikel, Bibliographie

Kurzbeschreibung (Abstract)

New programming languages supporting advanced modularization mechanisms are often implemented as transformations to the imperative intermediate representation of an already established language. But while their core constructs largely overlap in semantics, re-using the corresponding transformations requires re-using their syntax as well; this is limiting. In the ALIA4J approach, we identified \emph{dispatching} as fundamental to most modularization mechanisms and provide a meta-model of dispatching as a rich, extensible intermediate language. Based on this meta-model, one can modularly implement the semantics of dispatching-related constructs. From said constructs a single execution model can then be derived which facilitates interpretation, bytecode generation, and even optimized machine-code generation. We show the suitability of our approach by mapping five popular languages to this meta-model and find that most of their constructs are shared across multiple languages. We furthermore present implementations of the three different execution strategies together with a generic visual debugger available to any ALIA4J-based language implementation. Intertwined with this paper is a tutorial-style running example that illustrates our approach.

Typ des Eintrags: Artikel
Erschienen: 2012
Autor(en): Bockisch, Christoph ; Sewe, Andreas ; Yin, Haihan ; Mezini, Mira ; Aksit, Mehmet
Art des Eintrags: Bibliographie
Titel: An In-Depth Look at ALIA4J
Sprache: Englisch
Publikationsjahr: April 2012
Titel der Zeitschrift, Zeitung oder Schriftenreihe: The Journal of Object Technology
Jahrgang/Volume einer Zeitschrift: 11
(Heft-)Nummer: 1
DOI: 10.5381/jot.2012.11.1.a7
Zugehörige Links:
Kurzbeschreibung (Abstract):

New programming languages supporting advanced modularization mechanisms are often implemented as transformations to the imperative intermediate representation of an already established language. But while their core constructs largely overlap in semantics, re-using the corresponding transformations requires re-using their syntax as well; this is limiting. In the ALIA4J approach, we identified \emph{dispatching} as fundamental to most modularization mechanisms and provide a meta-model of dispatching as a rich, extensible intermediate language. Based on this meta-model, one can modularly implement the semantics of dispatching-related constructs. From said constructs a single execution model can then be derived which facilitates interpretation, bytecode generation, and even optimized machine-code generation. We show the suitability of our approach by mapping five popular languages to this meta-model and find that most of their constructs are shared across multiple languages. We furthermore present implementations of the three different execution strategies together with a generic visual debugger available to any ALIA4J-based language implementation. Intertwined with this paper is a tutorial-style running example that illustrates our approach.

Freie Schlagworte: Dispatching mechanisms; multiple dispatching; predicate dispatching; pointcut-advice; advanced dispatching; modular language implementation; virtual machines; just-in-time compilation; debugging
Fachbereich(e)/-gebiet(e): 20 Fachbereich Informatik > Softwaretechnik
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
20 Fachbereich Informatik
Zentrale Einrichtungen
LOEWE
LOEWE > LOEWE-Zentren
Hinterlegungsdatum: 26 Apr 2012 13:31
Letzte Änderung: 05 Mär 2013 10:00
PPN:
Sponsoren: Center for Advanced Security Research Darmstadt (CASED)
Export:
Suche nach Titel in: TUfind oder in Google
Frage zum Eintrag Frage zum Eintrag

Optionen (nur für Redakteure)
Redaktionelle Details anzeigen Redaktionelle Details anzeigen