TY - JOUR
T1 - Flexible Language Interoperability
AU - Ekman, Torbjörn
AU - Mechlenborg, Peter
AU - Schultz, Ulrik Pagh
PY - 2007/9/1
Y1 - 2007/9/1
N2 - Virtual machines raise the abstraction level of the executionenvironment at the cost of restricting the set of supported languages.Moreover, the ability of a language implementation to integrate withother languages hosted on the same virtual machine typicallyconstrains the features of the language. In this paper, we present a highly flexibleyet efficient approach to hosting multiple programming languages on an object-orientedvirtual machine. Our approach is based on extending the interface of each class with language-specificwrapper methods, offering each language a tailored view of a given class. This approach can bedeployed both on a statically typed virtual machine, such as the JVM, and on adynamic virtual machine, such as a Smalltalk virtual machine.We have implemented our approach to language interoperability on top of a prototypevirtual machine for embedded systems based on the Smalltalk object model, which providesinteroperability for embedded versions of the Smalltalk, Java, and BETA programminglanguages.
AB - Virtual machines raise the abstraction level of the executionenvironment at the cost of restricting the set of supported languages.Moreover, the ability of a language implementation to integrate withother languages hosted on the same virtual machine typicallyconstrains the features of the language. In this paper, we present a highly flexibleyet efficient approach to hosting multiple programming languages on an object-orientedvirtual machine. Our approach is based on extending the interface of each class with language-specificwrapper methods, offering each language a tailored view of a given class. This approach can bedeployed both on a statically typed virtual machine, such as the JVM, and on adynamic virtual machine, such as a Smalltalk virtual machine.We have implemented our approach to language interoperability on top of a prototypevirtual machine for embedded systems based on the Smalltalk object model, which providesinteroperability for embedded versions of the Smalltalk, Java, and BETA programminglanguages.
KW - language interoperability
KW - object-oriented programming
KW - virtual machine
M3 - Journal article
SN - 1660-1769
VL - 6
SP - 95
EP - 116
JO - Journal of Object Technology
JF - Journal of Object Technology
IS - 8
ER -