The ACAA procedures are in draft form. They were written to conform to an early version of the proposed ISO standard. That standard is now evolving rapidly, and it has been decided to wait until a more stable version is available before updated the procedures. In addition, it is known that the use of the term "processor" in the procedures is inconsistent and differs from the normal meaning of the term. We intend to repair this usage in the next version of the procedures.

Please send comments on these procedures to the ACAA technical agent, E-Mail address Randy@rrsoftware.com.

Operating Procedures

for Ada Conformity Assessments

Version 1.3

October 2, 1998

Ada Resource Association

9990 Lee Highway, Suite 270

Fairfax, VA 22030

 

 

TABLE OF CONTENTS

EXECUTIVE SUMMARY 1

1. INTRODUCTION

1.1 Background

2. GLOSSARY OF TERMS

3. BODIES AND RESPONSIBILITIES

3.1 Ada Conformity Assessment Laboratories (ACALs)

3.2 Ada Conformity Assessment Authority (ACAA)

3.2.1 Sponsor

3.2.2 Technical Agent

3.2.3 Advisory Board

3.3 Conformity Assessment Clients

4. THE ADA CONFORMITY ASSESSMENT TEST SUITE

4.1 Applicability of ACATS Test Programs

4.2 Test Modification

4.3 Customization

4.4 ACATS Grading

4.5 ACATS Availability

4.5.1 ACATS Version Control System

4.6 ACATS Configuration Management

4.6.1 ACATS Modification List

4.6.2 ACATS Modification Categories

4.6.3 ACATS Baseline Version

4.6.4 ACATS Tests used

5. CONFORMITY ASSESSMENT

5.1 Establishment of Agreement

5.2 Self-Test Evaluation

5.2.1 Client Testing

5.2.2 Submission of Results

5.2.3 ACAL Analysis and Test-Issue Resolution

5.2.4 Incomplete Self-test Evaluation

5.2.5 Successful Self-testing

5.3 Witness Testing

5.4 Documentation

5.4.1 The Ada Conformity Assessment Test Report

5.4.2 The Ada Conformity Assessment Certificate

5.5 Use of Obsolete ACATS Versions

5.6 Retention of Records

5.7 Advertising Status

6. TEST CHALLENGE AND RESOLUTION PROCESS

6.1 Introduction

6.2 Expedited Resolution Process

6.3 Extended Resolution Process

6.4 Types of Resolutions

6.5 Summary

7. EXTENSIBILITY OF CONFORMITY ASSESSMENT

7.1 Processor Types

7.2 Equivalence of ACATS Results

7.3 Definition of Processor Type

7.3.1 Base Processor Type

7.3.2 Maintained Processor Type

7.3.3 Rehosted Processor Type

7.4 Requirements for Type Approval

7.4.1 The ACATR Supplement

7.4.2 Base Processor Type Approval

 

APPENDICES

POINTS OF CONTACT A-1

TEST ISSUE FORMAT B-1

DECLARATION OF CONFORMITY C-1

ACATR SUPPLEMENT FORMAT D-1

ACRONYMS E-1

REFERENCES F-1

Executive Summary

The International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), through Working Group 9 (WG9) of Subcommittee 22 (SC22) of their Joint Technical Committee 1 (JTC1), are establishing an International Standard entitled Ada: Assessing Conformity of a Language Processor . This Working Draft specifies requirements for five aspects of a conformity assessment program, as follows:

Ada Conformity Assessment Laboratories (ACAL), designated by National Bodies for the purpose of performing Ada Conformity Assessment;

Ada Conformity Assessment Authority (ACAA), formed or designated by the ACAL in collaboration;

Ada Conformity Assessment Test Suite (ACATS), managed and administered by the ACAA and used by the ACAL in performing conformity assessments;

Ada Conformity Assessment Procedure (ACAP), governing the assessment activities of the ACAL and the contents of the Ada Conformity Assessment Test Report (ACATR); and

Ada Conformity Assessment Certificate (ACAC), issued by the ACAL and ACAA in recognition that an Ada language processor has successfully completed conformity assessment.

The current document represents the proposal of the Ada Resource Association (ARA) that the ACAL recognize an ACAA governed by the procedures given herein. The primary goals of this proposal are as follows:

conform to the emerging International Standard; and

provide a smooth transition from the Ada Validation Program as implemented by the Ada Joint Program Office (AJPO) of the U.S. Department of Defense, to an Ada Conformity Assessment system that conforms to the emerging International Standard.

The following paragraphs summarize the proposed conformity assessment system by using the language of the emerging International Standard to describe the AJPO validation system.

Ada Conformity Assessment Test Suite

The ACAA designates the Ada Compiler Validation Capability (ACVC) as the ACATS. The ACVC is a conformity test suite (and supporting documents) developed under contract to the United States Government and made available for public use; it is designed to ensure that Ada processors achieve a high degree of conformity to the Ada language standard. (An Ada processor consists of a compiler or other translator operating in a specific hardware and software configuration.) The ACATS is customized by an ACAL for each Ada processor that is subjected to conformity assessment; customization consists of adjusting the ACATS appropriately for various implementation characteristics. The ACATS is maintained by the ACAA; new releases of the ACATS are defined by changes resulting from the discovery of deficiencies in the test programs.

For an Ada processor to successfully complete conformity assessment, it must process each test program (for the "core" language) of a customized ACATS so that the result is graded passed, inapplicable, or unsupported by ACATS grading criteria. An ACAL customizes the ACATS for a particular Ada processor by appropriately setting test parameters, by removing "withdrawn" tests (tests ruled by the ACAA to be in error) and certain inapplicable tests, by splitting as needed test files with multiple intended errors so to enable complete error detection, by using any other modified tests as directed by the ACAA, and by including each optional set of tests (see below) as requested by the client.

In addition to the specification of a "core" language, [Ada95] contains several Specialized Needs Annexes (SNAs); these specify language requirements designed to meet the particular needs of various general application domains, such as information-systems programming. A processor for [Ada95] need not include implementation of any of these annexes, or it may implement only some of the features of these annexes. Whereas all ACATS test programs for the core language must be processed during conformity assessment, those for the SNAs are processed only upon client request. A conformity assessment is judged successful (leading to the issuance of an ACAC) only if all tests for the core are correctly processed; the certificate will additionally give credit for support of a SNA to the extent that the relevant set of tests is correctly processed.

Conformity Assessment

Conformity assessment involves interaction between the ACAL client and both the ACAL and the ACAA. The assessment process consists of well defined actions which, when completed successfully, result in the award of an ACAC for the tested Ada processor. The key actions in the conformity assessment of an Ada processor are:

The client and an ACAL reach a formal agreement for conformity assessment, including the dates for the submittal of the results of client-administered processing of the ACATS and for ACAL witness testing.

The client petitions for deviation from the requirements of each ACATS test program that is believed to be wrong for the candidate implementation(s).

The ACAA rules on the client petitions.

The client processes the ACATS on the candidate processor(s) and submits the results to the ACAL.

The ACAL analyzes the results of the client’s independent processing of the ACATS. (If the results are not acceptable, the previous action must be repeated, and new results analyzed.)

The ACAL conducts witness testing of the candidate Ada processor(s), documenting this testing in an Ada Conformity Assessment Test Report (ACATR) which the ACAL submits to the ACAA for review.

The client signs a Declaration of Conformity for each candidate Ada processor.

The ACAA reviews the ACATR, with comments to the ACAL. The ACAA recommends to the ACAL that a conformity assessment certificate be issued for the tested processor(s), if the testing is successful.

The ACAL issues a conformity assessment certificate for each tested processor upon the successful completion of the preceding actions.

