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:
- Integration, Test and Support (ITS)
- ALMA Computing Management - monitors progress of subsystem
development.
Secondaries:
- Subsystem developers - including developers
working on ALMA Common Software, Control, Correlator, Executive,
Observing Preparation, Offline, Pipeline, Scheduling, and
Telescope Calibration subsystems.
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:
- ITS has completed previous integration.
- ITS has made the previous integration binary available to
subsystem developers.
- ITS has announced the CVS tag for this integration.
- All subsystem developers have verified that their code compiles
and links against the integrated binary produced in the previous
integration.
- Exception:When a subsystem ICD has changed, all
subsystems using that ICD must verify that their code compiles and
links against the new version of that ICD.
- All subsystem developers have verified that all of their unit
tests pass.
- All subsystem developers have checked all of their source code
into CVS.
- All subsystem developers have checked all of their unit tests
into CVS.
- The source code and unit tests for a subsystem have been tagged
in CVS with the tag announced by ITS.
Basic
Course:
- ITS checks all subsystem source code and unit tests out of CVS
using the announced CVS tag.
- ITS runs a static analysis on all subsystem source code and unit
tests.
- ITS compiles all subsystem source code and unit tests.
- ITS reviews the compilation log for errors.
- ITS executes all subsystem unit tests.
- ITS reviews the unit test log for test errors.
- ITS reports compilation and unit test results to developers and
ALMA Computing Management.
- 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.
- ITS reports errors to the subsystem developers.
- ITS provides compilation and/or unit test logs to the
subsystem developers.
- ITS provides support as requested to subsystem
developers.
- Subsystem developers resolve their compilation and/or unit
test errors.
- Subsystem developers check their modified source code
and/or unit tests into CVS.
- Subsystem developers tag their entire subsystem with new
CVS tag provided by ITS.
- ITS executes the Basic course.
-
Postconditions:
- The integration report is available to subsystem developers and
ALMA Computing Management.
- The integration binary is available to subsystem
developers.
Issues
to be Determined or Resolved:
- ITS has not yet determined how ITS developed Integration tests
and system test will be handled in the Basic course.
- ITS has not yet determined how it will handle regression
testing.
- ITS has not yet determined how it will handle hardware/software
integration.
Last modified: 24sep03