ATLAS and Common ATLAS Test Languages
What are the ATLAS and CATLAS Languages?
The ATLAS test language was originally developed for aviation and avionics unit testing. The ATLAS test language became common because it was not proprietary and designed by IEEE consensus to be universal across all brands of test equipment.
The ATLAS and later C/ATLAS language has been used to write Test Program Sets to test equipment called Units Under Test (UUT).
History of the ATLAS Language Standard
The IEEE first created standard 416 for the ATLAS test language in 1976. The ATLAS test language was created to be independent of any specific brand of test equipment. IEEE Standard 771 was the first IEEE standard on how to use the ATLAS language. IEEE Standard 416, last updated in 1984, has been withdrawn. It was replaced with the Common ALTAS or C/ATLAS test language in Standard 716.
Also called ATLAS C, the C/ATLAS test language was created to combine C/ATLAS Test Language and syntax into a single programming language for use on unit testing on automated test equipment. IEEE Standard 716 for C/ATLAS was updated in 1989. The 1995 standard was reaffirmed in the year 2000.
Overview of the ATLAS and C/ATLAS Programming Structure
An ATLAS and C/ATLAS test specification defines the test requirements for the UUT or units under test. The C/ATLAS test specification calls out the resources required to perform the test, though the resources such as memory can be called out implicitly or explicitly.
ATLAS program test specifications must include structure delimiter statements, preamble statements and procedural statements. The preamble statement includes the resource requirements of the test specification.
Procedural statements can address data processing, input-output, control, signal, timing and macros. Data processing procedural statements define the calculations, conversions and storage of data generated during the test. Input/output procedural statements cover input/output functions. Control procedural statements determine when the code for a test specification is run or the sequence of events to be followed. Signal procedural statements determine the measurement of signals generated during testing.
An ATLAS test specification structure refers to a single document or group of documents that record a task to be applied to the unit under test in order to meet a test specification, procedure or program. An ATLAS test specification structure must contain at least one ATLAS program structure. There is no limit on how many ATLAS module structures or non-ATLAS module structures it has.
ATLAS and non-ATLAS modules are separate from the atlas program structure and are linked to the program structure by "include" statements. In this regard, ATLAS and C/ATLAS are a precursor to code libraries and object oriented code, where code modules could be used and reused by different programs.
Non-ATLAS references are called when a LEAVE ATLAS statement is used. The command RESUME ATLAS is used after the non-ATLAS code is run to continue the ATLAS test program.
Each C/ATLAS program structure has a begin program statement that marks when the structure starts. Atlas program structures start with a "begin" statement. C/ATLAS program structures must have a program preamble, a commence main procedure statement, a main procedural structure and a terminate program statement. The program preamble structure starts after the "begin" statement. The preamble structure creates labels and defines attributes used later in the code.
The C/ATLAS commence main procedure statement delimits the start of the main procedure in the test specification program. The main procedural structure is essentially the sequence of events and data collection used to run the test against the specification to be verified by the program. The terminate program statement marks when the program will stop. The last statement in a C/ATLAS program structure should be a terminate statement.
C/ATLAS module structures have a begin module statement, module preamble structure and terminate module statement. Each module within the C/ATLAS test specification structure must have a unique name. The begin module statement marks the start of the module structure. The "Begin" statement is only used once in an ATLAS module structure. Module preamble structures do not contain test specification executable code. Module preamble structures describe the module, its relationship to the test specification and references to the program preamble structure. The terminate module statement marks the end of the module. It is literally the statement "terminate".
The C/ATLAS programming language also allows for blocks to be used. Blocks are used within the procedural specification. Blocks can be set up in hierarchical structures with multiple levels. Blocks are started with a begin block statement and terminated with an end block statement.
Statement numbers within a code block can only refer to other statements inside the block statement. Block bodies do not have to have a local preamble similar to the module preamble. The labels declared for a block carry down to any nested blocks.