TU Darmstadt / ULB / TUbiblio

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

Bockisch, Christoph ; Sewe, Andreas ; Mezini, Mira ; Akşit, Mehmet
Bishop, Judith ; Vallecillo, Antonio (eds.) (2011):
An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages.
6705, In: Objects, Models, Components, Patterns, pp. 131-146, Springer, ISBN 978-3-642-21951-1,
DOI: 10.1007/978-3-642-21952-8_11,
[Book Section]

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.

Item Type: Book Section
Erschienen: 2011
Editors: Bishop, Judith ; Vallecillo, Antonio
Creators: Bockisch, Christoph ; Sewe, Andreas ; Mezini, Mira ; Akşit, Mehmet
Title: An Overview of ALIA4J: An Execution Model for Advanced-Dispatching Languages
Language: English
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.

Title of Book: Objects, Models, Components, Patterns
Volume: 6705
Publisher: Springer
ISBN: 978-3-642-21951-1
Divisions: 20 Department of Computer Science
20 Department of Computer Science > Software Technology
LOEWE
LOEWE > LOEWE-Zentren
Zentrale Einrichtungen
LOEWE > LOEWE-Zentren > CASED – Center for Advanced Security Research Darmstadt
Date Deposited: 04 Jul 2011 16:00
DOI: 10.1007/978-3-642-21952-8_11
Additional Information:

Part of Lecture Notes in Computer Science, vol 6705

Corresponding Links:
Export:
Suche nach Titel in: TUfind oder in Google
Send an inquiry Send an inquiry

Options (only for editors)
Show editorial Details Show editorial Details