Hence, successful testing of an Ada processor concludes with the ACAL's awarding a conformity assessment certificate for that processor to the client. This conformity assessment certificate attests that the processor has been subjected to an Ada conformity assessment and that no evidence of non-conformity was found. The processor is said to be "certified as conforming," as described in the emerging International Standard, clause 2.1. The processor will be listed in the ARA's Certified Processors List (CPL). The client may perform maintenance on the processor and may claim conformity for such derived versions in accordance with the ACAA procedures, so long as the client ensures that they produce the same ACATS results as are documented in the ACATR. This maintenance may even include adaptive maintenance that enables the processor to run on entirely different host computers (i.e., re-hosting) or to target closely related target computers. The ACAA provides a means for listing derived processors in the CPL.

1. INTRODUCTION

This document provides operating procedures of the Ada Conformity Assessment Authority (ACAA). This body is a part of an organization that meets the requirements for assessing conformity of an Ada language processor, as given in the emerging International Standard. The other bodies making up this organization are the Ada Conformity Assessment Laboratories (ACAL), which perform the actual conformity assessments using the Ada Conformity Assessment Test Suite (ACATS). The end product of a successful conformity assessment is an Ada Conformity Assessment Certificate (ACAC), indicating that a particular Ada language processor is "certified as conforming," as defined in the emerging International Standard.

This document, in conjunction with the operating procedures of the ACALs, forms an Ada Conformity Assessment Procedure (ACAP), as defined in the emerging International Standard.

Detailed procedures regarding the application of the ACATS are given in the User's Guide.

1.1 Background

The United States Department of Defense (DoD) sponsored the development of the Ada programming language and established the Ada Joint Program Office (AJPO) as part of an effort to support recognized principles of software engineering for a wide range of applications. The AJPO established a certification system to realize the benefits of standardization which include the ability to transfer software and programming expertise between computer systems that use a conforming Ada processor. When the AJPO ceased its operation of the certification system, the Ada Validation Facilities agreed to act as ACALs under the provisions of the emerging International Standard. The Ada Resource Association, in cooperation with the Ada Joint Program Office, facilitated the identification and U.S. Government funding for a candidate ACAA and produced this document defining its operating procedures. The ACALs then agreed to designate the identified organization as the ACAA and to incorporate these procedures into the ACAP.

It is important to note the scope and intent of conformity assessment. The purpose of conformity assessment is to ensure that Ada processors achieve a high degree of conformity with the standard [Ada95]. Characteristics such as performance and suitability for a particular application are not specified by the standard, and thus are outside the scope of Ada conformity assessment. Moreover, it is important to note that the ACATS is a set of test programs intended to check broadly for correct implementation; it is not possible to exhaustively test for conformity. Thus, conformity is checked only to the extent of these tests; processors that are certified as conforming may fail to conform to the standard in ways peculiar to each, under particular circumstances.

Witness testing does not warrant that the product tested is free of nonconformities, even if all tests are passed. The practical goal of Ada conformity assessment is to identify Ada processors that may be procured and used to develop application programs that meet the [Ada95] goals of portability and interoperability.

The ACATS (test suite) is not designed to replace the client’s quality assurance testing or systematically to detect inconsistencies or "bugs", but to verify that the tested Ada processor correctly supports all required features. Rather than exhaustive testing of permutations of features, the test suite contains a carefully-chosen set of test cases that cover the required syntax and demonstrate the correct implementation of each of the applicable general rules from the standard.

Neither is conformity assessment intended as a means of performance benchmarking. The Ada Conformity Assessment Test Report (ACATR) that documents the witness testing does not contain information about the speed, cost, or efficiency of executing the conformity assessment tests.

2. GLOSSARY OF TERMS

Ada Conformity assessment: The process of checking the conformity of an Ada processor to the Ada programming language and of issuing a conformity assessment certificate for the implementation.

Ada Conformity Assessment Authority (ACAA): The organization which provides the technical and administrative oversight of Ada Conformance assessment activities.

Ada Conformity Assessment Certificate (ACAC): A certificate issued by authority of the ACAA and an ACAL for a successfully tested Ada processor (see Section 5.45.45.4).

Ada Conformity Assessment Laboratory (ACAL): An organization that is recognized by a National Body as qualified to perform Ada conformity assessments.

Ada Conformity Assessment Test Report (ACATR): A report produced by an ACAL that documents the witness testing of an Ada processor (see Section 5.45.45.4).

Ada Conformity Assessment Test Suite (ACATS): The means for testing conformity of Ada processors, consisting of the test suite, the support programs, and the User's Guide. The ACATS is also known as the Ada Compiler Validation Capability (ACVC).

Ada Conformity Assessment Test Suite Modification List (ACATS Modification List): A listing of modifications to the ACATS necessitated by flaws found in the suite. This list is periodically issued by the ACAA (see Section 4.6.1).

Ada Conformity Assessment Test Suite Version Control System (ACATS VCS): A publicly accessible program which stores the current version of the ACATS, as well as any modified tests used for conformity assessments (see Section 0).

Ada processor: An Ada compiler, translator, or interpreter, together with its host and target computer and operating systems (kernels). The processor includes all tools used in creating programs. For instance, many systems will include a linker in the Ada processor.

Ada programming language: The language defined by [Ada95].

Ada Rapporteur Group (ARG): A subgroup of ISO/IEC/JTC1/SC22/WG9, the International Organization for Standardization Working Group for Ada. Members of the ARG are appointed by the convener of the ISO working group for the purpose of resolving issues with respect to the interpretation of the Ada programming language.

Adaptive Maintenance: Maintenance performed to adapt a product to a changed environment.

Base processor type: A common compiler class in which one processor has been awarded certified status through testing by an ACAL (see Section 7.3.17.3.17.3.1).

Certified Processors List (CPL): A publicly available list of processors to which the ACAA has granted certified status. The CPL is maintained by the ACAA.

Certified status: (Also "certified as conforming") The status granted to an Ada processor by the award of an ACAC (see Section 0).

Client: An individual or corporate entity who has an agreement with an ACAL that specifies the terms and conditions for ACAL services (of any kind) to be performed. (Also used to refer to an organization that intends to make such an agreement.)

Common compiler class: A collection of processors all of which have the same binary compiler and each of which has a mode of operation in which it can produce ACATS results that are equivalent to those of each other member of the collection (see Section 7.37.37.3).

Computer system: A system containing one or more computers and associated software. [ANSI/IEEE 90] In this document, a computer system comprises the hardware and software (operating systems, kernels) that are essential to the operation of the processor or the compiled code (e.g., I/O devices are generally not included in this definition).

Configuration management: A discipline applying technical and administrative direction and surveillance to: identify and document the functional and physical characteristics of a configuration item, control changes to those characteristics, record and report change processing and implementation status, and verify compliance with specific requirements. [ANSI/IEEE 90]

Conformity: Fulfillment by a product, process or service of all requirements specified. [ISO/IEC 86] See also Subclause 1.1.3 of [Ada95].

Core language: The Sections 1-13 and Annexes A, B and J of [Ada95].

Corrective maintenance: Maintenance performed to correct faults.

Customized test suite: The ACATS tests, adjusted as necessary, that must be used for witness testing of a given Ada processor (see Section 4.34.34.3).

Declaration of Conformity: A formal statement from a client assuring that conformity is realized on the Ada processor for which conformity assessment status is requested (see Section 5.25.25.2).

Equivalence (of ACATS results): A set R of ACATS results is equivalent to a previously evaluated set of results, P, provided that (1) the ACATS used in producing R is the same as the ACATS used in producing P, with the possible exception of using different implementation-specific substitution values; and (2) application of the ACATS grading rules results satisfies all the following: (a) every test graded as passed in P is also graded as passed in R; (b) every test graded as inapplicable in P is graded as passed or inapplicable in R; and (c) every test graded as unsupported in P is graded as passed, inapplicable, or unsupported in P (see Section 7.27.27.2).

