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.

could consist either <strong>of</strong> significant changes required to complete the original update, or could<br />

incorporate fixes to miscellaneous small errors. Such errors could pertain to more than one update.<br />

As update sets are developed and frozen (see Section D.2.3), the revision manager adds them to the<br />

developmental baseline. The developmental baseline thus consists <strong>of</strong> the most recently released<br />

operational baseline in the <strong>for</strong>m <strong>of</strong> a CMP program library plus all frozen update sets <strong>for</strong> the next<br />

operational baseline. When all update sets have been frozen and tested, they are added to the old<br />

operational baseline to create the new operational baseline. Only then is the code ready <strong>for</strong> release.<br />

At the time <strong>of</strong> release <strong>of</strong> the new operational baseline, the developmental baseline and the new<br />

operational baseline are identical. The process <strong>of</strong> using CMP to maintain the code baseline is<br />

depicted in Figures D-5 and D-6. A detailed data flow diagram <strong>of</strong> the conllgurat.ion control function<br />

is presented in Figure D-7.<br />

When all the update sets in a revision have been incorporated into the developmental baseline and<br />

internal beta testing <strong>of</strong> all update sets has been completed to the satisfaction <strong>of</strong> the revision manager,<br />

the revision manager notifies the integration tester to initiate integrated testing <strong>of</strong> the (now complete)<br />

developmental baseline as a whole. When integration testing has been completed, the operational<br />

baseline is updated by application <strong>of</strong> the complete set <strong>of</strong> revision updates. Testing is discussed at<br />

greater length in Section D.2.6.<br />

D.2.5.3 Co ntrol <strong>of</strong> Variant <strong>Code</strong>s. Once a large simulation code has been developed, it can be used<br />

as a base to create codes <strong>for</strong> related applications. An example is <strong>CONTAIN</strong>-LMR, [Mur93] which<br />

has been developed with <strong>for</strong>eign funding coordinated through the USNRC. Its base is the light water<br />

version <strong>of</strong> <strong>CONTAIN</strong> with added features unique to sodium-cooled reactors. While there are<br />

substantial advantages to using this approach, care must be taken in managing the quality control and<br />

development <strong>of</strong> both the base code and the alternate codes. Each code sponsor’s needs must be<br />

considered to ensure that work per<strong>for</strong>med <strong>for</strong> the new customer does not create unnecessary<br />

complications <strong>for</strong> the original sponsor.<br />

If two codes have different procedures or standards <strong>of</strong> quality assurance, improvements in one may<br />

not satis~ the needs <strong>of</strong> the other. Ideally, new features in a variant would be useful, or at least have<br />

no negative effect, <strong>for</strong> the users <strong>of</strong> the base code. Incorporating variant features into the base code,<br />

however, may impose a burden on the mainstream development process, since the more a code is<br />

enlarged, the harder it is to maintain. If the complexity <strong>of</strong> the code also increases, then its<br />

maintenance is even more demanding. For example, future improvements <strong>of</strong> the base code must be<br />

tested against a variety <strong>of</strong> new problems, and the existence <strong>of</strong> these variant features complicates this<br />

process.<br />

When developing variants <strong>of</strong> the base code and per<strong>for</strong>ming updates <strong>of</strong> the base and variant codes,<br />

the <strong>CONTAIN</strong> team follows a process designed to ensure that the new features do not interfere with<br />

old ones. The CMP utility and <strong>CONTAIN</strong>’S code configuration control mechanism (described in<br />

Section D.2.5.2) govern the relationship between the base and variant codes. A variant is<br />

independently developed as an update <strong>of</strong> a particular base code version or revision. The update<br />

Rev. O D-12 6/30197

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

Saved successfully!

Ooh no, something went wrong!