While dynamic linking has become an integral part of the run-time execution of modern programming languages, there is increasing recognition of the need for support for hot swapping of running modules, particularly in long-lived server applications. An interesting challenge for such a facility is to allow the new module to change the types exported by the original module, while preserving type safety. This paper describes a type-based approach to hot swapping running modules. The approach is based on a reflective mechanism for dynamically adding type sharing constraints to the type system, realized by programmer-defined version adapters in the run-time. 1
|
1415
|
The Definition of Standard ML
– Milner, Tofte, et al.
- 1990
|
|
755
|
A Theory of Objects
– Abadi, Cardelli
- 1996
|
|
500
|
From System F to Typed Assembly Language
– Morrisett, Walker, et al.
|
|
284
|
Making the future safe for the past: Adding genericity to the Java programming language
– Bracha, Odersky, et al.
- 1998
|
|
231
|
A type-theoretic approach to higher-order modules with sharing
– Harper, Lillibridge
- 1994
|
|
223
|
Distributed Programming in Argus
– Liskov
- 1988
|
|
194
|
Manifest types, modules, and separate compilation
– Leroy
- 1994
|
|
161
|
Unboxed objects and polymorphic typing
– Leroy
- 1992
|
|
150
|
Units: cool modules for HOT languages
– Flatt, Felleisen
- 1998
|
|
127
|
Higher-order modules and the phase distinction
– Harper, Mitchell, et al.
- 1990
|
|
125
|
Dynamic software updating
– Hicks, Moore, et al.
- 2001
|
|
124
|
Dynamic typing in a statically typed language
– Abadi, Cardelli, et al.
- 1991
|
|
124
|
Program fragments, linking, and modularization
– Cardelli
- 1997
|
|
112
|
A paradigmatic object-oriented programming language: Design, static typing and semantics
– Bruce, K
- 1994
|
|
101
|
A proposal to make Eiffel typesafe
– Cook
- 1989
|
|
94
|
Applicative functors and fully transparent higherorder modules
– Leroy
- 1995
|
|
93
|
Inheritance as implicit coercion
– Breazu-Tannen, Coquand, et al.
- 1991
|
|
79
|
Dynamic typing in polymorphic languages
– Abadi, Cardeli, et al.
- 1992
|
|
67
|
Compatible genericity with run-time types for the Java programming language
– Cartwright, Steele
- 1998
|
|
64
|
Flexible representation analysis
– Shao
- 1997
|
|
62
|
Runtime support for type-safe dynamic java classes
– Malabarba, Pandey, et al.
- 2000
|
|
59
|
Type-safe linking and modular assembly language
– Glew, Morrisett
- 1999
|
|
49
|
Dynamics in ML
– Leroy, Mauny
- 1993
|
|
46
|
On subtyping and matching
– Abadi, Cardelli
- 1995
|
|
44
|
Dynamic C++ classes: A lightweight mechanism to update code in a running program
– Hjálmt´ysson, Gray
- 1998
|
|
37
|
Safe and flexible dynamic linking of native code
– Hicks, Weirich, et al.
- 2000
|
|
33
|
Dynamic module replacement in a distributed programming system
– Bloom
- 1983
|
|
33
|
Modules, abstract types, and distributed versioning
– Sewell
|
|
31
|
Dynamic Linking of Software Components
– Franz
- 1997
|
|
30
|
Representing java classes in a typed intermediate language
– League, Shao, et al.
- 1999
|
|
29
|
Fast concurrent dynamic linking for an adaptive operating system
– Cowan, Antrey, et al.
- 1996
|
|
27
|
Type dispatch for named hierarchical types
– Glew
- 1999
|
|
22
|
Dynamic ML Without Dynamic Types
– Gilmore, Kirli, et al.
- 1997
|
|
18
|
Transparent modules with fully syntactic signatures
– Shao
- 1999
|
|
16
|
Sharing in typed module assembly language
– Duggan
- 2000
|
|
16
|
Zones, contracts and absorbing change: An approach to softwareevolution
– Evans, Dickman
- 1999
|
|
10
|
Supporting reconfigurable security policies for mobile programs
– Hashii, Malabarba, et al.
|
|
10
|
A Calculus for Dynamic Loading
– Hicks, Weirich
- 2000
|
|
7
|
Morrisett. Compiling With Types
– Gregory
- 1995
|
|
7
|
Decidable Type Equivalence with Singleton Kinds
– Stone, Harper
- 2000
|
|
5
|
Duggan and Constantinos Sourelis. Mixin modules
– Dominic
- 1996
|
|
3
|
Type-safe dynamic linking with recursive DLLs and shared libraries
– Duggan
- 2000
|
|
2
|
Liang and Gilad Bracha. Dynamic class loading in the java virtual machine
– Sheng
- 1998
|
|
1
|
Type-safe on-the-wire marshalling. Submitted for publication
– Duggan
- 1998
|
|
1
|
JavaBeans API Specification v1.01
– Hamilton
- 1997
|