Host computer system: The computer system on which a processor is installed and executes.

Maintained processor type: A common compiler class in which the common compiler is derived (by applying corrective and perfective maintenance changes) directly from the compiler of a processor that has been awarded certified status by ACAL testing, and in which the common compiler : has a mode of operation in which it can produce ACATS results that are equivalent to those of the processor named in the ACAC (see Section 0).

Operating system: A collection of software, firmware, and hardware elements that controls the execution of computer programs and provides such services as computer resource allocation, job control, input/output control, and file management in a computer system. [ANSI/IEEE 90]

Perfective maintenance: Maintenance performed to improve performance or maintainability. [ANSI/IEEE 90]

Processor type: A collection of processors that are sufficiently closely related that the certified status of one member of the collection may be extended to the other members, provided that certain conditions are met (see Section 7.37.37.3).

Rehosted processor type: A common compiler class in which the compiler is derived directly (by applying corrective, perfective and adaptive maintenance changes) from the compiler of a processor that was awarded certified status by ACAL testing; in which the common target computer system is the same as that of the certified processor; and in which one processor has a mode of operation in which it can produce ACATS results that are equivalent to those of the certified processor (see Section 7.3.37.3.37.3.3).

Self-testing: The process of producing the results of processing an appropriately customized test suite by the client (see Section 5.25.25.2).

Software maintenance: Modification of a software product after delivery to correct faults, to improve performance, or to adapt the product to a changed environment. [ANSI/IEEE 90]

Specialized Needs Annexes: Annexes C through H of [Ada95]. These Annexes define standards for additional functionality required by specific application areas. An Ada processor may support some or none of these annexes.

Target computer system: The computer system on which the executable code generated by a processor is loaded and executes.

Test issue: (Also "dispute") Any problem arising during conformity assessment (see Section 666).

Validated: Equivalent to "certified status". The status granted to an Ada processor by the award of an ACAC (see Section 5.4). We define this equivalent term to correspond to common usage in the Ada community.

Validation Certificate: Equivalent to "Ada Conformity Assessment Certificate (ACAC)". A certificate issued by authority of the ACAA and an ACAL for a successfully tested Ada processor (see Section 5.4). We define this equivalent term to correspond to common usage in the Ada community.

3. BODIES AND RESPONSIBILITIES

This section specifies the roles of the bodies that are responsible for Ada conformity assessment of clients who receive service from them.

3.1 Ada Conformity Assessment Laboratories (ACALs)

An ACAL is a testing laboratory that is designated by a National Body for the purpose of performing Ada conformity assessment activities. The ACAL operates under an ACAP consisting of its own operating procedures and the procedures defined in this document. An ACAL performs the following principal functions:

in cooperation with other ACALs, recognizing an ACAA;

entering into a contract for conformity assessment services with a client;

evaluating the results of a client's self-testing of a candidate Ada processor, using the ACATS;

forwarding unresolved test issues to the ACAA for review and resolution;

witnessing witness testing of Ada processors;

documenting witness testing in an ACATR, forwarding the ACATR to the ACAA for review and comment, and distributing the ACATR; and

with the concurrence of the ACAA, issuing an ACAC (certificate) for each processor that was observed to successfully complete witness testing.

3.2 Ada Conformity Assessment Authority (ACAA)

The ACAA provides the technical and administrative oversight of Ada Conformance Assessment activities. The technical and administrative functions of the ACAA are carried out by a technical agent. It is established by a sponsor and is advised by an Advisory Board.

3.2.1 Sponsor

The ACAA is sponsored by the Ada Resource Association, a trade association of Ada product suppliers. The sponsor is responsible for the following:

establishing the initial Operating Procedures for the ACAA;

identifying the ACAA technical agent;

arranging for funding of the ACAA technical agent;

naming the members of the ACAA Advisory Board; and

providing an Internet site for hosting the ACATS, the on-line version of the Certified Processors List, and other conformity assessment information.

3.2.2 Technical Agent

ACAA technical agent supports and coordinates the activities of the ACALs by:

providing the members of the Advisory Board with sufficient information to keep them aware of the status of the Ada Conformity Assessment program;

advising the ACALs and the ACAA sponsor with regard to the conformity assessment procedures;

reviewing each ACATR produced by each ACAL, assessing the fulfillment of conformity assessment requirements by a client, and recommending to the ACAL that a conformity assessment certificate be issued on the successful completion of witness testing;

receiving and ruling on challenges to ACATS test programs, including withdrawing or requiring modifications to such test programs;

accepting, reviewing, and acting upon requests for registration of processors derived from processors that are certified as conforming;

providing configuration management of the ACATS;

maintaining a publicly available Conforming Processors List; and

maintaining liaison with the ARG.

3.2.3 Advisory Board

The ACAA Advisory Board represents the interests of the wider Ada community in the Ada Conformity Assessment process. Issues of policy and procedures are brought to the attention of the Board, which may make recommendations as to their resolution. Board members are appointed by the ACAA sponsor, and include (but are not limited to) the following:

the ACAA technical agent;

the technical directory of each ACAL;

the chair of the ARG;

the convener of WG9;

representatives of the sponsor;

representatives of the community of Ada users; and

other representatives of the wider Ada community.

3.3 Conformity Assessment Clients

A client is an individual or organization that contracts with an ACAL for conformity assessment services. Clients are required to provide accurate and complete information as specified in these procedures and the procedures of the ACAL.

 

4. THE ADA CONFORMITY ASSESSMENT TEST SUITE

The designated ACATS is the suite of conformity tests, support software, and documentation known as the Ada Compiler Validation Capability (ACVC). The ACVC was developed under various contracts with the United States Department of Defense. It is designed to demonstrate the conformity of an Ada processor with the standard [Ada95]. The use of the ACATS is documented in the ACVC User’s Guide, which explains the criteria for evaluating the results of the individual tests. While the ACVC was produced under contract to the United States Government, it is available to any individual or organization. The ACAA controls the content of the ACATS as it is used in conformity assessments. Questions concerning Ada conformity assessment or comments on ACATS test programs should be submitted to the ACAA (see Appendix A, Points of Contact).

4.1 Applicability of ACATS Test Programs

Each ACATS test program has one or more test objectives which are described in a comment in the test program. Some test objectives might address language features that are not required to be supported by every Ada processor (for example, "check that the proper exception is raised when Float’Machine_Overflows is True"). These test programs generally contain an explicit indication of their applicability and the expected behavior of Ada processors for which they do not apply. The determination of applicability is made according to the grading criteria in the User's Guide or in the internal test documentation, or as a ruling by the ACAA. For a processor to be certified as conforming, all applicable test programs for the core language (as defined in [Ada95]) must be processed and passed according to the specified grading criteria.

Reference [Ada95] includes certain sections designated as Specialized Needs Annexes (SNA). The set of ACATS test programs for any of the SNAs will be processed only upon client request (to demonstrate full or partial support of the Annex). As permitted by [Ada95], test programs for the SNAs may be rejected at compile time or may exhibit run-time behavior that indicates a lack of support for requirements that only apply to SNAs. The ACAA may rule that tests producing such behavior are graded as "Unsupported". If the ACAA finds that the behavior is not in accordance with the permission granted by [Ada95], then the tests are graded as "Failed". Tests graded as Unsupported are reported in the ACATR and the ACAC, but these results do not affect the designation of the processor as being certified as conforming. On the other hand, tests graded as Failed are evidence of non-conformity, precluding the issuance of an ACAC for the candidate processor.

4.2 Test Modification

The various ACALs and the ACAA strive to apply the ACATS as uniformly as practical to all Ada processors. In order to apply common test objectives that depend on implementation-dependent characteristics (e.g., line lengths and numeric types), some test programs must be adjusted to a given implementation following the procedures given in the User's Guide. These adjustments consist of the insertion of implementation-dependent values in prescribed places in certain test programs.

