NASA NTRS1986
Some of the problems unique to building a very large Ada system are addressed. This is done through examples from experience. In the winter of 1985 and 1986, Intermetrics bootstrapped the Ada compiler, which was being built over the last few years. This system consists of about one million lines of full Ada. Over the last few years a number of procedures and tools were adopted for managing the life cycle of each of the many parts of an Ada system. Many of these procedures are well known to most system builders: release management, quality assurance testing; and source file revision control. Others are unique to working in an Ada language environment; i.e., recompilation management, Ada program library management, and managing multiple implementations. First a look is taken at how a large Ada system is broken down into pieces. The Ada definition leaves unspecified a number of issues that the system builder must address: versions, subsystems, multiple implementations, and synchronization of branched development paths. Having introduced how the Ada systems are decomposed, a look is taken, via a series of examples, at how the life cylces of those parts is managed. The procedures and tools used to manage the evolution of the system are examined. It is hoped that other Ada system builders can build upon the experience of the last few years.