Abstract:
This paper describes a scheme of manipulating (partial) continuations in imperative languages such as Java and C++ in a portable manner, where the portability means that this scheme does not depend on structure of the native stack frame nor implementation of virtual machines and runtime systems. Exception handling plays a significant role in this scheme to reduce overheads. The scheme is based on program transformation, but in contrast to CPS transformation, our scheme preserves the call graph of the original program. This scheme has two important applications: transparent migration in mobile computation and checkpointing in a highly reliable system. The former technology enables running computations to move to a remote computer, while the latter one enables running computations to be saved into storages.
Citations
|
647
|
Mobile ambients
– Cardelli, Gordon
- 1998
|
|
154
|
Agent Tcl: A transportable agent system
– Gray
- 1996
|
|
119
|
The Java Virtual Machine Specification, Second Edition
– Lindholm, Yellin
- 2000
|
|
101
|
A type system for object initialization in the java bytecode language
– Freund, Mitchell
|
|
99
|
The theory and practice of first-class prompts
– Felleisen
- 1988
|
|
99
|
A syntactic theory of sequential control
– Felleisen, Friedman, et al.
- 1987
|
|
98
|
Abstractions for mobile computations
– Cardelli
- 1999
|
|
66
|
Transparent Migration of Java-Based Mobile Agents
– Funfrocken
- 1998
|
|
56
|
Analysing Mobile Code Languages
– Cugola, Ghezzi, et al.
- 1997
|
|
44
|
A generalisation of exceptions and control in ML-like languages
– Gunter, Rémy, et al.
- 1995
|
|
44
|
Bytecode Transformation for Portable Thread Migration
– Sakamoto, Sekiguchi, et al.
|
|
40
|
Danvy and Andrzej Filinski. Abstracting control
– Olivier
|
|
37
|
A Simple Extension of Java Language for Controllable Transparent Migration and its Portable Implementation
– Sekiguchi, Masuhara, et al.
- 1999
|
|
27
|
Arachne: A Portable Threads System Supporting Migrant Threads on Heterogeneous Network Farms
– Dimitrov, Rego
- 1998
|
|
14
|
Survey of checkpointing and rollback techniques
– Deconinck, Vounckx, et al.
- 1993
|
|
7
|
Improving exception handling with object-oriented programming
– Dony
- 1990
|
|
7
|
High level management of computation history for the design and implementation of a Prolog system
– Loia, Quaggetto
- 1993
|
|
4
|
R.Sweet: Mesa language manual, Xerox PARC
– Mitchell
- 1979
|
|
2
|
An Implementation Scheme of Mobile Threads with a Source Code Translation Technique in Java
– Abe, Ichisugi, et al.
- 1999
|