In addition to the anticipated test modifications, other changes may be required in order to remove conflicts between a test program and implementation-dependent characteristics (for example, the algorithm for recovering from syntax errors). The allowable changes for each Ada processor are determined by the User's Guide and the ACAA, and may require ACAL assistance — especially in the case of processor error-recovery problems.

In order to meet a test objective, it may be required to modify the code, the processing method, or the grading of a test program. Only the ACAA shall make the decision to use any of these modifications, as described below:

Code Modification: The source code of the test is changed. Examples of code modifications are the insertion of a pragma, the insertion of a representation clause, or the splitting of a B-test into several individual tests, if the processor does not detect all intended errors in the original test. (This last example is the only exception to the rule that only the ACAA shall make the decision to apply a Code Modification.) Note that code modifications may be required for all subsequent conformity assessments. These will result in the identification of a new release of the current ACATS version and an updated ACATS Modified Tests List

Processing Modification: The processing of the test by the Ada processor for conformity assessment is changed. Examples of processing modification are the change of the compilation order for a test that consists of multiple compilations and the additional compilation of a specific support unit in the library.

Grading Modification: The grading of a test result is changed. An example of a grading modification is the grading of a test other than that indicated by the output from the test program. This may be required if the test makes assumptions about implementation features that are not supported by the implementation (for example, the implementation of a file system on a bare target machine).

4.3 Customization

The ACATS is customized by the ACAL for each Ada processor that is subject to witness testing. This customization always includes making the implementation-dependent substitutions. It may also include making code modifications that the ACAA directs for that specific conformity assessment as well as removal of some inapplicable test programs as allowed by the User's Guide.

4.4 ACATS Grading

The result of processing an ACATS test program can be given only one of four possible grades: Passed, Inapplicable, Unsupported, and Failed. The first three grades are considered to constitute acceptable results. ACATS test programs that contain illegalities (which an implementation must detect) generate diagnostic output which must be inspected manually or by pattern-matching algorithms, matching system diagnostics to the intended errors. Executable ACATS test programs generate output using report procedures, which can be graded automatically. The ACATS report package, Report, contains specific output procedures for the two grades Failed and Inapplicable. If neither of these is invoked, the Report.Result procedure will report Passed or Tentatively Passed (indicating that the test has passed if manual inspection reveals that specific additional requirements are met). These results are the only ones that are generated by the test code (if no result is reported, that is, if the test completes abnormally, the result is graded Failed). The grade Unsupported is established as a means of grading tests that apply to the SNAs, as explained below.

The ACATS test programs for the SNAs pose two problems for using the three conventional grades of Passed, Inapplicable, and Failed. The broad problem is that full support of any such Annex is not required for conformity to [Ada95] — there may be no support, or merely partial support. Unfortunately, there is no way to discriminate between full and partial support if only those three grades are used, since the grades Inapplicable and Failed are not appropriate for this (an implementation is not allowed to provide deviant semantics for an unsupported Annex feature — that would be a conformity assessment failure). The second problem is that there are some test programs for Core features that are applicable also to a SNA, in particular, the test programs for representation items. These programs constitute tests for features that are defined in the Core as optional, but are mandatory for full support of the Systems Programming Annex (which itself is mandatory for full support of the Real-Time Systems Annex).

Therefore, the ACAL grades the result of processing such an ACATS test program (i.e., one that uses a feature required by, or defined in, an Annex) as Unsupported, if the prima facie result is failure but the implementation's processing of the test program is an acceptable form of non-support. For example, if a processor does not support a particular form of a representation clause, it must reject any test program that uses it — such rejection of an executable test is usually graded Failed, but is graded Unsupported if the implementation does not claim support of the relevant SNA. A processor that accepts the representation clause and reports Failed, on the other hand, is deemed to have failed the test regardless of any claim (or lack thereof) of support for the SNA.

4.5 ACATS Availability

The current baseline version of the ACATS is available to the general public from an ACAL or from an Internet site supported by the ARA. The current and any previous versions of the ACATS Modification List are available from the same sources. ACALs may assist the client in format conversion when providing the ACATS in a particular distribution medium. If a client has a need for a superseded version of the ACATS, it may be available from the ACAA or from an ACAL. See APPENDIX A for points of contact

4.5.1 ACATS Version Control System

The ACAA maintains an official ACATS web site, accessible via the Internet. The web site includes a web-accessible version control system, which contains the official version of the ACATS. Both old and new versions of tests are accessible given the test name and version label desired.

Instructions for using the ACATS version control system are available on the web page.

4.6 ACATS Configuration Management

Test challenges and ARG interpretations may reveal flaws in the ACATS. The ACAA may remove, repair, and insert tests in response to these needs. These test suite changes are listed on the Ada Conformity Assessment Test Suite Modification List (ACATS Modification List). This list is issued as needed by the ACAA, and contains information about affected tests, and how to acquire new and modified tests. The official versions of the tests (including modified and new tests) are available via the official ARA web site and other sources (see Section 4.5 ACATS Availability)

4.6.1 ACATS Modification List

New versions of the ACATS Modification List will be issued when test suite changes are needed. The list contains at least the following information:

The list's date, the baseline version, and a list of changes since the last list;

For each affected test, test name, category, new version label, and a short description of the reason for the inclusion on the list. For Allowable Modified tests, the date that the modification becomes required, and the original test's version label also are included (since it still can be used for conformity assessment); and

A summary of how to access new and modified tests.

The official version of a test always is available from the ACATS VCS. Information in the list is advisory only; in the case of a conflict between the ACATS VCS, and the list, the ACATS VCS is assumed correct.

4.6.2 ACATS Modification Categories

The ACAA may issue various kinds of test suite modifications. Each affected test has one of the following categories:

Withdrawn: The test is seriously flawed. It may have errors that cannot be corrected, or may require extensive corrections. It is removed from the test suite. Conformity assessments do not process such tests.

If a correction of a Withdrawn test is prepared, it will be treated as a new test.

Allowed Modification: The test has minor flaws. A modified version has been be posted on the ACATS VCS. The test has an effective date that specifies when the test will be moved to the Modified Category.

The effective date will always be at least three months after the posting date. A conformity assessment may choose to process the original test or the new, modified test. Test choices can be made on an individual test basis. That is, a conformity assessment may choose to process some new modified tests, while using the original tests for others

Modified: The test has minor flaws. A modified version has been posted on the ACATS VCS. Conformity assessments must process the modified test.

New: The test is newly created. It is posted on the ACATS VCS with an indication of the baseline test suite that it will be included in. New tests are not used for conformity assessment until the baseline test suite is in use. After the baseline is available, a conformity assessment must process the test. New tests will always be available at least 6 months before becoming effective. Tests with added test cases are considered New.

4.6.3 ACATS Baseline Version

The ACAA baselines the ACATS approximately once per year. When the ACATS is baselined, the original official set of files are updated with all of the changes specified in the ACATS Modification List. Allowed modification tests are not included (these have not been available long enough to include). Additionally, the documentation associated with the test suite is updated. Future versions of the ACATS Modification List are then based on the new test version.

The effective date of a baseline version will be announced at least 3 months prior to it being effective. The documentation will be available not less than 30 days prior to it being effective. Conformity assessments started after the effective date must use the new baseline test suite. (Note that the tests that make up the baseline version are known on the date that the effective date is announced, and are accessible on the web site, even before the final version of the baseline documentation is available.)

4.6.4 ACATS Tests used

The tests used for a particular conformity assessment are defined as the tests from a particular baseline version of the ACATS, modified as follows:

removing the tests categorized as Withdrawn in a specific version of the ACATS Modification List

