Engineering PapersSearch

NASA NTRS · 19940034849

On-line upgrade of program modules

Abstract

This paper presents a taxonomy of problems that must be solved in order to achieve on-line upgradability of long-lived programs, and presents a solution to the fundamental problems in the taxonomy. The solutions are based upon AdaPT, a set of language extensions designed to aid in the distribution of a single Ada program. AdaPT introduces three major units, the public, the partition, and the node. Publics are primarily used to share type information. Partitions are the basic units of distribution while nodes are used to control the configuration of the program. Nodes and partitions can be created dynamically via the allocator. A node-level routine controls the replacement process. The controlling node creates a new instance of the routine being replaced; the run-time system must ensure that the new instance is the updated one. Once access to the new version has been established, all further calls to the module are redirected to the new version and the caller is informed of the change so that it may make subsequent calls directly. When a module is being upgraded, there is a transition period during which both the old and new versions are present. We require that clients of a potentially replaceable module 'check in' with the controlling node. The controlling node keeps track of the number of clients that have been redirected to the replacement. When all have been redirected, the old version can be deallocated.

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Waldrop, Raymond S., Volz, Richard A., Smith, Gary W., Holzbacher-Valero, A. A., Goldsack, S. J.. 1993-01-01. On-line upgrade of program modules. https://ntrs.nasa.gov/citations/19940034849

Cite the original work for its findings. Save a collection to share your selection of sources.