OVERVIEW Last modified: 15 May 1998 (Installed new modified test versions) This directory and its subdirectories contain Version 2.1 of the Ada Compiler Validation Capability (ACVC 2.1). The ACVC is the official test suite for validation of Ada compilation and execution systems, and is sponsored by the Ada Joint Program Office (AJPO). ACVC 2.1 is delivered in two forms: Unix "tar" format and DOS "zip" format. A description of the contents of this directory and its subdirectories is given in the CONTENTS section, below. Suggestions on how to extract the ACVC files from the compressed files are given in the EXTRACTION section. The remainder of this document is divided into seven sections, as follows: Requirements: Conditions for earning a Validation Certificate under ACVC 2.1 History: A brief sketch of the evolution of ACVC 2.1 Contents: A description of the distribution structure Extraction: Brief instructions on decompressing the ACVC files Documentation: Pointers to the documents governing the use of the ACVC Caveats: Warnings and disclaimers Contacts: Points of contact REQUIREMENTS ACVC 2.1 has been the only version of the ACVC used for certification since July 6, 1997. (Superseded versions may be used to meet specific program requirements. The AJPO will provide a letter affirming the testing of an implementation by an Ada Validation Facility, but no formal certificate will be issued.) The rules for certification with ACVC 2.1 require that all tests in the "core" language (Sections 2-13 and Annexes A, B of the Ada standard) be satisfactorily processed. Implementers may request processing of tests for one or more of the Specialized Needs Annexes (Annexes C through H). The certificate will present a table of Specialized Needs Annex testing results, reporting the number of tests per Annex that were graded as Passed, Inapplicable, Unsupported, or Withdrawn. In addition, there are some tests for Section 13 that may be routinely declared inapplicable for implementations not claiming support for Annex C (Real-Time Systems), but must be satisfactorily processed for implementations that do claim support for this Annex. The results of these tests will also be reported in the Annex results table. (See the User's Guide for a list of these tests; see the Validation Procedures document for more details.) Further details on requirements for certification with ACVC 2.1 may be found in the Validation Procedures document (see DOCUMENTATION below). HISTORY ACVC 2.1 is an upgrade of ACVC 2.0.1. Numerous tests have been added, and tests found to be incorrect or otherwise flawed have been corrected or removed. ACVC 2.1 was developed by Science Applications International Corporation and was delivered to the National Institute of Standards and Technology (NIST) in December 1996. Following this delivery, the NIST recognized the need for further improvements and directed changes and additional testing. These changes were accomplished by CTA INCORPORATED, which delivered the final ACVC 2.1 to the NIST on 21 March 1997. In April of 1997, the NIST returned the responsibility for the Ada certification system, including the ACVC, to the AJPO. ACVC 2.1 is occasionally modified by AVO issuance of lists of withdrawn and modified tests. Withdrawn tests are not used in validation testing. Some test modifications are required, while others are allowed without question. The ACVC maintainers provide copies of modified tests, as described in the CONTENTS section below. CONTENTS This directory contains six text files, two compressed archive files, and two subdirectories, as follows: README This file withdrawn*.txt The official list of tests withdrawn from ACVC 2.1, as issued by the Ada Validation Organization. ('*' is replaced by the date of issue.) modified*.txt A description of ACVC 2.1 test modifications that are allowed or required by the Ada Validation Organization. ('*'is replaced by the date of issue.) MULNAMES.TXT A list of the files containing the main subprograms for the legacy multiple-file tests acvc2_1.lst A list of all the ACVC 2.1 files except for the documentation files ug.txt The ASCII form of the ACVC 2.1 User's Guide modified*.zip The modified test files according to the current list of modifications, in "zip" format modified*.tar.Z The modified test files according to the current list of modifications (dated '*', in Unix compressed tar form acvc2_1_tar A directory containing two Unix tar files that have been compressed with the Unix compress utility acvc2_1_zip A directory containing ten archives created with the "zip" utility The directory acvc2_1_tar contains the following files, both of which are tar files compressed with the Unix compress utility: acvc2_1.tar.Z. This compressed file contains all the original ACVC 2.1 files. mods*.tar.Z (Where * is replaced by the date of issue.) This compressed file contains the withdrawn tests list, the modified tests list, and a directory "mods*" (where '*' is replaced by the issue date). The "mods*" directory contains the modified tests, as directed by the AVO. Decompression produces two subdirectories in the "mods*" directory, called "allowed" and "required". These names indicate the AVO's direction on the applicability of the modifications. The directory acvc2_1_zip contains the following zip archives: mods*.zip (Where * is replaced by the date of issue.) This "zip" archive contains the withdrawn tests list, the modified tests list, and a directory "mods*" (where '*' is replaced by the issue date). The "mods*" directory contains the modified tests, as directed by the AVO. Extraction produces two subdirectories in the "mods*" directory, called "allowed" and "required". These names indicate the AVO's direction on the applicability of the modifications. a-d-e-l.zip All the class A, class D, class E, and class L tests b2-b7.zip All the class B tests for sections 2-7 of the standard b8-bxh.zip All the class B tests for the remaining sections c2-c4.zip All the class C tests for sections 2-4 of the standard c5-c9.zip All the class C tests for sections 5-9 of the standard ca-ce.zip All the class C tests for sections 10-13 of the standard cxa-cz.zip All the class C tests for the remaining sections support.zip All the support files, including the foundation (F*) files docs.zip The ACVC 2.1 documentation files When either the two tar files or the ten zip archives are decompressed, the following directory structure will be created. Indentation is meant to show the directory nesting structure. [current] Working directory in which the files are extracted acvc2_1 Top-level directory for ACVC 2.1 README (file) Copy of this README file modified*.txt (file) List of modified tests withdrawn*.txt (file) List of withdrawn tests mods* Modified tests ('*' is replaced by the issue date) allowed Tests with modifications that are allowed, but not required required Tests with modifications that are required for validation a Class A tests b2 Class B tests for Section 2 b3 Class B tests for Section 3 b4 Class B tests for Section 4 b5 Class B tests for Section 5 b6 Class B tests for Section 6 b7 Class B tests for Section 7 b8 Class B tests for Section 8 b9 Class B tests for Section 9 ba Class B tests for Section 10 bb Class B tests for Section 11 bc Class B tests for Section 12 bd Class B tests for Section 13 be Class B tests for Section 14 of the prior standard (I/O) bxa Class B tests for Annex A bxb Class B tests for Annex B bxc Class B tests for Annex C bxd Class B tests for Annex D bxe Class B tests for Annex E bxf Class B tests for Annex F bxg Class B tests for Annex G bxh Class B tests for Annex H c2 Class C tests for Section 2 c3 Class C tests for Section 3 c4 Class C tests for Section 4 c5 Class C tests for Section 5 c6 Class C tests for Section 6 c7 Class C tests for Section 7 c8 Class C tests for Section 8 c9 Class C tests for Section 9 ca Class C tests for Section 10 cb Class C tests for Section 11 cc Class C tests for Section 12 cd Class C tests for Section 13 ce Class C tests for Section 14 of the prior standard (I/O) cxa Class C tests for Annex A cxb Class C tests for Annex B cxc Class C tests for Annex C cxd Class C tests for Annex D cxe Class C tests for Annex E cxf Class C tests for Annex F cxg Class C tests for Annex G cxh Class C tests for Annex H cz Special preliminary class C tests d All class D tests e All class E tests l All class L tests for the core lxd All class L tests for Annex D lxe All class L tests for Annex E lxh All class L tests for Annex H support All support units, including the foundation (F*) files docs The documentation for ACVC 2.1 EXTRACTION To extract the ACVC 2.1 files, placing them in the above directory structure, follow the instruction set appropriate to the archive format you choose. Note that these are general instructions; your system may have different requirements. TAR Download the compressed tar file (acvc2_1.tar.Z) from the acvc2_1_tar directory. Put this file in the directory in which you wish to create the acvc2_1 directory. Give the Unix command uncompress acvc2_1.tar (or uncompress acvc2_1.tar.Z) This will create the uncompressed tar file acvc2_1.tar. Extract the files by giving the Unix command tar -xvf acvc2_1.tar ZIP Use the widely available info-zip (unzip) utility to decompress the archive files. Versions of this utility for many popular operating systems, including DOS, are available by anonymous FTP to ftp.uu.net directory /pub/archiving/zip Note that the GNU compression utility, gzip, is not compatible with this format. Download the ten archives from the acvc2_1-zip directory. Put these files in the directory in which you wish to create the acvc2_1 directory. Give the command unzip [filename] or unzip -a [filename] for each of the ten archives. This will extract the files into the above- described directory structure. Note: The".zip" files were compressed on a Unix platform, where the line terminator is the control-J character (ASCII 10). If you are unzipping the files on a system that uses some other line terminator (including DOS, which uses the sequence control-J control-M), then you should use the -a option to properly convert the line terminators. DOCUMENTATION The "docs" subdirectory contains the following files: coverage An ASCII file that lists the paragraphs of the standard and lists the tests that cover each paragraph rel_note.doc The Microsoft Word form of the Release Notes file rel_note.ps The PostScript form of the Release Notes file rel_note.txt The ASCII form of the Release Notes file tod.asc An ASCII file containing the test objectives as stated within the test files themselves ug.txt The ASCII form of the complete User's Guide ug_body.ps The PostScript form of the body of the User's Guide ug_app.ps The PostScript form of the User's Guide appendices ug_body.doc The Microsoft Word form of the User's Guide body ug_app.doc The Microsoft Word form of the User's Guide appendices Use of ACVC 2.1 for validation is partially described in the User's Guide. The official policy and procedures regarding certification of Ada compilation and execution systems are described in the document Ada Compiler Validation Procedures, Version 5.0, published by the AJPO. This document is available via anonymous FTP at sw-eng.falls-church.va.us (Look in the directory public/adaic/compilers/val-proc) or via the World-Wide Web at URL http://sw-eng.falls-church.va.us/adaic (Look under the "Compilers and Validation" heading.) CAVEATS All the source code files in this version of the ACVC have been submitted to multiple compilation systems for testing. In several cases, no available compiler correctly processed the test. This is to be expected when developing a conformance test suite, since implementer conformance testing often exposes compiler errors that had not yet been detected. On the other hand, there remains the very real possibility that one or more tests will be found to be incorrect. When this occurs, the offending tests will be withdrawn and the AJPO will issue a list of withdrawn tests. The following tests were changed after the initial delivery of ACVC 2.1, but no available compilation/execution system was capable of fully processing the tests. The lacking facilities are identified. CD30005 Lack of implementation-specific information about the address of the foreign (C) code CXB5004 Lack of a compatible Fortran compiler CXB5005 Lack of a compatible Fortran compiler In each of these cases, the Ada code was submitted to multiple compilers with acceptable compilation results. In addition, the foreign code was submitted to a compiler for the appropriate language, with acceptable compilation results. It was not possible to link and execute the tests. Discussion of numeric issues among consulting experts led to the modification of several Annex G (Numerics) tests. The principal author of this annex recommended that no tests of trigonometric and inverse trigonometric give explicit Cycle parameter values that are multiples of Pi. The relevant tests were modified by "commenting out" such checks, using the special comment marker "-- pwb-math". If further discussion of these tests results in a recommendation that these checks be restored, these comment markers may be removed in a future ACVC version. The tests thus modified are listed below: CXG2004 CXG2006 CXG2007 CXG2013 CXG2015 CONTACTS For procedural and policy questions regarding ACVC 2.1 and its use, contact Mr. Gary Shupe at the Ada Joint Program Office: Mr. Gary Shupe Ada Joint Program Office, Code JEXA Defense Information Systems Agency 5600 Columbia Pike Falls Church, VA 22041 U.S.A. Telephone (703) 681-2462 FAX (703) 681-2869 e-mail shupeg@ncr.disa.mil For technical questions and specific test issues, send e-mail to the Ada Validation Organization: avo@sw-eng.falls-church.va.us To request or inquire about validation services, contact one of the Ada Validation Facilities (AVFs). Contact information for the AVFs may be found at the following URL: http://sw-eng.falls-church.va.us/AdaIC/docs/flyers/avflist.shtml