replacing the tests categorized as Modified in the same specific version of the ACATS Modification List with the modified versions from the ACATS VCS;

optionally replacing the other tests categorized as Allowed Modification in the same specific version of the ACATS Modification List with the modified versions from the ACATS VCS;

making any modifications resulting from the ACAA's resolution of issues arising from the specific conformity assessment; and

applying the customizations described in Section 0 of this document.

Each ACATR identifies the baseline version of the ACATS, and documents all modifications made to that baseline version of the ACATS.

Most tests and support files modified for an individual conformity assessment are included in the ACATS Version Control System. Tests modified only by making implementation-dependent substitutions (typically by using a tool) will not be included. B-Tests splits allowed by section 0 will also not be included.

The files will be posted on the ACATS Version Control System before the ACATR is issued. Each conformity assessment has a unique version label, which can be used on the web site to access all of the files which differ from the baseline versions. The version label is included in the ACATR. It is intended that the information in the ACATR and the files available on the official ACATS Version Control System will allow users to reproduce the conformity assessment on their own.

5. CONFORMITY ASSESSMENT

There are a number of steps that must be completed by a client, the ACAL, and the ACAA so that the client obtains a conformity assessment certificate and an ACATR. The same ACATS version, including the application of the requirements of the ACATS Modification List, must be used to complete the steps described in this section. Step 3, Witness Testing, must begin before the current ACATS version expires or else no certificate will be issued. Anyone intending to obtain a conformity assessment certificate should contact an ACAL without delay for advice on the handling of the ACATS, on interpretation of the test grading criteria, and on the operational procedures of that ACAL.

The required steps follow:

Establishment of Agreement

Self-Test Evaluation

Witness Testing

Documentation

5.1 Establishment of Agreement

In order to obtain conformity assessment services, an interested party must become a client of an ACAL by reaching a formal agreement. This agreement addresses the following topics:

identification of the Ada processor(s) to be tested and the ACATS version to be used;

a statement of work, including self-test evaluation, witness testing, and documentation;

a schedule of events and the arrangements for witness testing;

financial arrangements;

retention of records;

ACAL liability; and

confidentiality of conformity assessment information.

The schedule for events, deliverables, and payments should take into account the fact that certain steps in the conformity assessment process require interaction with the ACAA. The ACAA and ACAL will keep confidential a client’s intent to obtain a conformity assessment certificate and the projected schedule for conformity assessment. If the client requests more restrictive confidentiality conditions for reasons of national security or procurement sensitivity, the client will provide to the ACAL an official, written statement describing the request and the reason(s) for the request; the ACAL will also obtain further guidance from the ACAA.

5.2 Self-Test Evaluation

Self-test evaluation entails a series of actions and is usually where the bulk of the conformity assessment effort is expended. These actions are described in the following subsections.

5.2.1 Client Testing

After entering into a formal agreement, the client prepares a customized test suite according to instructions in the User's Guide. The client then processes all the tests in this customized test suite using the candidate Ada processor or another Ada processor that produces the same result. If the implementation provides for options in the way programs are processed, then the same set of options must be chosen for all test programs, with the possible exception of an option controlling the production of information output. Any other exception constitutes a test issue that must be resolved with the ACAL (see Section 0). Test issues should be sent to the ACAL for analysis as soon as possible.

Self-test activities include as a minimum the processing of an appropriately customized test suite by the client, preparation of a client supplied Declaration of Conformity, and submission of any test issues.

5.2.2 Submission of Results

Upon completion of self-testing, the client delivers the complete set of results in the agreed format to the ACAL. (See Section 0 for an alternative to submission of complete results.)

Results are accompanied by the following information:

a signed Declaration of Conformity (see below) giving the complete identification of the components of the processor;

a list of test programs for which the implementation does not produce an acceptable result (see Section 0), together with a rationale for the implementation’s behavior;

a list of test programs for which the implementation produces an Inapplicable result (whether self-reporting or otherwise), together with a rationale for the implementation's behavior;

the necessary information for the ACAL to prepare the customized test suite, including tests that must be split, the implementation-dependent substitutions, and the modifications to those support units specified in the User's Guide;

the complete set of available option settings for each tool used in executing the Ada processor; and

the complete set of processor option settings actually used for processing the customized test suite, including the default settings.

The Declaration of Conformity states that the organization responsible for the production, maintenance or distribution of the Ada processor is offering a product that is in conformity with [Ada95]. The client must ensure that the information contained in the Declaration of Conformity does not infringe on the rights of a third party, and may be required to provide a written statement of consent from any third party involved. The Declaration of Conformity becomes part of the ACAL records and is copied into the ACATR. The ACAL will not issue a certificate until the ACAA has reviewed a signed Declaration of Conformity. (See Appendix C for an example of the Declaration of Conformity.)

5.2.3 ACAL Analysis and Test-Issue Resolution

The ACAL analyzes the client's submitted results of self-testing, checking that all test programs have produced acceptable results according to the ACATS evaluation criteria. During this analysis period, any test issues are resolved.

A test issue is defined to be any of the following:

a missing or incomplete result to a test program;

a result presented in an inadequate form;

a result that is not graded Passed or Inapplicable by the documented evaluation criteria (note that Unsupported grades require submission of a test issue);

a disagreement between the client and ACAL as to the interpretation of a result;

a change in the choice of options to be used during testing; and

any implementation characteristic that might affect the conformity of the implementation during testing.

A client may challenge an ACATS test program's correctness or applicability to a particular implementation. Such challenges should be presented to the ACAL in the petition format given in Appendix B. The ACAL will forward any petitions to the ACAA for resolution; the ACAA will strive to rule on the petition within two weeks of receiving it. The ACAA reports all challenges and rulings to each ACAL. However, an ACAL may not apply an ACAA ruling for one conformity assessment to another conformity assessment without the ACAA so directing. (See Section 0 for a description of the Challenge and Resolution Process.)

In some cases, it may be agreed to leave a test issue until witness testing. For example, it might be impossible to check the processing of control characters by inspecting printed results. The ACAL will note any unresolved issues and describe the results that are expected during witness testing. It is also possible that the client information for the production of the customized test suite (see Section 0) was insufficient, so that corrections to the customized test suite must be made, requiring additional processing.

5.2.4 Incomplete Self-test Evaluation

The ACAL and the client may agree that, at the client’s risk, parts of the customized test suite need not be processed during self-testing. There are two typical situations, as follows:

the client submits full test results from one processor and either certifies that another processor has identical results or submits automated difference reports showing the differences; or

the client certifies that the processor under test produces results that are identical to those from a previously submitted complete set of results evaluated by the ACAL (and still in the possession of the ACAL) or submits automated difference reports showing any differences.

The normal practice is to submit complete self-testing results for at least one of the implementations under test.

5.2.5 Successful Self-testing

Self-testing is successful if the analysis of results and the resolution of test issues show that all results are provided and are acceptable. Self-testing is successful with caveats if the results are satisfactory except that they were incomplete or if resolution of some test issues is deferred until witness testing by agreement between the ACAL and the client.

5.3 Witness Testing

Upon successful completion of self-testing, with or without caveats, the ACAL witnesses testing of the Ada processor in accordance with the formal agreement between the ACAL and client. The ACAL supplies a customized test suite that it has prepared based upon client information and any information collected during the resolution of test issues. The ACAL verifies that the processor identification, including identification of the compiler, hardware systems, and operating systems, matches that given in the Declaration of Conformity. (If it does not agree, then the client must provide a new Declaration of Conformity.)

The ACAL observes the installation of the customized ACATS on the host computer system, monitors the processing of the customized ACATS on the host and target computer systems, and evaluates the results.

