Abstract. Traditionally an execution environment faces a trade-off between providing high-level or low-level concurrency mechanisms. The former trades flexibility for ease-of-use, while the latter results in a concurrency management closer to applications needs at the cost of an increase in the complexity of the applications code. Thus, one way or another, an application programmer has to match his application's semantic to the set of abstractions exported by the target execution environment. Most execution environments, such as Java or Corba, are still rigid and closed and thus export high-level and general purpose abstractions that prevent application programmers from having any control or knowledge on the way their applications behave. Because concurrency concerns are closely related to applications semantics, a "one-size-fits-all " approach does hardly work. Hence, we propose a flexible and minimal execution environment 1 that allows dynamic construction of dedicated execution environments and dynamic reconfiguration at both the execution environment and the application level. We present its architecture and its utilization to construct a dynamically adaptable Java runtime that exploits this flexibility to overcome some limitations of traditional Java environments.
|
521
|
Exokernel: An Operating System Architecture for Application-Level Resource Management
– Engler, Kaashoek, et al.
- 1995
|
|
243
|
Dealing With Disaster: Surviving Misbehaved Kernel Extensions
– Seltzer, Endo, et al.
- 1996
|
|
157
|
A dynamic network architecture
– O’Malley, Peterson
- 1992
|
|
101
|
Adaptive web caching: Towards a new global caching architecture
– Michel, Nguyen, et al.
- 1998
|
|
86
|
Orthogonal Persistence for Java
– Jordan, Atkinson
|
|
60
|
Internet Cache Protocol (ICP), version 2, request for comments rfc-2187. Available at URL http://ds.internic.net/rfc/rfc2186.txt
– Wessels, Claffy
- 1997
|
|
60
|
Marmot: An Optimizing Compiler for Java
– Fitzgerald, Knoblock, et al.
- 1999
|
|
48
|
Java operating systems: Design and implementation
– Back, Tullmann, et al.
- 1998
|
|
41
|
Nested Java processes: OS structure for mobile code
– Tullmann, Lepreau
- 1998
|
|
40
|
Design and implementation of a meta architecture for Java
– Golm
- 1997
|
|
25
|
Concurrent Programming in Java, Second edition
– Lea
- 1999
|
|
23
|
Performance limitations of the java core libraries
– Heydon, Najork
- 1999
|
|
22
|
The JX Operating System
– Golm, Felser, et al.
- 2002
|
|
21
|
Harissa: A hybrid approach to Java execution
– Muller, Schultz
- 1999
|
|
15
|
A dynamically configurable, multi-language execution platform
– Folliot, Piumarta, et al.
- 1998
|
|
14
|
CacheL: Language Support for Customizable Caching Policies
– Barnes, Pandey
- 1999
|
|
9
|
Pandora: a Flexible Network Monitoring Platform
– Patarin, Makpangou
- 2000
|
|
9
|
Extensible virtual machines
– Harris
- 2001
|
|
8
|
Towards a fine-grained adaptivity in Web caches
– Aubert, Beugnard
- 1999
|
|
7
|
Saperlipopette!: a distributed Web caching systems evaluation tool
– Pierre, Makpangou
- 1998
|
|
7
|
Vanilla: An Open Language Framework
– Dobson, Nixon, et al.
- 1999
|
|
7
|
Open Distributed Processing - Reference Model, Part 2 : Fundations
– ISOIEC
- 1995
|
|
6
|
Capturing OS expertise in an Event Type System: the Bossa experience
– Lawall, Muller, et al.
- 2002
|
|
4
|
Ynvm: dynamic compilation in support of software evolution
– Piumarta, Ogel, et al.
- 2001
|
|
4
|
The Virtual Virtual
– Folliot
- 2000
|
|
3
|
The world wide web: Issues and challenges. presented at IBM Almaden
– Seltzer
- 1996
|
|
3
|
Advanced concurrency control
– Felber, Reiter
- 2002
|
|
3
|
Beyond flexibility and reflection: The virtual virtual machine approach
– FOLLIOT, PIUMARTA, et al.
- 2002
|
|
2
|
The Virtual Virtual Machine Project
– Folliot
- 2000
|
|
2
|
The Squid Internet object cache. National Laboratory for Applied Network Research/UCSD, software
– Wessels
- 1997
|
|
2
|
The Java Memory Model is Fataly Flawed
– Pugh
- 1999
|
|
1
|
Design Patterns: Elements of Reusable ObjectOriented Software
– G
- 1994
|
|
1
|
WebCal: A domain-specific language for web caching
– Muller, Barreto, et al.
- 1999
|
|
1
|
THINK : un noyau d'infrastructure r epartie adaptable
– Fassino, Stephani
- 2001
|