Download:
|
by Carlos Varela, Gul Agha
ACM SIGPLAN Notices. OOPSLA’2001 Intriguing Technology Track Proceedings
http://osl.cs.uiuc.edu/Papers/oopsla2001.ps
Add To MetaCart
Abstract:
Applications running on the Internet, or on limited-resource devices, need to be able to adapt to changes in their execution environment at run-time. Current languages and systems fall short of enabling developers to migrate and recon gure application sub-components at program-execution time. In this paper, we describe essential aspects of the design and implementation of SALSA, an actor-based language for mobile and Internet computing. SALSA simplies programming dynamically recongurable, open applications by providing universal names, active objects, and migration. Moreover, SALSA introduces three language mechanisms to help programmers coordinate asynchronous, mobile computations: token-passing continuations, join continuations and rst-class continuations. We provide some examples which illustrate how SALSA programs are not only dynamically recongurable and open, but also much more concise and easier to follow than comparable Java code. Furthermore, we provide empirical results which show SALSA's performance to be better than Java code using an actor library, and which illustrate the dierence between local, local area, and wide area communication and migration. Finally, we discuss the implementation of our preprocessor which translates SALSA code into Java. 1
Citations
|
965
|
Reasoning About Knowledge
– FAGIN, HALPERN, et al.
- 1995
|
|
865
|
Actors: A Model of Concurrent Computation in Distributed Systems
– Agha
- 1986
|
|
663
|
Mobile ambients
– Cardelli, Gordon
|
|
410
|
A language with distributed scope
– Cardelli
- 1995
|
|
384
|
Monitors: an operating system structuring concept
– Hoare
- 1974
|
|
299
|
Viewing control structures as patterns of passing messages
– Hewitt
- 1977
|
|
215
|
Escape analysis for Java
– Choi, Gupta, et al.
- 1999
|
|
168
|
A foundation for actor computation
– Agha, Mason, et al.
- 1997
|
|
155
|
Type-based race detection for Java
– Flanagan, Freund
- 2000
|
|
154
|
Object-Oriented Multi-Methods in Cecil
– Chambers
- 1992
|
|
135
|
Fixing the Java memory model
– Pugh
- 1999
|
|
125
|
MultiJava: Modular open classes and symmetric multiple dispatch for Java
– Clifton, Leavens, et al.
- 2000
|
|
114
|
ABCL: An Object-Oriented Concurrent System
– Yonezawa
- 1990
|
|
102
|
Removing unnecessary synchronization in Java
– Bogda, Höltze
- 1999
|
|
97
|
The Java Language Speci
– Gosling, Joy, et al.
- 1996
|
|
97
|
Effective synchronization removal for Java
– Ruf
- 2000
|
|
83
|
Nomadic Pict: Language and infrastructure design for mobile agents
– Wojciechowski, Sewell
- 2000
|
|
77
|
Actalk: A testbed for classifying and designing actor languages in the Smalltalk80 environment
– Briot
- 1989
|
|
60
|
Service Combinators for Web Computing
– Cardelli
- 1999
|
|
55
|
Static Analyses for Eliminating Unnecessary Synchronization from Java Programs
– Aldrich, Chambers, et al.
- 1999
|
|
55
|
The Java Virtual Machine Speci
– Lindholm, Yellin
- 1997
|
|
53
|
Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs
– Chien
- 1993
|
|
42
|
Abstracting interaction patterns: A programming paradigm for open distributed systems,” in Formal Methods for Open ObjectBased
– Agha
- 1997
|
|
40
|
Guava: A dialect of Javawithout data races
– Bacon, Strom, et al.
- 2001
|
|
33
|
HAL: A high-level actor language and its distributed implementation
– Houck, Agha
- 1992
|
|
29
|
Improving the Java memory model using CRF
– Maessen, Shen
- 2000
|
|
20
|
Mobile agents: Motivations and state-of-the-art systems
– Gray, Kotz, et al.
- 2000
|
|
17
|
A calculus with code mobility
– Sekiguchi, Yonezawa
- 1997
|
|
12
|
Rosette: An Object Oriented Concurrent System Architecture
– Tomlinson, Kim, et al.
- 1989
|
|
10
|
The Actor Foundry: A Java-based Actor Programming Environment
– Lab
- 1998
|
|
10
|
A Hierarchical Model for Coordination of Concurrent Activities
– Varela, Agha
- 1999
|
|
8
|
Characterizations of Java memory behavior
– Gontmakher, Schuster
- 1998
|
|
8
|
Worldwide Computing with Universal Actors: Linguistic Abstractions for Naming, Migration, and Coordination
– Varela
- 2001
|
|
7
|
Intra- and Inter-Object Coordination with MESSENGERS
– Fukuda, Bic, et al.
- 1996
|
|
5
|
Programming and Deploying Mobile Agents with Aglets
– Lange, Oshima
- 1998
|
|
5
|
Modular Speci of Interaction Policies in Distributed Computing
– Sturman
- 1996
|
|
2
|
An Actor System for Ecient and Scalable Concurrent Computing
– THAL
- 1997
|
|
1
|
Linguistic Support for Actors, First-Class Token-Passing Continuations and Join Continuations
– Varela, Agha
- 1999
|