If the ACAL determines that the results agree with those obtained from self-testing and are satisfactory with respect to the caveats, the witness testing has been successful; otherwise, the test is unsuccessful. If any result of testing with a set of test programs for a SNA is unacceptable, no documentation of the conformity assessment will recognize that the set was processed.

5.4 Documentation

Each conformity assessment effort is documented by an ACATR, and each successful effort is further documented by an ACAC.

5.4.1 The Ada Conformity Assessment Test Report

An ACATR is produced for each processor subjected to witness testing. Each ACATR contains, at a minimum, the following information:

Name and address of the ACAL;

Location and date of witness testing;

Identification of the test report by serial number, date, or other appropriate means;

Identification of any certificate awarded as a result of the conformity assessment;

Name and address of the client (and certificate awardee, if different);

Date, system, version, and release of the processor being tested;

Complete description of the processor including name, model, and version of the hardware and software used during the test, and identification of any processing options used;

Identification of the specific ACATS version used in witness testing, including the conformity assessment’s ACATS VCS version label;

All modifications to the test suite as used in witness testing, including rationales;

Any deviations from, additions to, or exclusions from the test procedures, and any other information relevant to a specific test, including inapplicable tests and the rationale for inapplicability;

A statement to the effect that the test report relates only to the specific processor that was tested;

A statement to the effect that the report shall not be reproduced except in full, without the written approval of the ACAL; and

Detailed descriptions of any test results revealing non-conformities.

5.4.1.1 ACATR Production

The ACATR is prepared by the ACAL but includes material that is produced by the client, such as the documented processor options used during witness testing. A draft version of the ACATR, based on results and circumstances implied by the evaluation of self-testing results, is sent to the ACAA for review. The draft version is also submitted to the client for review during witness testing, and is updated to account for client comments and observations made during witness testing. For a successful conformity assessment, the final version of the ACATR is signed by the ACAL and the ACAA. For an unsuccessful conformity assessment, the final ACATR is provided to the client only.

5.4.1.2 ACATR Availability

The final version of the ACATR for a successful conformity assessment is available to the general public from the client and from the ACAL that produced it. The ACAL may require payment of a fee for ACATR reproduction and delivery. (See Appendix A for points of contact.) By including an appropriate request on the Declaration of Conformity (Appendix C), the client may disallow public availability to the ACATR.

5.4.2 The Ada Conformity Assessment Certificate

With the concurrence of the ACAA, the ACAL issues an Ada Conformity Assessment Certificate (ACAC) for each processor that was subject to successful witness testing. The information on the certificate is derived from the client's Declaration of Conformity and the ACATR. The ACAC conveys to the processor the status of certified as conforming, as defined in the emerging International Standard. An entry is made in the CPL for each ACAC.

The ACAC contains the following information:

Name and address of the ACAL;

Name and address of the organization receiving the certificate;

Unique certificate number;

Date of issuance;

Date of expiration (usually 24 months after the date of issuance);

Complete identification of the tested processor;

Identification of the ACATR on which the certificate is based.

Identification of the language standard against which conformity was tested;

Identification of the test suite used in the assessment;

The number of test programs graded Passed, Inapplicable, or Unsupported for each SNA that was tested;

A statement of restriction of applicability to the specific processor tested; and

Signatures and titles of the ACAL and ACAA representatives authorized to sign certificates.

Note that an ACAC attests that testing was performed on a specific processor using a specific test suite running on a specific host computer system, following the Ada Conformity Assessment Procedure, and that no evidence of non-conformity was detected. It does not certify that the processor is free of defects, nor does it certify that the processor is usable for any particular purpose.

ACACs expire two years after issuance. When a ACAC expires, the corresponding entry in the CPL is removed, along with any entries for derived processors (see section 0). Certificates expire in order to encourage periodic retesting of processors, which insures that they continue to meet the requirements of conformity assessment.

5.5 Use of Obsolete ACATS Versions

For some special procurement requirements, a client might wish to have witness testing done with an obsolete version of the ACATS. The ACAP does not include any procedures for recognizing testing with obsolete test suite versions, but the ACALs may provide such a service outside the system. Ada Conformity Assessment Certificates will not be issued for testing with obsolete test suites, nor will CPL entries be created based on such testing.

5.6 Retention of Records

The ACAA retains a copy of each ACATR (which includes a copy of the Declaration of Conformity and the ACAC), records pertaining to issues and their resolution, and a copy of each registration request. The ACAL retains a copy of each ACATR, a copy of the customized ACATS used in witness testing, and a copy of the witness testing results. The ACAA retains its records until at least one year following expiration of the ACATS version used in testing. Each ACAL's procedures specify the length of time that its records are retained.

5.7 Advertising Status

The client must agree not to advertise or make public claims that the Ada processor is certified as conforming until after receiving the ACAC or receiving formal notification from the ACAL that it has issued an ACAC. A waiver of confidentiality must be signed by a client who intends to advertise the completion of events that indicate progress toward completion of conformity assessment. If a waiver of confidentiality has been signed with the ACAL, the ACAL will respond to inquiries about the client’s advertisements or public claims by acknowledging receipt of conformity assessment materials (i.e., a formal agreement, self-testing results, or witness testing results) without judgment concerning the success of the witness testing.

6. TEST CHALLENGE AND RESOLUTION PROCESS

This section presents the process whereby tests may be challenged, possibly resulting in their modification or withdrawal.

6.1 Introduction

A "deviation" is defined by the User's Guide as any result from processing an ACATS test program that is not a passed or inapplicable result according to the established grading criteria. This intentionally broad definition of a "deviation" is intended to ensure that processor implementers bring all deviant test results to the attention of the ACAA or ACAL, without assuming that such results are acceptable. In petitioning for acceptance of a deviation, the petitioner provides a rationale for each challenge made against a test program. Petitions are sent to the ACAA, usually electronically, by the petitioner or by an ACAL on behalf of its client. For each deviation that is accepted (i.e., when the ACAA rules in favor of the petition), generally some correction is indicated for the cited tests. The ACAA may withdraw a test program or require that a modified version of the test be processed0. Withdrawal of a test program or the provision of a modified version of a test results in the release of a new version of the ACATS Modification List.

6.2 Expedited Resolution Process

The ACAA typically resolves challenges by any of three methods:

a resolution that was made previously is applied to the current petition (e.g., the same petition might be submitted at different times by different petitioners);

the resolution can be determined unequivocally based on the Ada standard or Ada Commentaries; or

the resolution is based on the deliberations of a body of Ada experts.

Although these procedures do not set a limit on the length of time for reaching a resolution, the ACAA attempts to rule on petitions within two weeks. The ACAA also attempts to place priority on ruling on petitions from ACAL clients who have a firmly scheduled date for witness testing. Clients should submit challenges well in advance of a scheduled witness testing date (see Section 5.15.15.1).

On receipt of a petition, the ACAA checks whether the issue matches any that had been previously resolved. If the challenge is new, it is given an initial ACAA analysis which involves research using the Ada Commentaries in conjunction with the Ada standard and references to previous deliberations. Often the ACAA consults Ada experts in order to resolve a petition. The identity of the petitioner is not disclosed. Resolution of a petition is made by the ACAA, and all ACALs are informed of the resolution.

6.3 Extended Resolution Process

When a challenge raises an issue of such complexity that it cannot be resolved through the expedited resolution process, the ACAA forwards the challenge to the ARG for resolution. It is not anticipated that the ARG will resolve the issue in time for the conformity assessment giving rise to it. Therefore, tests subject to the extended resolution process will be withdrawn. When the ARG reaches a resolution of the issue, the test may be restored as a new test (making it effective at the next baseline date -- see Section 4.6.2).

6.4 Types of Resolutions

