10.08.2013 Views

Code Manual for CONTAIN 2.0 - Federation of American Scientists

Code Manual for CONTAIN 2.0 - Federation of American Scientists

Code Manual for CONTAIN 2.0 - Federation of American Scientists

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

When the review is complete, the update is delivered to the revision manager. The revision manager<br />

inspects the package to check <strong>for</strong> completeness, accuracy, and adherence to project standards. The<br />

manager creates the source code from the update and compiles this source code to check <strong>for</strong> compile<br />

errors and warning messages. The manager or an internal beta tester runs the test problems used by<br />

the developer and checks the results qualitatively <strong>for</strong> error messages, code bombs, etc. The manager<br />

inspects the documentation to ensure that it contains all mandatory sections, such as descriptions <strong>of</strong><br />

testing and new input, and that upward compatibility has been maintained.<br />

When the revision manager is satisfied with the update and documentation, the manager signifies<br />

acceptance by signing the Change Document cover sheet. A sample copy <strong>of</strong> the Change Document<br />

cover sheet is shown in Figure D-4. This sign<strong>of</strong>f constitutes a process called “freezing.” Once the<br />

update is frozen, it can no longer be modified. Any further modifications or emor corrections must<br />

be addressed in a subsequent update.<br />

D.2.5 Configuration Control<br />

The <strong>CONTAIN</strong> quality assurance program includes a strictly en<strong>for</strong>ced configuration control<br />

component. The objective <strong>of</strong> this component is to ensure that whenever users or developers access<br />

the <strong>CONTAIN</strong> code, they are presented with a complete, consistent, and tested code.<br />

D.2.5. 1 Baseline Co ntrol. <strong>CONTAIN</strong> configuration control employs a baseline system to ensure<br />

consistency and to control context. A baseline consists <strong>of</strong> a set <strong>of</strong> updates that are used without<br />

modification and that can be changed only under strictly controlled procedures. <strong>CONTAIN</strong><br />

configuration control en<strong>for</strong>ces two baselines: operational and developmental. The operational<br />

baseline is the s<strong>of</strong>tware released to the user community as a “version” or “revision.” A version<br />

embodies major changes and entails the publication <strong>of</strong> a new edition <strong>of</strong> the <strong>Code</strong> <strong>Manual</strong>. A revision<br />

consists <strong>of</strong> less significant, but <strong>of</strong>ten still substantial, changes and includes the distribution <strong>of</strong> change<br />

documents to the most recent version <strong>of</strong> the <strong>Code</strong> <strong>Manual</strong>. The developmental baseline, derived<br />

from the operational baseline, provides a controlled environment <strong>for</strong> development and testing. The<br />

same mechanism is used to control both baselines, but control is exercised over each baseline<br />

independently.<br />

D.2.5.2 The Co ntrol Mechan ism. Prior to <strong>CONTAIN</strong> 1.2, the UPDATE utility was used to en<strong>for</strong>ce<br />

baseline control. UPDATE is a CW4Y utility designed to facilitate the maintenance <strong>of</strong> a large code<br />

project by managing and tracking s<strong>of</strong>tware changes. [UPD84] It is a line-oriented text editor that<br />

creates and maintains program libraries (data sets) and other data on the basis <strong>of</strong> line and deck<br />

identifiers. A library can be modified by adding or purging decks, or by adding, modifying, or<br />

deleting cards in existing decks. UPDATE can be used to generate new program libraries, source<br />

data sets (with UPDATE directives embedded), compile data sets (ready <strong>for</strong> compilation), or<br />

selected listings. Duplicated code can be defined once and referenced <strong>for</strong> inclusion in other decks.<br />

Options in UPDATE ensure correct line numbers by assigning new sequence numbers using the<br />

UPDATE 4.0 scheme. UPDATE produces output that can be used as input to other programs,<br />

particularly compilers and assemblers. Although there are many alternative ways <strong>of</strong> en<strong>for</strong>cing<br />

baseline control, UPDATE was chosen <strong>for</strong> <strong>CONTAIN</strong> because it<br />

Rev O D-9 6/30/97

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!