18 citations found. Retrieving documents...
S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, LFCS, University of Edinburgh, December 1997.

 Home/Search   Document Details and Download   Summary   Related Articles   Check  

This paper is cited in the following contexts:
Dynamic Rebinding for Marshalling and Update, with .. - Bierman, Hicks..   (Correct)

....for dynamic updating surveyed in [Hic01] notably including Erlang [AVWW96] There is very little rigorous semantics, however. Duggan [Dug01] has a formal framework for updating types, but updating code is considered only informally, based on arguments around reference types. Gilmore et al. GKW97, Wal01] have a formal description of updating, but it is centred on abstract types, and is tied to their particular abstract machine. Neither of these systems properly handles updating first class functions. Gilmore et al. require that a function not be active when it is updated; closures in ....

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, The University of Edinburgh, 1997.


Formalizing Dynamic Software Updating - Bierman, Hicks, Sewell, Stoyle (2003)   (10 citations)  (Correct)

....the e#ects of an update can be controlled by using appropriate variable syntax. In combination, these features allow us to model a range of systems, from those that allow updating at any time in arbitrary (but type correct) ways, to those that have timing and or update content restrictions (e.g. [10]) 3. Practicality. Our calculus is informed by our own implementation experience [13] and that of other DSU implementations, notably the one in Erlang [2] We show how our calculus can be used to model a number of realistic situations and updating strategies. In the next section we present the ....

....is the need to control an update s e#ect. Which modules will notice the new version Can an old version and a new version coexist Di#erent systems answer these questions di#erently. Many systems allow multiple versions to coexist [2, 9, 13, 7, 1, 18] while others prefer one version at a time [10, 11]. Our use of module versions allows multiple generations of a module to exist simultaneously, and provides explicit control over which version of a module we are referring to, allowing us to delimit the e#ect of an update. As such, we can model a variety of updating situations. Finally, we assert ....

[Article contains additional citation context not shown here]

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, Laboratory for the Foundations of Computer Science, The University of Edinburgh, December 1997.


Dynamic Rebinding for Marshalling and Update, with.. - Bierman, Hicks.. (2003)   (Correct)

....for dynamic updating surveyed in [Hic01] notably including Erlang [AVWW96] There is very little rigorous semantics, however. Duggan [Dug01] has a formal framework for updating types, but updating code is considered only informally, based on arguments around reference types. Gilmore et al. GKW97, Wal01] have a formal description of updating, but it is centred on abstract types, and is tied to their particular abstract machine. Neither of these systems properly handles updating first class functions. Gilmore et al. require that a function not be active when it is updated; closures in ....

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, The University of Edinburgh, 1997.


System Support for Online Reconfiguration - Soules, Appavoo, Hui.. (2003)   (7 citations)  (Correct)

....common solution to this is an object factory that is responsible for creating and managing objects in the system. When an upgrade is requested, the factory is responsible for locating and upgrading each instance. Another similar solution is to use a garbage collector to track and update objects [23]. Coordinated swapping: While hot swapping individual components can provide several benefits, there are times when two or more components must be swapped together. For example, an architecture reconfiguration that updates the interfaces between two objects must swap the objects concurrently. ....

....functionality: Although K42 requires that swapped components support the same interface, it makes no guarantees that the functionality provided by the two components is the same. Although it may be possible for components to provide annotations about their functionality, or show type safety [23], component validity has been proven to be generally undecidable [29] Because of this, systems must make a tradeoff between flexibility and provable component correctness. The most common method for improving component correctness is through type safety. Unfortunately, this generally reduces the ....

[Article contains additional citation context not shown here]

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without dynamic types. Technical report ECS--LFCS--97--378. June 1998.


Type-Based Hot Swapping of Running Modules - Duggan (2001)   (19 citations)  (Correct)

....gone from the program. Global update takes the dual approach of replacing all old version values with new version values. This process is typically analogous to running a garbage collector, using an adapted garbage collector algorithms to scavenge the heap and thread stacks for old version values [25, 44]. Another approach is to require that all values of updateable library types be proxy objects, and a library update then causes all proxy objects to update their implementation pointers [35] This has the advantage of being possible to provide in libraries, and the disadvantage of having poor ....