The resolution of a petition is either an acceptance or rejection of the petitioner’s arguments. Acceptance can result in withdrawal of the test program from the ACATS, or a modification for conformity assessment. A test issue may lead to the withdrawal of a test program if the test is shown to be incorrect to a degree that wrongly influences implementation. If the challenge shows the affected test program(s) to be incorrect in only a minor, limited degree, generally the ACAA will direct that the test(s) be processed with a test modification.

There are three types of test modification: Code, Processing, and Grading modifications.

A Code Modification is an actual change to the code of the test (e.g., adding a choice to an exception handler).

A Processing Modification is a change to the way in which the test is processed (e.g., re-ordering the compilation of component files of a multiple compilation test).

A Grading Modification is simply the grading of the observed results by other than the established grading criteria (e.g., interpreting particular intermediate output and a final "failed" result as "passed" or "inapplicable", according to an understanding of the test issue).

All test modifications are documented in the ACATR.

6.5 Summary

There is no limit on the number of test programs that can be challenged by a petitioner. Although there is a risk that a petition will not be decided in a conformity assessment client’s favor, early submission of petitions can reduce that risk. Any interested party may challenge an ACATS test program.

7. EXTENSIBILITY OF CONFORMITY ASSESSMENT

As permitted by the emerging International Standard, the ACAC provides a mechanism for type approval; that is, for extending the certified status of a tested processor to a processor type (a set of processors that are closely related to the tested processor). This section describes this type approval mechanism.

7.1 Processor Types

An Ada compiler is typically designed to be used on any member of a set of host and target computer-system pairs; furthermore, a compiler is usually provided with different modes of operation (also known as "options" or "switch settings"). In witness testing, a compiler is tested under one mode of operation on a particular host-target pair. Thus, the testing may be viewed as type testing, as defined in the emerging International Standard. That is, the particular processor that is tested may be viewed as representing a processor type, consisting of a particular (binary) compiler and any host-target pair on which it operates and produces equivalent ACATS results. The ACAC may extend the "certified conforming" status to the entire set of processors comprising this type. If the client clearly identifies this set during the conformity assessment, the ACAC will include this identification.

Moreover, the certified status granted to the type specified in the ACAC may be extended to a set of processors in which the (common) compiler is a maintained version of the compiler of the tested processor (operating on the same host-target pair). Still further, the status may be extended to processors in which the host system is different.

7.2 Equivalence of ACATS Results

The conditions for extending the certified status of a processor require that the candidate processor be capable of producing ACATS results that are equivalent to those produced by the certified processor. In this context, equivalent ACATS results are results satisfying the following conditions:

The customized ACATS used in testing the candidate is a modified version of that used in witness testing the certified processor. The modification may consist of providing different implementation specific substitution values. Any other modifications must be approved by the ACAA.

For every test that was graded as passed by the certified processor, the candidate processor's result may be graded as passed according to the ACATS grading rules.

For every test that was graded as inapplicable for the certified processor, the candidate processor's result may be graded as either passed or inapplicable according to the ACATS grading rules.

For every test that was graded as unsupported for the certified processor, the candidate processor's result may be graded as either passed, inapplicable or unsupported according to the ACATS grading rules.

Any deviation from the above requirements must be approved by the ACAA.

7.3 Definition of Processor Type

The tested processor may be viewed as representative of several processor types. These types are categorized and defined in the following subsections. First, however, we present a concept used in each of the processor type definitions.

A common compiler class rooted at a particular processor (the "root" processor) consists of a collection of processors each of which has the same binary compiler as the root processor and each of which has a mode of operation in which it can produce ACATS results that are equivalent to those of the root processor.

7.3.1 Base Processor Type

A base processor type is a common compiler class rooted at a processor that has achieved certified status through a complete conformity assessment (including witness testing).

7.3.2 Maintained Processor Type

A maintained processor type is a common compiler class that satisfies the following conditions:

the root processor's compiler is derived (by applying corrective and perfective maintenance changes) from the compiler of a processor that is named in an ACAC; and

the root processor has a mode of operation in which it can produce ACATS results that are equivalent to those of the processor named in the ACAC.

The restriction of maintenance changes to corrective and perfective maintenance implies that the root processor must have the same host-target pair as the processor named in the ACAC.

7.3.3 Rehosted Processor Type

A rehosted processor type is a common compiler class that satisfies the following conditions:

the root processor's compiler is derived directly (by applying corrective, perfective and adaptive maintenance changes) from the compiler of a processor that is named in an ACAC;

the root processor's target computer system is the same as that of the processor named in the ACAC; and

the root processor has a mode of operation in which it can produce ACATS results that are equivalent to those of the processor named in the ACAC.

Adaptive maintenance may include limited changes to enable the compiler to operate on a different host system from that of the processor named in the ACAC.

7.4 Requirements for Type Approval

A client may request type approval for one or more Ada processor types by submitting an ACATR Supplement (see Appendix D) to the ACAA. On approval, the ACAA will provide copies of the Supplement to the client and the ACAL that performed the original conformity assessment, and will create CPL entries identifying the processor type as certified by type approval.

For ACAA type approval, the client must certify that a representative of the type was tested using the customized ACATS (perhaps modified) that was used in the original conformity assessment. (Note that, for a base processor type, the ACAL performs the required testing.)

7.4.1 The ACATR Supplement

The purpose of the ACATR Supplement is to document the extension of certified status to one or more processor types. The Supplement contains the following information:

identification of the client;

identification of the ACAC and ACATR that document the conformity assessment of the reference processor from which the processor classes are derived;

signature of the ACAA (upon approval);

the following type-specific information for each processor type submitted for approval:

identification of the (common) compiler;

the category of the processor type (base, maintained, or rehosted);

complete description of the host and target computer systems that, together with the common compiler, make up the processors of the type;

certification that a specifically identified representative processor of the type was tested using the (perhaps modified) customized ACATS used in testing the reference compiler;

certification that the representative processor meets the definition of a maintained or rehosted processor;

any differences between the customized ACATS used in testing the representative processor as compared to that used in testing the reference processor, with an explanation of each;

any differences in the results of testing as compared to the results produced by the reference processor, with an explanation of each; and

a brief description of the maintenance changes.

7.4.2 Base Processor Type Approval

Type approval for a base processor type may be requested during the conformity assessment by submitting the type-specific portion of the ACATR Supplement to the ACAL. The ACAL will forward the information to the ACAA; upon approval, the ACAL will incorporate the information into the final ACATR and the ACAC.

7.4.3 Maintained Processor Type Approval

Type approval for a base processor type can be extended to cover a maintained processor type without submitting an ACATR supplement. This allows a client to claim certified status for a maintained processor type without the paperwork and wait for approval of the supplement.

In order to extend certified status to a maintained processor, the processor must

meet the definition of maintained processor (see section 7.4.37.3.2); and

produce equivalent ACATS results when tested on the same or substantially similar computer system as the system used in the witness testing of the base processor.

Maintained processors to which certified status is extended in this manner are not listed in the CPL. If a client wishes to obtain an CPL listing for a maintained processor, they must submit an ACATR supplement.

 

 

 

 

 

 

APPENDIX A

POINTS OF CONTACT

Ada Resource Association

Oliver Cole, Secretary

Ada Resource Association

9990 Lee Highway, Suite 270

Fairfax, VA 22030

(703) 359-8160

Ada Conformity Assessment Laboratories

Phil Brashear

EDS Conformance Testing Center

4646 Needmore Road, Bin #46

P.O. Box 24593

Dayton, OH 45424-0593

U.S.A.

Tel: 937-237-4510

FAX: 937-237-4660

Email: brashp@dysmailpo.deisoh.msd.eds.com

URL: http://eds-conform.com

Michael TonndorfIABG Dept. IS-O Operations/QMEinsteinstr. 20D-85521 0ttobrunnGermanyTel: +49-89-6088-2477

