A system and method for generating run-time images of a software program,
such as an operating system, builds a run-time image from a plurality of
selected software program components, each of which is a discrete packet
of functionality. Each component not only specifies its properties and
resources but also provides script for its own build behavior. To build
the run-time image, a configuration is constructed to include instances
of selected components, and the scripts of the instances are invoked such
that each component instance builds itself into the run-time image. A
general framework is provided for managing the components and the build
process. A prototyping scheme is provided for a component to inherit its
properties, resources, and script from other components. Each component
may also specify dependency data in terms of component inclusion in the
run-time image and the orders in which the components are built into the
run-time image. A versioning scheme facilitates the tracking of various
revisions and upgrades of components.