Phantom: An Interpreted Language for Distributed Programming
Antony Courtney
Department of Computer Science
Trinity College Dublin
Ireland
email: Antony.Courtney@cs.tcd.ie
Abstract
The emerging trend in writing distributed applications is to use an
object-based RPC system with a statically compiled, object-oriented
language. While such a programming environment is adequate for many
tasks, object-based RPC systems and statically compiled languages also
have certain intrinsic limitations. These limitations become
significant when writing applications which are both distributed and
interactive (e.g. network information browsers, distributed
conferencing systems and collaborative work tools). This paper
discusses these limitations, and presents the design of Phantom, a new
intepreted language for distributed programming. Phantom provides many
features found in object-based RPC systems and statically compiled
languages, including automatic marshalling, transparent remote
procedure call, secure authentication and concurrency support. In
addition to these traditional features, Phantom's interpreted nature
permits the use of certain programming techniques, such as true object
migration, remote evaluation, and dynamic extensibility, which are of
increasing importance for distributed programming, but which are not
available in statically compiled languages and RPC systems. The
integration of these features in a single, coherent programming
language makes whole new classes of distributed, interactive
applications possible.
Download the full text of this paper in
ASCII (54,425 bytes) and
POSTSCRIPT (429,174 bytes) form.
To Become a USENIX Member, please see our
Membership Information.