Fax: +49-89-6088-3418Email: tonndorf@iabg.de

URL: http://www.iabg.de/ada/master.htm

Ada Conformity Assessment Authority

Randall Brukardt

ACAA

P.O. Box 1512

Madison, WI 53701

Tel: 608-245-0375FAX: 608-245-0379

Email: RBrukardt@bix.com

 

 

Ada Rapporteur Group (ISO/IEC JTC1/SC22 WG9/ARG)

Dr. Erhard Ploedereder University of StuttgartInstitute for Computer ScienceBreitwiesenstr. 20-22D-70565 StuttgartGermanyTel: +49 +711 7816-322Fax: +49 +711 7816-380Email: ploedere@informatik.uni-stuttgart.de

Ada Processor Conformity Assessment Test Suite (ACATS)

The ACATS is available to the general public from an ACAL; it is also available from the ARA Internet site or via anonymous ftp.

URL: http://adaic.com

FTP: adaic.com,

In either case, look for "compilers" and "ACATS."

Questions concerning Ada conformity assessment or comments on ACATS test programs should be sent to the ACAA (see above).

 

 

 

 

 

 

APPENDIX B

TEST ISSUE FORMAT

[Part A]

Petitioner: <client name>

Configuration: <host / target hardware and operating systems>

ACATS Version: <ACATS version number>

Self-Test Submittal Date: <due date for self-testing results>

Part A will be completed once by each client; part B will be completed for each test issue. It is not necessary for a self-testing submittal date to have been established. Part A information is treated as confidential.

 

[Part B]

Reference: <test name (,test name)>

Summary: <brief description of the test issue>

Discussion: <detailed description of the test issue>

In this Discussion, arguments should be specified using test line numbers and references to pertinent sections of the Ada standard or Commentaries (AI-xxxx). The petitioner must describe the behavior of the implementation for the test or tests that are challenged, stating the particular test messages that are produced. It is sufficient for the detailed description to be limited to the particular segment of test code that is challenged. Relevant source code with processor messages should be included. (For a group of tests that cause essentially the same behavior, it is sufficient for a detailed description to be given for one of them, with the relevant line numbers given for the like problems in the related tests.)

If the argument depends upon implementation constraints of hardware or software (e.g., characteristics of the operating system), then these should be specified; the particular computer and operating system should be identified in the Discussion. It is especially important that implementations that fail to pass some test due to capacity limitations be described in enough detail for the ACAA to assess the reasonableness of these limitations.

Failure to fully specify the points pertinent to a test issue might result in an adverse decision being made, with the petitioner having to further argue the case with a second submittal to the ACAA. It is also possible that the Summary will suffice to adequately present a test issue.

 

 

 

 

 

APPENDIX C

DECLARATION OF CONFORMITY

Declaration of Conformity

Identification

Client: <client organization name>

Certificate Awardee: <if different from client>

ACAL: <name of Ada Conformity Assessment Laboratory >

ACATS Version: <version number of ACATS>

Ada Processor

Compiler: <name and version number of Ada compiler>

Host Computer System: <host hardware and operating system>

Target Computer System: <target hardware and operating system>

Declaration:

I, the undersigned, representing the Client, declare that the Client knows of no deliberate deviations from the Ada language standard (ANSI/ISO/IEC 8652:1995) in the Ada processor above. <The next sentence should normally be deleted.> The Conformity Assessment Test Report associated with this effort is not to be made public without Client permission.

 

 

________________________________________ ________________

<Name> Date

<Title>

<Client Organization>

<Omit the remainder if the certificate awardee is the client>

Declaration:

I, the undersigned, representing the Certificate Awardee, declare that the Certificate Awardee knows of no deliberate deviations from the Ada language standard (ANSI/ISO/IEC 8652:1995) in the Ada processor above.

 

 

_______________________________________ ________________

<Name> Date

<Title>

<Organization>

 

 

 

 

 

 

APPENDIX D

ACATR SUPPLEMENT FORMAT

Supplement to ACATR <Reference ACATR number>

<Submittal Date>

<name of client organization> (the client) hereby requests that the Ada Conformity Assessment Authority (ACAA) extend the certified status documented in the above-referenced Ada Conformity Assessment Test Report (ACATR) and in Ada Conformity Assessment Certificate (ACAC) <Reference ACAC number> to the processor types described in the following pages.

 

 

 

 

 

Approval: ________________________________ ________________

{name} Date

Ada Conformity Assessment Authority

 

Processor Type Information

<Complete the remaining pages for each processor type>

Processor Type Category: <Base, Maintenance, or Rehosted>

Compiler Identification: <Name, Version, and Release identification>

Host Systems: <Description of host computer models and operating systems. Ranges may be used.>

Target Systems: <Describe as above or use "Same as host" or "Any host">

Representative Processor Tested:

Host System: <Identification of specific host system (hardware and operating system) of tested processor>

Target System: <Identification of specific target system (hardware and operating system) of tested processor. "Same as host" is acceptable.>

Client Certification of Testing and Processor Derivation:

I, the undersigned, representing the client, certify that the above identified representative processor was tested with the customized ACATS that was used in the conformity assessment leading to the certificate named in this Supplement, with modifications described in this Supplement, and that the testing results were the same as those obtained in that conformity assessment, with exceptions as described in this Supplement. I further certify that the above identified representative processor meets the definition of maintained or rehosted processor (as described in the Operating Procedures for Ada Conformity Assessment).

 

________________________________ ________________

<Name> Date

<Client>

<For maintenance and rehosted processor types>

Maintenance Changes:

<Include a brief description of the significant changes in the compiler in deriving it from the compiler named in the ACAC. Include the type of maintenance (Corrective, Perfective, or Adaptive) for each change noted.>

ACATS Modifications:

<Describe each change in the ACATS used in testing the reference processor, as compared to the customized ACATS used in testing the processor named in the certificate. Justification is required for any change other than the use of different implementation-dependent substitution values.>

Test Results Differences:

<Describe and justify each difference between test results produced in testing the reference processor as compared to those produced in testing the processor named in the certificate.>

 

 

 

 

 

APPENDIX E

ACRONYMS

This document contains a number of acronyms, whose meanings are given in the following list:

ACAA

Ada Conformity Assessment Authority

ACAL

Ada Conformity Assessment Laboratory

ACATR

Ada Conformity Assessment Test Report

ACATS

Ada Conformity Assessment Test Suite

AJPO

Ada Joint Program Office

ANSI

American National Standards Institute

ARA

Ada Resource Association

ARG

Ada Rapporteur Group

CPL

Certified Processor List

DoC

Declaration of Conformity

DoD

Department of Defense

IEEE

Institute of Electrical and Electronic Engineers

ISO

International Organization for Standardization

SNA

Specialized Needs Annex

WG9

Working Group 9 (of ISO/IEC JTC1/SC22)

 

 

 

 

 

APPENDIX F

REFERENCES

 

The following publications are referenced in this document:

[Ada95] ANSI/ISO/IEC 8652:1995 Ada 95 Reference Manual, January 1995 (supersedes [Ada83]).

[Ada83] American National Standards Institute and United States Department of Defense: ANSI/MIL-STD-1815A Reference Manual for The Ada Programming Language, 1983 Note: This standard is identical with ISO/8652:1987.

[ANSI/IEEE 90] American National Standards Institute / Institute of Electrical and Electronic Engineers, Inc., Standard 610.12-1990; "ANSI/IEEE Standard Glossary of Software Engineering Terminology".

[ISO 74] International Standards Organization: ISO 2382/I-1974 Data Processing - Vocabulary - Section 01: Fundamental Terms.

[ISO/IEC 91] International Standards Organization: ISO/IEC, Guide 2, 6th edition 1991 - General Terms and Their Definitions Concerning Standardization and Related Activities.