A Virtual Machine for Multi-Language Execution
نویسندگان
چکیده
This paper presents the architecture of a virtual machine designed specifically for the execution of multiple languages, which we call Seam. The architecture consists of a number of generic components, usable by all languages, and of a number of interfaces for which implementations have to be provided by language implementors. Our contribution is the identification of the generic services and the clean design for the parameterization over their language-specific aspects. The goal of Seam is to provide both for ample reuse and simple language implementation, concerning both compilers and runtime components, and to be a platform for language interoperation. We have implemented a prototype version of Seam and validated it with two language implementations. We present a full running implementation of Alice and a näıve implementation of a Java Virtual Machine running on Seam. The paper presents first implementation effort and performance results for the prototype.
منابع مشابه
A new model for persian multi-part words edition based on statistical machine translation
Multi-part words in English language are hyphenated and hyphen is used to separate different parts. Persian language consists of multi-part words as well. Based on Persian morphology, half-space character is needed to separate parts of multi-part words where in many cases people incorrectly use space character instead of half-space character. This common incorrectly use of space leads to some s...
متن کاملOn expressing different concurrency paradigms on virtual execution environment
Virtual execution environments (VEE) such as the Java Virtual Machine (JVM) and the Microsoft Common Language Runtime (CLR) have been designed when the dominant computer architecture featured a Von-Neumann interface to programs: a single processor hiding all the complexity of parallel computations inside its design. Programs are expressed in an intermediate form that is executed by the VEE that...
متن کاملCloud Process Execution Engine - Evaluation of the Core Concepts
In this technical report we describe describe the Domain Specific Language (DSL) of the Workflow Execution Execution (WEE) introduced in [1, 2]. Instead of interpreting an XML based workflow description language like BPEL, the WEE uses a minimized but expressive set of statements that runs directly on to of a virtual machine that supports the Ruby language. Frameworks/Virtual Machines supportin...
متن کاملParallel Java for the Hitachi SR 2201
In October of 1997, a year-long collaborative project was started between Hitachi Europe Limited (HEL) and the Edinburgh Parallel Computing Centre (EPCC) at the University of Edinburgh. This project had the goal of producing an environment whereby Java programs may be executed on the Hitachi SR2201 distributed memory multi-processor machine. The two key deliverables from this work are a port of...
متن کاملJVM Independent Replay in Java
Deterministic replay can help to understand the cause of a failing execution of a multi-threaded program. Stepwise browsing of a counterexample serves the same purpose in the context of static and dynamic checking. In this paper we present a tool for deterministic replay of a multi-threaded execution of a Java program. The replay engine is independent of a specific JVM. We also suggest a langua...
متن کامل