A software development system. An inventory of software modules is
maintained. When a given system is to be assembled, modules from the
inventory are selected for that system. In addition, modules not
contained in the inventory are developed specifically for that system,
and included in the system.