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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

instruction set that creates the variant will work only on that particular base code, because other<br />

versions <strong>of</strong> the base code will have different line sequencing.<br />

As time passes, the base code evoIves away from the variant code, and cross-fertilization between<br />

the two variations becomes desirable. <strong>Code</strong> features are transferred in two ways:<br />

1) from the variant version to the base code, and<br />

2) from the base to the variant version.<br />

Staff in the base code project determine whether or not to carry out a transfer <strong>of</strong> the first type based<br />

on a strict costhenefit assessment done from the viewpoint <strong>of</strong> the base code project sponsor. They<br />

then implement the desired changes in essentially the same way that a code revision is done, by<br />

assigning the update a location in the sequencing <strong>of</strong> code changes, modifying the code<br />

documentation, and completing <strong>for</strong>mal testing.<br />

A similar assessment from the viewpoint <strong>of</strong> the variant code project is done <strong>for</strong> the second type <strong>of</strong><br />

transfer. The desired changes are accomplished periodically and systematically by a process called<br />

an “accommodation.” Using this method, an update set that creates an existing, working variant<br />

version from a particular base code is modified to reflect the line numbering <strong>of</strong> a subsequent base<br />

code release. This part <strong>of</strong> the process is straight<strong>for</strong>ward. In addition, it is usually necessary to<br />

examine the interactions between features in the variant code and new features in the base code that<br />

have developed after the original base version was frozen. Some features may have to be disabled<br />

and/or significantly reworked. When complete, the accommodation wiII provide anew variant code<br />

that has the original variant features, and those new features in the base code that were deemed<br />

appropriate. The cost <strong>of</strong> per<strong>for</strong>ming this accommodation is borne by the variant code project.<br />

Note that at times the variant code based on one release <strong>of</strong> the base code coexists in time with a later<br />

release <strong>of</strong> the base code. This situation occurs because it takes time to per<strong>for</strong>m an accommodation,<br />

and also because there may be reasons to postpone an accommodation until a natural point in the<br />

variant development schedule occurs. The relationship between the mainstream <strong>CONTAIN</strong> code and<br />

vtiant versions <strong>of</strong> <strong>CONTAIN</strong> is shown in Figure D-8.<br />

Documentation <strong>of</strong> variant versions using this approach can be simplified by providing supplementary<br />

reports that discuss the differences between a variant release and the documented base version from<br />

which it stems. This was done <strong>for</strong> <strong>CONTAIN</strong>-HWR. [Bi194]<br />

D.2.6 Testing<br />

Testing verifies the integrity <strong>of</strong> both individual updates and code revisions and <strong>of</strong> the combination<br />

<strong>of</strong> revisions that becomes a new version. Testing has four objectives: verification, validation,<br />

integration, and regression prevention. The objective <strong>of</strong> verification is to determine that the update<br />

set per<strong>for</strong>ms as specified by the code developer in the code specification requirements. Validation<br />

testing determines that the update set per<strong>for</strong>ms calculations accurately with respect to the physical<br />

model represented. Validation testing may include comparison <strong>of</strong> calculated results with available<br />

Rev. O D-15 6/30/97

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

Saved successfully!

Ooh no, something went wrong!