C. Automated Selftest

The WAFER-STATE-SERVER was implemented with the help of a set of CASE tools that support the concurrent development of software. These case tools are on the one hand the Concurrent Versions System (CVS) database [115], and the VMAKE [116] system. CVS helps in managing different versions of software projects. It aids in making releases of projects and allows to make code branches to distinguish between a bug fix for a released version and the general development of the software. CVS is especially vital if several persons work on a software project. VMAKE helps in building and installing libraries and programs and also in managing several versions of installed libraries and programs for different platforms.

A missing link between CVS and VMAKE is a mechanism that retrieves the current version of all libraries and programs belonging to a certain software package from CVS and automatically compiles and test runs these packages on different platforms using the VMAKE tool. Such a mechanism is very crucial to detecting inevitable errors that occur during the software development cycle, particularly when several people work together on the same piece of software.

This appendix discusses a mechanism that aims at filling this missing gap. The software that was developed -- VTEST -- was realized in the PERL [117] and JAVA [34] programming languages. UNIX shell scripts are used to run the VMAKE program and to perform cleanup operations in the file system. The main part of VTEST is realized in PERL, the part that is used to view the warning report was realized in JAVA as a browser applet. VTEST is intended to be started periodically by means of a UNIX cron job. VTEST supports the creation of high quality software releases, if a clean run of VTEST is taken as a pre-requisite for a software release candidate.