....on class loading in the Java virtual machine [42] Work on dynamic linking in ML has focussed on dynamic types [3, 41, 1, 53, 18] In other work we are considering a richer module language that is compatible with the approach described here, and includes support for dynamic linking. Gilmore et al. [25] give a design description of Dynamic ML, a version of ML that allows hot swapping of ML modules in running programs. In their system the new module may change some of the data representations exported by the original module. They describe how to use a modified two space garbage collector to ....

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without dynamic types. Technical report, Department of Computer Science, University of Edinburgh, 1997.


Dynamic Software Updating - Hicks, Moore (2001)   (37 citations)  (Correct)

....dynamic linking is a well known mechanism, but while systems based upon dynamic linking [2, 21] may add new code to a running program, they cannot replace existing bindings with new ones. Those systems that do allow replacement typically either limit what can be updated (e.g. only abstract types [7], whole programs [9] or class instances [12] when the updates can occur (e.g. only when updated code is inactive [7, 14, 6, 9] or how the updates may occur (e.g. functions and values must not change their types [12] or changes to module and class signatures are restricted [14, 7] These ....

....program, they cannot replace existing bindings with new ones. Those systems that do allow replacement typically either limit what can be updated (e.g. only abstract types [7] whole programs [9] or class instances [12] when the updates can occur (e.g. only when updated code is inactive [7, 14, 6, 9]) or how the updates may occur (e.g. functions and values must not change their types [12] or changes to module and class signatures are restricted [14, 7] These limitations leave open the possibility that a software update may be needed yet cannot be accomplished without downtime. In many ....

[Article contains additional citation context not shown here]

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without Dynamic Types. Technical Report ECS-LFCS-97-378, Laboratory for the Foundations of Computer Science, The University of Edinburgh, December 1997.


Dynamic Software Updating - Hicks (2001)   (37 citations)  (Correct)

.... the following (presented roughly chronologically) dynamic linking (which exists for various languages) DYMOS [Lee83] Argus [Blo83, BD93] Conic [MKS89, MK85] PODUS [FS91, SF93] PolyLith [Hof93] Online Software Version Change (OSVC) GJ93, Gup94, GJB96] Erlang [AVWW96, Hau94] Dynamic ML [GKW97, WKG98] Dynamic C [HG98] Dynamic Java classes [MPG 00] DITools [SNC00] Guarded Software Updating (GSU) TTA 99, TTA 00] and DynInst [BH00] A few other systems have been proposed (c.f. ACR98] but not fully explored 12 so we do not examine them here. In addition, we consider ....

....systems provide flexibility via a complex group of mechanisms. For example, to enforce system imposed (or programmer specified) timing constraints at runtime at least requires support for examining the program stack for return addresses pointing to the relevant module [Lee83, FS91, MPG 00, GKW97] and potentially a means of delaying the update until no such addresses are found [Lee83, FS91] In the presence of multi threading, all thread stacks must be traced, and determining activeness may require locking on procedure entry and exit [Lee83] PODUS uses segmented virtual memory, ....

[Article contains additional citation context not shown here]

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, Laboratory for the Foundations of Computer Science, The University of Edinburgh, December 1997.


Dynamic Software Updating - Hicks, Moore, Nettles (2001)   (37 citations)  (Correct)

....dynamic linking is a well known mechanism, but systems based upon dynamic linking [1, 18] may only add new code to a running program, but cannot replace existing bindings with new ones. Those systems that do allow updates typically either limit what can be updated (e.g. only abstract types [4], whole programs [6] or class instances [10] when the updates can occur (e.g. only when updated code is inactive [4, 12, 19, 6] or how the updates may occur (e.g. functions and values must not change their types [10] or changes to module and class signatures are restricted [12, 4] These ....

....a running program, but cannot replace existing bindings with new ones. Those systems that do allow updates typically either limit what can be updated (e.g. only abstract types [4] whole programs [6] or class instances [10] when the updates can occur (e.g. only when updated code is inactive [4, 12, 19, 6]) or how the updates may occur (e.g. functions and values must not change their types [10] or changes to module and class signatures are restricted [12, 4] These limitations leave open the possibility that a software update may be needed yet cannot be accomplished without downtime. In many ....

[Article contains additional citation context not shown here]

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without Dynamic Types. Technical Report ECS-LFCS-97-378, Laboratory for the Foundations of Computer Science, The University of Edinburgh, December 1997.


Dynamic Software Updating - Hicks, Moore (2001)   (37 citations)  (Correct)

....dynamic linking is a well known mechanism, but systems based upon dynamic linking [1, 18] may only add new code to a running program, but cannot replace existing bindings with new ones. Those systems that do allow updates typically either limit what can be updated (e.g. only abstract types [4], whole programs [6] or class instances [10] when the updates can occur (e.g. only when updated code is inactive [4, 12, 19, 6] or how the updates may occur (e.g. functions and values must not change their types [10] or changes to module and class signatures are restricted [12, 4] These ....

....a running program, but cannot replace existing bindings with new ones. Those systems that do allow updates typically either limit what can be updated (e.g. only abstract types [4] whole programs [6] or class instances [10] when the updates can occur (e.g. only when updated code is inactive [4, 12, 19, 6]) or how the updates may occur (e.g. functions and values must not change their types [10] or changes to module and class signatures are restricted [12, 4] These limitations leave open the possibility that a software update may be needed yet cannot be accomplished without downtime. In many ....

[Article contains additional citation context not shown here]

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without Dynamic Types. Technical Report ECS-LFCS-97-378, Laboratory for the Foundations of Computer Science, The University of Edinburgh, December 1997.


FireWorks - Technical Report for Year 2 - Ryan (1999)   (Correct)

....has also been extended [HT98] These extensions related to the FIREworks relevant application area of featured models of computer systems. The Edinburgh site will continue to develop its work on dynamic languages which are applicable to the problem of on line detection of feature interactions [GKW97, WKG99, Wal99] Some of this work has been presented at the recent workshop on Mobile Object Systems in Lisbon [K 99] providing the opportunity for consultation between members of the Edinburgh site and the Lisbon site. 3.5 IRST: Trento, Italy The activity was mainly devoted to the ....

S. Gilmore, D. Krl, and C. Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, Laboratory for Foundations of Computer Science, Department of Computer Science, The University of Edinburgh, 1997.


Dynamic Software Updating - Hicks (1999)   (37 citations)  (Correct)

....program to change, we must match this level of exibility. The least exible is dynamic linking, since it is limited to providing plug extensibility. Dynamic C allows instances to be updated, and multiple versions of an instance to coexist, but does not allow changes to static data. Dynamic ML [24, 46] allows for the seamless transformation of abstract types as part of a type safe module replacement system. This approach requires that additional source level type information be made available at runtime, and is thus more tied to the particular source language, ML. It also requires ....

....calls increment and decrement a counter associated with each procedure upon entry and exit, respectively, in a threadsafe manner. Our goal is to make the implementation as simple as possible, and to instead rely on features already present in the source language. 4 The system described in [24] uses stop and copy garbage collection to e ect the proper changes; it is possible that pause times could be reduced by using some kind of concurrent copying collector, such as [39] 19 3 Validity Dynamically installed, correct code may cause incorrect behavior unless we control its form and ....

[Article contains additional citation context not shown here]

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without Dynamic Types. Technical Report ECS-LFCS-97-378, Laboratory for the Foundations of Computer Science, The University of Edinburgh, December 1997.


Mutatis Mutandis: - Safe And Predictable   (Correct)

No context found.

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, LFCS, University of Edinburgh, December 1997.


Automatic Software Upgrades for Distributed Systems - Ajmani (2004)   (1 citation)  (Correct)

No context found.

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, University of Edinburgh, December 1997.


Dynamic Rebinding for Marshalling and Update, with .. - Bierman, Hicks.. (2004)   (Correct)

No context found.

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, The University of Edinburgh, 1997.


A Review of Software Upgrade Techniques for Distributed Systems - Ajmani (2004)   (1 citation)  (Correct)

No context found.

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, University of Edinburgh, 1997.


Dynamic Rebinding for Marshalling and Update, with .. - Bierman, Hicks..   (Correct)

No context found.

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, The University of Edinburgh, 1997.


Plugging Haskell In - Pang, Stewart, Seefried, Chakravarty   (Correct)

No context found.

Stephen Gilmore, Dilsun Kirli, and Chris Walton. Dynamic ML without dynamic types. Technical report, The University of Edinburgh, 1997.


Dynamic Rebinding for Distributed Programming - Bierman, Hicks, Sewell.. (2002)   (1 citation)  (Correct)

No context found.

S. Gilmore, D. Kirli, and C. Walton. Dynamic ML without dynamic types. Technical Report ECS-LFCS-97-378, The University of Edinburgh, 1997.

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC