Use Case: ITS: Compile & Test ALMA Software

Integration, Test, & Support (ITS) - "Use Case" for ALMA (This use case is based on the ALMA Software Integration, Test and Support Plan (ITSP) and the ALMA Software Development Tools and Integration Guidelines (SDTIG)).

The ITS process is defined in the two ITS documents listed above. This use case is provided for convenience. We will make an effort to keep this use case up to date, but the ITS documents are the definitive sources.

The released version of the ITSP may be found at http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/DRAFT_Computing_Plans/docProfile/100004/d20030820063107/No/IntDevelopmentPlan_3.0.pdf

The released version of the STDIG may be found at http://almaedm.tuc.nrao.edu/forums/alma/dispatch.cgi/ipt7080docs/docProfile/100051/d20030528101604/No/t100051.htm

Goal:   Compile and test all ALMA software developed since the beginning of the last integration.

Contact Author:   S. Rankin

Role(s)/Actor(s):
Primaries:  

Secondaries:  

Priority:   Critical

Performance:   Monthly integrations must complete in one month. Major and minor release integrations may extend to two months.

Frequency of Use:   Monthly integrations start on the first of each month. Major and minor release integrations start every six months. Major and minor release integrations preempt monthly integrations that would fall in the middle of the major or minor integration.

Preconditions:

  1. ITS has completed previous integration.
  2. ITS has made the previous integration binary available to subsystem developers.
  3. ITS has announced the CVS tag for this integration.
  4. All subsystem developers have verified that their code compiles and links against the integrated binary produced in the previous integration.
  5. All subsystem developers have verified that all of their unit tests pass.
  6. All subsystem developers have checked all of their source code into CVS.
  7. All subsystem developers have checked all of their unit tests into CVS.
  8. The source code and unit tests for a subsystem have been tagged in CVS with the tag announced by ITS.

Basic Course:

  1. ITS checks all subsystem source code and unit tests out of CVS using the announced CVS tag.
  2. ITS runs a static analysis on all subsystem source code and unit tests.
  3. ITS compiles all subsystem source code and unit tests.
  4. ITS reviews the compilation log for errors.
  5. ITS executes all subsystem unit tests.
  6. ITS reviews the unit test log for test errors.
  7. ITS reports compilation and unit test results to developers and ALMA Computing Management.
  8. Exception Course: This course is triggered if errors are found in either the compilation log or unit test log. It will be executed once for each subsystem exhibiting errors. It will be executed in parallel for each subsystem exhibiting errors.

Postconditions:

  1. The integration report is available to subsystem developers and ALMA Computing Management.
  2. The integration binary is available to subsystem developers.

Issues to be Determined or Resolved:  

  1. ITS has not yet determined how ITS developed Integration tests and system test will be handled in the Basic course.
  2. ITS has not yet determined how it will handle regression testing.
  3. ITS has not yet determined how it will handle hardware/software integration.

Last modified: 24sep03