home *** CD-ROM | disk | FTP | other *** search
/ Programmer's ROM - The Computer Language Library / programmersrom.iso / ada / point / validate.inf < prev   
Encoding:
Text File  |  1988-05-03  |  64.5 KB  |  1,310 lines

  1. This file contains the Ada Joint Program
  2. Office    Validation    Procedures   and
  3. Guidelines issued on 1 JAN 87.
  4. (AdaIC point of contact: Mary Armstrong)
  5.  
  6.  
  7.                         EXECUTIVE SUMMARY
  8.  
  9.      This document is intended  for all Ada  PROGRAMMING LANGUAGE
  10. users  and  compiler  VENDORs  who   have  an  interest   in  Ada
  11. VALIDATIONs.  It  defines  commonly  used  Ada  VALIDATION terms;
  12. outlines the organizational structure to manage,  coordinate, and
  13. direct the Ada  VALIDATION process;  lists steps in  the process;
  14. and  provides  guidance  to  Department of Defense  (DoD) program
  15. managers  on  the  acquisition,   use  and  maintenance   of  Ada
  16. COMPILERs.
  17.  
  18.      Terms that are specific to this document are defined in
  19. Section 2.
  20.  
  21.      The Ada CERTIFICATION SYSTEM is established by the Ada Joint
  22. Program Office (AJPO) and  consists of  rules of procedure  and a
  23. hierarchical  management  structure  for carrying  out CONFORMITY
  24. TESTING.  The Ada CERTIFICATION BODY is the governing  body  that
  25. directs,  manages,  and  administers  Ada VALIDATION.  This  body
  26. consists of the Director,  AJPO, the Ada  Validation Organization
  27. (AVO), and the Ada Validation  Facilities (AVFs).  The  Director,
  28. AJPO  provides  overall  direction  and  is the single  point DoD
  29. authority for  organizing, managing, directing  and administering
  30. all  matters  concerning  the  Ada  PROGRAMMING LANGUAGE  and for
  31. authorizing  VALIDATION   CERTIFICATES.  The     AVO     provides
  32. administrative and technical assistance to the Director and AVFs. 
  33. The AVFs implement a mechanism to determine COMPLIANCE to the Ada
  34. PROGRAMMING LANGUAGE within DoD.
  35.  
  36.      The rules of procedure that  are outlined by  the VALIDATION
  37. process are summarized here in nine steps that must  be completed
  38. by a VENDOR and the Ada  CERTIFICATION BODY  in order to  issue a
  39. VALIDATION CERTIFICATE.  These steps are:
  40.  
  41.      1.  Obtaining the current Ada COMPILER VALIDATION CAPABILITY
  42.          (ACVC) test suite;
  43.  
  44.      2.  Submitting a notice of intent to validate a COMPILER to
  45.          an AVF;
  46.      3.  Negotiating a formal agreement for  VALIDATION services  
  47.          with an AVF;
  48.  
  49.      4.  Submitting a DECLARATION OF CONFORMANCE and test results
  50.          to an AVF;
  51.      5.  Resolving test issues with the AVF;
  52.  
  53.      6.  Reviewing and responding to the draft VALIDATION SUMMARY 
  54.          REPORT (VSR);
  55.  
  56.      7.  Completing on-site testing successfully;
  57.  
  58.      8.  Issuing a VALIDATION CERTIFICATE;
  59.  
  60.      9.  Issuing a final VSR.
  61.  
  62.      Upon completion of these steps  a compiler is  considered an
  63. Ada VALIDATED COMPILER.  For  compilers  that are derived  from a
  64. validated BASE COMPILER, there is a registration procedure, which
  65. conveys VALIDATION status  without the  completion of all  of the
  66. VALIDATION steps outlined above.
  67.      
  68.      The  guidance  provided  to  DoD  program  managers  in this
  69. document integrates the VALIDATION  and control of  Ada COMPILERS
  70. with DoD life-cycle management practices.  It is intended  to aid
  71. program managers in the initial acquisition of Ada  COMPILERs and
  72. to provide them  with guidance  for configuration control  of Ada
  73. COMPILERs   during   software   development,   transition   to  a
  74. maintenance activity, and life-cycle maintenance.  The concept of
  75. an Ada  PROJECT-VALIDATED COMPILER  is introduced as  a baselined
  76. VALIDATED COMPILER that is used  throughout the development  of a
  77. system, and  carried forward into life-cycle maintenance. 
  78.  
  79.      A  compiler used  to develop  Ada software for  DoD projects
  80. does not have to be a PROJECT-VALIDATED COMPILER in the beginning
  81. of the software development phase, however, the code delivered at
  82. the  end  of  the  development  phase  for  operational  use  and
  83. maintenance  must be  compiled with  a VALIDATED COMPILER.   Once
  84. validated  and  baselined,  the  PROJECT-VALIDATED   COMPILER  is
  85. retested for CONFORMITY whenever it is modified using the same or
  86. subsequent ACVC test suite  which was  used to validate  the BASE
  87. COMPILER.
  88.  
  89.                         Table of Contents
  90.  
  91.  
  92. EXECUTIVE SUMMARY.........................................   i
  93.  
  94. TABLE OF CONTENTS......................................... iii
  95.  
  96. SECTION 1:  INTRODUCTION..................................   1
  97.  
  98. SECTION 2:  TERMS AND DEFINITIONS.........................   2
  99.  
  100. SECTION 3:  ORGANIZATION AND RESPONSIBILITIES.............   6
  101.      
  102. SECTION 4:  BASE COMPILER VALIDATION......................   8
  103.  
  104. SECTION 5:  DERIVED COMPILER VALIDATION...................  13
  105.  
  106. SECTION 6:  Ada VALIDATION FACILITIES.....................  17
  107.  
  108. SECTION 7.  Ada COMPILER VALIDATION CAPABILITY............  18
  109.  
  110. SECTION 8:  DoD GUIDELINES FOR Ada USE....................  21
  111.  
  112.  
  113. Appendix A: DECLARATION OF CONFORMANCE.................... A-1
  114.  
  115.                             Section 1
  116.  
  117.                           INTRODUCTION
  118.  
  119.  
  120.      The  Ada  PROGRAMMING  LANGUAGE  was  initially  designed to
  121. support  software  development  for  embedded  computer  systems. 
  122. Embedded computer systems form a part of larger systems  that are
  123. primarily  computational,  such as  military weapons systems.   A 
  124. programming  language  was  also  needed  that  reduced  software
  125. development  and  maintenance  costs,  provided   portability  of
  126. software   and   programmers,   and  encouraged   sound  software
  127. engineering  practices for  applications such as  C3I, multilevel
  128. security,  and  nonembedded   computer  processing.  No     other
  129. programming   language  was   designed  to  fully   support  this
  130. requirement.  For  this reason,  the United States  Department of
  131. Defense (DoD)  sponsored the  development of the  Ada PROGRAMMING
  132. LANGUAGE,  and  adopted  what  is now the  ANSI/MIL-STD-1815A Ada
  133. PROGRAMMING LANGUAGE standard.
  134.  
  135.      To support implementation  of the Ada  PROGRAMMING LANGUAGE,
  136. DoD  established  the  Ada  Joint  Program  Office  (AJPO).   The
  137. Director, AJPO is the single point  DoD authority within  DoD for
  138. organizing,  managing,  directing  and administering  all matters
  139. concerning   the   Ada   PROGRAMMING   LANGUAGE.  Among       the
  140. responsibilities assigned to the AJPO is the function of ensuring
  141. that  Ada  COMPILERS  faithfully  implement  the  Ada PROGRAMMING
  142. LANGUAGE standard.  To perform this function the  AJPO designates
  143. the Ada Validation  Organization (AVO) to  provide administrative
  144. and technical  support, and  Ada Validation Facilities  (AVFs) to
  145. perform  Ada  COMPILER  VALIDATIONS.  Collectively,  these  three
  146. elements constitute  the Ada  CERTIFICATION BODY.  The  Director,
  147. AJPO provides overall direction, the AVO  provides administrative
  148. support  to  ensure  consistent  practices, and the  AVFs conduct
  149. validation  to  determine  COMPLIANCE  to  the   Ada  PROGRAMMING
  150. LANGUAGE.
  151.  
  152.      This document outlines the  process established by  the AJPO
  153. to  perform  Ada  COMPILER  VALIDATIONS.  VALIDATION  for  an Ada
  154. COMPILER  is  the  process of  CONFORMITY TESTING of  a candidate
  155. compiler to the Ada PROGRAMMING LANGUAGE and, when  COMPLIANCE is
  156. demonstrated  through  VALIDATION  testing, issuing  a VALIDATION
  157. CERTIFICATE.  The goal of Ada VALIDATION is to  ensure COMPLIANCE
  158. to  the  standard  and  prevent  the  proliferation  of  subsets,
  159. supersets, or dialects  of the  Ada PROGRAMMING LANGUAGE.   Users
  160. are cautioned that VALIDATION does not  imply or warrant  the use
  161. of an Ada COMPILER for  any application,  nor does it  provide an
  162. evaluation of compiler  efficiency or performance.  VALIDATION is
  163. strictly a determination of COMPLIANCE  that leads to  a judgment
  164. of CONFORMITY.
  165.  
  166.  
  167.                             Section 2
  168.  
  169.                       TERMS AND DEFINITIONS
  170.  
  171.  
  172. Terms  that  are specific  to this  document are defined  in this
  173. section and are  capitalized where  they appear in  the document. 
  174. Reference to these definitions should be made whenever there is a
  175. question as to the specific meaning of a defined term.
  176.  
  177. Ada PROGRAMMING LANGUAGE:  The language defined  by ANSI/MIL-STD-
  178. 1815A and its successors.
  179.  
  180. Ada COMPILER:  A system (in a  loadable or executable  code form)
  181. which translates Ada source programs into object code  that, when
  182. loaded  with  the  TARGET RUN-TIME  SYSTEM, executes on  a target
  183. computer  in  a  manner  that  is  in  COMPLIANCE  with  the  Ada
  184. PROGRAMMING  LANGUAGE.  The  term  Ada  COMPILER  may be  used in
  185. describing   language   processors   which  are   not  completely
  186. conforming or are not making a claim of conformance provided that
  187. there  is  a  precise,  easily  visible  statement of  their non-
  188. conformance at the same time and in the same context as where the
  189. term is used.
  190.  
  191. Ada  COMPILER  VALIDATION  CAPABILITY  (ACVC):  The  set  of  Ada
  192. programs that tests the CONFORMITY of a candidate Ada COMPILER to
  193. the Ada PROGRAMMING  LANGUAGE, as  well as the  documentation and
  194. tools that facilitate this CONFORMITY TESTING.
  195.  
  196. APPLICABLE ACVC TESTS:  The set of tests in an ACVC  version that
  197. are determined by the Ada CERTIFICATION BODY to be  applicable to
  198. the VALIDATION of a specific candidate BASE COMPILER.
  199.  
  200. APPLICATION-SPECIFIC RUN-TIME LIBRARY:  The subset of  a Run-Time
  201. Library that is required for execution of a specific application.
  202.  
  203. BASE COMPILER:  An Ada COMPILER for which a current VALIDATION
  204. CERTIFICATE exists.
  205.  
  206. BASE CONFIGURATION:  The specific CONFIGURATION on which the BASE
  207. COMPILER  is tested by an Ada  Validation Facility (AVF)  as part
  208. of the VALIDATION process.
  209.  
  210. CERTIFICATION  BODY:  An  impartial  body,  governmental  or non-
  211. governmental, possessing the necessary competence and reliability
  212. to operate a certification system, and in which the  interests of
  213. all  parties  concerned  with the  functioning of the  system are
  214. represented.  [ISO GUIDE 2:  1983 and draft ISO/IEC GUIDE 2-8.23:
  215. 1986]
  216.  
  217. CERTIFICATION SYSTEM:  A system having its own rules of procedure
  218. and management for carrying  out conformity certification.   [ISO
  219. GUIDE 2:  1983 and draft ISO/IEC GUIDE 2-8.2.1:  1986]
  220.  
  221. COMPLIANCE:  The   state   describing  correct   compilation  and
  222. execution of all APPLICABLE ACVC TESTS in the  applicable version
  223. of the ACVC.  [Note:  For  purposes of this  document, COMPLIANCE
  224. is a practical measure of CONFORMITY.]
  225.  
  226. COMPILER  OWNER:  The  VENDOR   who  signs  the   DECLARATION  OF
  227. CONFORMANCE  and  who  submits  a  candidate  Ada   COMPILER  for
  228. VALIDATION,  or  the  third  party  which  is  declared   by  the
  229. validating  VENDOR on  the DECLARATION  OF CONFORMANCE to  be the
  230. owner of record for the candidate Ada COMPILER.
  231.  
  232. COMPUTER  ARCHITECTURE:  The  set  of   physical  implementations
  233. (central processing unit, memory, peripheral devices, and related
  234. hardware  and  software  components),  or   logically  equivalent
  235. emulator programs, which execute  object code in  accordance with
  236. an Instruction Set Architecture (ISA).
  237.  
  238. CONFIGURATION:  A  HOST  ARCHITECTURE,  host   operating  system,
  239. TARGET ARCHITECTURE, target operating system and  TARGET RUN-TIME
  240. SYSTEM, (if any).
  241.  
  242. CONFORMITY:  Fulfillment by a product, process or service  of all
  243. requirements  specified  [ISO  Guide 2:  1983  and  draft ISO/IEC
  244. Guide  2-8.1.1:  1986].  [Note:  Also   see   section   1.1.2  in
  245. ANSI/MIL-STD-1815A]
  246.  
  247. CONFORMITY TESTING:  Testing of a  candidate Ada COMPILER  by the
  248. VENDOR  and  by  an  AVF  to  demonstrate  COMPLIANCE to  the Ada
  249. PROGRAMMING LANGUAGE.  This  testing includes checking  for those
  250. characteristics that must be present in a  compiler for it  to be
  251. considered a compiler conforming to the Ada PROGRAMMING LANGUAGE.
  252. This  also  includes  testing  the  implementation  of  dependent
  253. compiler  characteristics  that  must  also  conform  to  the Ada
  254. PROGRAMMING LANGUAGE, if implemented.
  255.  
  256. DECLARATION  OF CONFORMANCE:  A  formal  statement from  a VENDOR
  257. assuring  that  CONFORMITY  is  realized  or  attainable  on  the
  258. compilers,  configurations  and  derivations for which  he/she is
  259. requesting  VALIDATION,  REVALIDATION,  or  registration.     See
  260. Appendix A for the format of a DECLARATION OF CONFORMANCE.
  261.  
  262. DERIVED COMPILER:  One of the following:
  263.  
  264.      o  A BASE COMPILER on an EQUIVALENT CONFIGURATION,
  265.  
  266.      o  A MAINTAINED COMPILER on a BASE CONFIGURATION,
  267.  
  268.      o  A  MAINTAINED COMPILER  on  an  EQUIVALENT CONFIGURATION, 
  269. where any of these pairs originates from a BASE COMPILER  and
  270. BASE CONFIGURATION pair.
  271. EQUIVALENT CONFIGURATION:  Any CONFIGURATION of the same COMPUTER
  272. ARCHITECTURE(s)  and  operating  system  for which  COMPLIANCE is
  273. achievable using the same ACVC version used in the  VALIDATION of
  274. the BASE COMPILER on the BASE CONFIGURATION.
  275.  
  276. GENERIC TARGET:  A  hardware and/or software  implementation that
  277. is equivalent to, or a superset of, the REAL SYSTEM TARGET and is
  278. capable of executing all applicable ACVC tests. A  GENERIC TARGET 
  279. is equivalent to the REAL  SYSTEM TARGET  if it is  an EQUIVALENT
  280. CONFIGURATION of this target.  A superset of a REAL SYSTEM TARGET
  281. is one to which the REAL SYSTEM  TARGET could be  made equivalent
  282. by adding more memory, input-output  capabilities, co-processors, 
  283. and instructions.
  284.  
  285. HOST ARCHITECTURE:  The COMPUTER ARCHITECTURE used  for execution
  286. of an Ada COMPILER.
  287.  
  288. MAINTAINED COMPILER:  A BASE COMPILER  which has been  changed in
  289. any  way  generally  accepted  by  the  software   profession  to
  290. constitute   "maintenance"     usually  meaning   minor  change. 
  291. Complete  replacement or  addition of  some major component  of a
  292. BASE COMPILER is not considered "maintenance" in this document.
  293.  
  294. MAJOR UPGRADE:  As it applies to a specific system  or subsystem,
  295. is the redesign or substantial addition of hardware, the revision
  296. or addition of more than one third of the software,  the redesign
  297. of the software  architecture, or  a substantial addition  of new
  298. software functions.
  299.  
  300. PROJECT-VALIDATED  COMPILER:  A   VALIDATED  COMPILER   which  is
  301. baselined  for  a  project  in  accordance  with  applicable  DoD
  302. software   life-cycle   management   policies,   procedures,  and
  303. practices.
  304.  
  305. REAL SYSTEM TARGET:  A  computer  hardware component of  a system
  306. that has been designed to comply with the operational  form, fit,
  307. and  functional specifications  of the system  computer resources
  308. which may execute object code  generated by a  VALIDATED COMPILER
  309. for  an associated GENERIC  TARGET.  The  REAL SYSTEM  TARGET may
  310. possess characteristics specific to  an application that  have no
  311. counterpart in the GENERIC TARGET.
  312.  
  313. RESTRICTED TARGET:  A REAL  SYSTEM TARGET  on which not  all ACVC
  314. tests can be executed but which can execute object code generated
  315. by  a  VALIDATED  COMPILER  for  an associated GENERIC  TARGET in
  316. combination  with APPLICATION-SPECIFIC RUN-TIME  LIBRARIES and/or
  317. run-time support.  Note:  The  VALIDATED  COMPILER for  a GENERIC
  318. TARGET  cannot  generate   different  code  for   the  associated
  319. RESTRICTED TARGET.
  320.  
  321. REVALIDATION:  The VALIDATION of a previously  VALIDATED COMPILER
  322. to renew its Ada COMPILER status.   
  323. TARGET  ARCHITECTURE:  The   COMPUTER   ARCHITECTURE   used   for
  324. execution of object code generated by an Ada COMPILER.
  325.  
  326. TARGET RUN-TIME SYSTEM:  The  set  of sub-programs, which  may be
  327. invoked by linking, loading, and executing object  code generated
  328. by an Ada COMPILER.  If these sub-programs use or depend upon the
  329. services of an operating system, then the TARGET  RUN-TIME SYSTEM 
  330. includes those portions of that operating system.
  331.  
  332. VALIDATION:  The process of checking the CONFORMITY  of an Ada
  333. COMPILER  to  the  Ada  PROGRAMMING  LANGUAGE  and   of   issuing
  334. certificates indicating COMPLIANCE  of those compilers  that have
  335. been successfully tested.
  336.  
  337. VALIDATION CERTIFICATE:  The  certificate issued by  authority of
  338. the   Ada  Joint   Program  Office  that   formally  acknowledges
  339. COMPLIANCE of a BASE COMPILER.
  340.  
  341. VALIDATION  SUMMARY REPORT (VSR):  A  report  produced by  an Ada
  342. VALIDATION  FACILITY (AVF)  containing results that  are observed
  343. from  testing  a  specific  Ada  COMPILER  or  grouping   of  Ada
  344. COMPILERS.
  345.  
  346. VALIDATED COMPILER:  A BASE COMPILER for which a VALIDATION
  347. CERTIFICATE is in effect or a DERIVED COMPILER that  is currently
  348. registered  with  the Ada  Joint Program  Office (AJPO).  A  BASE
  349. COMPILER and any derivation of that compiler will be considered a
  350. VALIDATED COMPILER only as long as the VALIDATION CERTIFICATE for
  351. the BASE COMPILER is in effect.  Any compiler that does  not have
  352. a  current  VALIDATION  CERTIFICATE  and  qualifies as  a DERIVED
  353. COMPILER  must  be  registered  with the  AJPO to be  a VALIDATED
  354. COMPILER.
  355.  
  356. VENDOR:  The  supplier  of  an  Ada COMPILER.  [Note:  A   VENDOR
  357. becomes an AVF client when the VENDOR enters into a  contract for
  358. Ada VALIDATION services.] 
  359.  
  360.                             Section 3
  361.  
  362.                 ORGANIZATION AND RESPONSIBILITIES
  363.  
  364.  
  365. 3.0  ORGANIZATION.  The   organizations   that   govern,  direct,
  366. manage,  and  administer  Ada VALIDATIONs  on behalf of  the AJPO
  367. constitute the  Ada CERTIFICATION  BODY.  This  section specifies
  368. the  responsibilities  of  each  organization  or  party  that is
  369. involved in the Ada VALIDATION process.
  370.  
  371. 3.1   RESPONSIBILITIES.  The    following   are    the   specific
  372. responsibilities assigned  to each  party or organization  in the
  373. Ada CERTIFICATION BODY:
  374.  
  375. 3.1.1  The Director, AJPO: 
  376.  
  377.      a.  Is responsible for establishing and maintaining the Ada                
  378.          VALIDATION process, and is the governing official for
  379.          this document.
  380.  
  381.      b.  Establishes the period of time after which a
  382.          VALIDATION CERTIFICATE expires.
  383.  
  384.      c.  Designates an AVO and delegates to it the authority to
  385.          implement the Ada VALIDATION process.
  386.  
  387.      d.  Approves the establishment of AVFs to perform the actual 
  388.          VALIDATIONs in accordance with AJPO procedures.
  389.      e.  Has final decision authority over disputes raised
  390.          by VENDORs concerning VALIDATION issues.
  391.  
  392. 3.1.2  The AVO:
  393.  
  394.      a.  Recommends for AJPO approval, changes to the VALIDATION
  395.          procedures established in this document.
  396.  
  397.      b.  Ensures that each AVF performs VALIDATIONs consistent
  398.          with the VALIDATION process established by the AJPO.
  399.  
  400.      c.  Maintains accurate records pertaining to each VALIDATION
  401.          and to the VALIDATION process.
  402.  
  403.      d.  Maintains the list of VALIDATED COMPILERs.
  404.  
  405.      e.  Advises the Director, AJPO on all VALIDATION
  406.          issues.
  407.  
  408.      f.  Resolves, where appropriate, disputes and issues
  409.          between an AVF and a VENDOR.
  410.      g.  Reviews all VALIDATION SUMMARY REPORTs (VSRs) prepared
  411.          by AVFs, and coordinates with AVFs to ensure that an
  412.          accurate and comprehensive VSR is produced for each BASE
  413.          COMPILER.
  414.  
  415.      h.  Prepares VALIDATION CERTIFICATES for signature by the
  416.          Director, AJPO.
  417.  
  418. 3.1.3   A chartered AVF:
  419.  
  420.      a.  Follows the VALIDATION process established by the 
  421.          AJPO.
  422.  
  423.      b.  Is  responsible for conducting VALIDATION in a timely
  424.          and impartial manner.
  425.  
  426.      c.  Produces the VSR. 
  427.  
  428.      d.  Forwards disputes raised by a VENDOR to the AVO for
  429.          review and analysis, with final resolution to be
  430.          provided by the AJPO, if necessary.
  431.  
  432. 3.2  VENDOR RESPONSIBILITIES.  VENDORs are clients of the AVF and
  433. are serviced by the Ada CERTIFICATION BODY in matters concerning
  434. Ada VALIDATION. In requesting services of the Ada CERTIFICATION
  435. BODY, VENDORS are to:
  436.  
  437.      a.  Provide accurate and sufficient information to perform a 
  438.          VALIDATION.
  439.  
  440.      b.  Nominate DERIVED COMPILERS for registration by the AJPO, 
  441.          and provide sufficient information and rationale to
  442.          support registration of these compilers at the time of
  443.          their nomination.
  444.  
  445. 3.3  RELATIONSHIP BETWEEN THE AVF AND THE CLIENT.  VENDORs are to
  446. notify an AVF, in writing, of their  desire to have  a VALIDATION
  447. conducted.  VENDORs will negotiate and enter into a contract with
  448. an AVF for services to be performed during a projected  period of
  449. time.  When a VENDOR and an  AVF have  entered into  a  contract,
  450. the VENDOR becomes a client of the AVF; and, both  parties assume
  451. responsibilities for conducting the  VALIDATION.  All  members of
  452. the CERTIFICATION BODY  cooperate to  ensure that the  service to
  453. each VENDOR is effective and efficient.  Technical  or procedural
  454. issues arising from an AVF  and VENDOR relationship  are referred
  455. to  a  higher  level  of the  CERTIFICATION BODY only  when those
  456. issues cannot be resolved at a lower level.
  457.  
  458.                             Section 4
  459.  
  460.                      BASE COMPILER VALIDATION
  461.  
  462. 4.0  VALIDATION OF BASE COMPILERS.   Ada COMPILERs  are validated
  463. and periodically revalidated using the VALIDATION process defined
  464. in this document.  VALIDATION is  successfully completed when the
  465. APPLICABLE ACVC TESTs  are run  against a candidate  Ada COMPILER
  466. and  an  AVF  reviews  the  test  results  and  judges   them  to
  467. demonstrate compiler CONFORMITY to the Ada  PROGRAMMING LANGUAGE. 
  468. The  issuance  of  a  VALIDATION  CERTIFICATE  is   the  official
  469. confirmation  and  evidence  of  successful  completion   of  the
  470. VALIDATION  process.  VALIDATION  TESTING  of an Ada  COMPILER is
  471. performed by  an AVF as  authorized by  the Director, AJPO.   The
  472. results  of  VALIDATION testing  are documented  in a VSR.   This
  473. section details the steps and procedures established by  the AJPO
  474. for performing a VALIDATION.
  475.  
  476. 4.1  STEPS  AND  PROCEDURES.  There   are   nine  steps   in  Ada
  477. VALIDATION  that  a  VENDOR  and  the  CERTIFICATION   BODY  must
  478. successfully complete in order  to qualify  a compiler as  an Ada
  479. BASE  COMPILER  for  which  a  VALIDATION CERTIFICATE  is issued. 
  480. These steps are:
  481.  
  482.      1.  Obtain the current ACVC test suite, (VENDOR).  The  ACVC
  483. is the only official test suite that can  be used by  VENDORs and
  484. AVFs  to  conduct  CONFORMITY TESTING.  The  ACVC  is distributed
  485. exclusively  by  AVFs  and  is used  by VENDORs to  prepare their
  486. DECLARATION OF CONFORMANCE.
  487.  
  488.      2.  Submit  a  request  for  VALIDATION  testing,  (VENDOR). 
  489. Informal communication between a VENDOR and an AVF is encouraged. 
  490. However,  VENDORs  must  notify  the  AVF, in writing,  that they
  491. intend  to  become  a  client  and  desire  to  be  scheduled for
  492. VALIDATION TESTING.  An AVF schedules and commits resources  on a
  493. first-come-first-served basis; therefore, VENDORs should  ask for
  494. AVF  services as soon  as they  can accurately project  the need. 
  495. This   written   notification   should   include   the  following
  496. information:
  497.  
  498.           a.  Target dates for submission of a  DECLARATION OF
  499.               CONFORMANCE and test results, and the commencement
  500.               of on-site testing.
  501.           b.  The ACVC version that is being used by the VENDOR                                
  502.               to prepare a declaration of CONFORMANCE.
  503.  
  504.           c.  The CONFIGURATION(s) and  candidate Ada COMPILER(s)            
  505.               to be tested.
  506.  
  507.           d.  The location of on-site testing.
  508.  
  509.           e.  The length of time (estimate) required for on-site           
  510.               testing.
  511.  
  512.           f.  The point of contact for further information. 
  513.  
  514.  
  515.      When VENDORs project target dates for submission of a       
  516.      DECLARATION OF CONFORMANCE and for on-site testing,
  517.      they must consider that it takes an AVF generally three
  518.      months (90 days) from receipt of the DECLARATION OF
  519.      CONFORMANCE and testing materials to send a final VSR to the
  520.      AVO. 
  521.      In acknowledging receipt of the VENDOR's notification, the  
  522.      AVF advises the VENDOR of known resource constraints that
  523.      affect the desired schedule.  When an AVF expects to have
  524.      scheduling problems, the AVO should be consulted concerning
  525.      possible redistribution of workload among other AVFs.
  526.      At the request of the VENDOR, the AVF makes every effort
  527.      to keep confidential both the intent to become a client and
  528.      the schedule for VALIDATION.  However, this confidentiality
  529.      cannot be guaranteed nor is it allowed to interfere
  530.      with normal review/approval procedures described in this
  531.      document for draft VSRs.
  532.      
  533.      3.  Negotiate  a  formal  agreement,  (AVF/Client).  An  AVF
  534. requires  a  formal  agreement  with  a  VENDOR, and  may require
  535. payment in advance for the  analytical and testing  services that
  536. will be performed.  Preparation of the test report is included in
  537. this fee.  Once a formal agreement is negotiated between a VENDOR
  538. and an AVF, the  VENDOR becomes a  client of  the AVF and  may be
  539. serviced by the Ada CERTIFICATION BODY.  A  VENDOR who is  in the
  540. process  of self-testing  may discover  ACVC tests that  could be
  541. incorrectly written  or which  are inapplicable for  the compiler
  542. and CONFIGURATION under test.  As soon  as the VENDOR  becomes an
  543. AVF client, a list of all ACVC tests  that are doubtful  from the
  544. client's perspective are provided by the client to the AVF, along
  545. with the client's rationale for including each test on this list.  
  546.  
  547.  
  548.  
  549.      4.  Submit a  DECLARATION OF CONFORMANCE  and pre-VALIDATION
  550. test results, (Client).  The AVF will provide the client with the
  551. format  for a  DECLARATION  OF  CONFORMANCE, which is  defined in
  552. Appendix  A  of  this  document,  and  a  list  of  required pre-
  553. VALIDATION  information.  This  list  includes   the  information
  554. required by Appendix F of  the Ada PROGRAMMING  LANGUAGE standard
  555. and other implementation specific information  determined  by the
  556. AVF.  The AVF prescribes the format in which this  information is
  557. to be delivered. 
  558.  
  559.      
  560.  
  561.      After  the  client  runs  the  ACVC  on  the  candidate  Ada
  562. COMPILER,  the  client  provides  the  AVF with a  DECLARATION OF
  563. CONFORMANCE and ACVC  test results.  The  ACVC  must be run  in a
  564. manner  agreed  upon  with  the  AVF,  and  test results  must be
  565. delivered to the AVF no later than two months (60 days)  prior to
  566. the scheduled on-site test date.  The actual date for delivery of
  567. ACVC  test  results by  the client  is specified in  the contract
  568. between  the client and  the AVF.  During  this  two-month period
  569. there  is  sufficient  time  for  a  thorough  analysis  of  pre-
  570. validation test  results, resolution  of all testing  issues, and
  571. preparation of a draft VSR.  It should be  noted that, if  a two-
  572. month  period  is  not provided  for analysis, any  problems that
  573. arise may cause the AVF to reschedule VALIDATION.  Such  a change
  574. in schedule may even necessitate the use of a later  ACVC version
  575. and thus the resubmission of test results.  
  576.  
  577.      When received, the AVF acknowledges receipt of  the client's
  578. DECLARATION  OF  CONFORMANCE and  test results.  In  the  event a
  579. VENDOR successfully completes step 4 in this VALIDATION procedure
  580. prior to the expiration date  of the  current ACVC, and  that the
  581. expiration  date  is  subsequently reached before  the VALIDATION
  582. process is complete, then the VENDOR  is allowed to  proceed with
  583. the original ACVC provided that: 
  584.  
  585.      a.  the AVF has had sufficient time to determine that
  586.          there are no failures of APPLICABLE ACVC TESTS, and
  587.      
  588.      b.  the VENDOR has no test disputes pending at the time the
  589.          ACVC expired that are subsequently decided against the
  590.          VENDOR's position on the test.
  591.      5.  Resolve  test  issues,  (AVF/CLIENT/AVO/AJPO).  The  AVF
  592. thoroughly  analyzes  all   client  supplied  test   results  and
  593. materials that support  the client's DECLARATION  OF CONFORMANCE. 
  594. Included  in  this  analysis  is  a review  of the list  of tests
  595. considered by the client to be inapplicable to  the CONFIGURATION
  596. being tested, and the specific BASE CONFIGURATION(S) used  by the
  597. client to test the candidate Ada  COMPILER.  If  the AVF  and the
  598. client cannot agree  on the  applicability of specific  tests, or
  599. the interpretation of test results,  or cannot mutually  agree to
  600. definitions,  such  as BASE  CONFIGURATION, then the  issue(s) is
  601. referred to the AVO for review.  The AVO then analyzes all issues
  602. with the help of the AVF,  the  client,  and any  other technical
  603. body the AVO considers advisable. Information resulting from this
  604. review is then presented to the Director, AJPO  for consideration
  605. and final resolution.  The  Director,  AJPO decision  on disputed
  606. tests or test methods is  final.  On-site  testing will  not take
  607. place  until  all  test  issues  have been  resolved.   When  the
  608. resolution  goes  against the  client's position, the  client may
  609. renegotiate with the AVF to reschedule the VALIDATION or to amend
  610. or terminate the contract. 
  611.  
  612.      6. Preparation and review of the draft  VSR, (AVF/AVO/AJPO). 
  613. The AVF  prepares a  draft VSR  based on information  supplied by
  614. the  client.  This  includes  a  DECLARATION  OF  CONFORMANCE,  a
  615. description  of all ACVC  tests that  were processed on  the BASE
  616. COMPILER,  a  table showing  the class  and category of  all ACVC
  617. tests  (e.g.,  total  number  of  class  C tests  passed, failed,
  618. withdrawn,  or  inapplicable,  etc.),  and  a description  of the
  619. testing environment (e.g., designation of  CONFIGURATIONs tested,
  620. testing  completion  date).  The  draft  VSR  also  reflects  any
  621. decisions made concerning  disputed test issues.   Implementation
  622. dependent options are also detailed in the VSR. 
  623.  
  624.      The  client, the AVO,  and AJPO  will receive copies  of the
  625. draft VSR for concurrent review and comment.  This review will be
  626. completed as soon as possible with comments provided  directly to
  627. the  AVF.  The  AVF  coordinates  with  the  AVO   resolution  of
  628. remaining issues prior to on-site testing that arise as  a result
  629. of this review.  Once all issues  are resolved and  documented in
  630. the draft VSR, the draft VSR is referred to as the  annotated VSR
  631. and the annotated VSR becomes the basis on which  on-site testing
  632. is conducted and test results analyzed.  When  necessary, on-site
  633. testing may begin prior to completion of  AVO and AJPO  review of
  634. the draft VSR.
  635.  
  636.      7.  On-site testing, (AVF).  The AVF conducts the CONFORMITY
  637. TESTING of the  client's compiler  at the location  designated by
  638. the client  in accordance with  the annotated  VSR.   The  client
  639. submits  to  the  AVF  a  refined  estimate of time  required for
  640. testing two weeks (14 days) before AVF personnel are scheduled to
  641. arrive at the client's site.  AVF test personnel prepare the ACVC
  642. for the client's specific implementation.  This  customization of
  643. the  ACVC  for  a  client  includes:  (a)  parameters   that  are
  644. implementation   dependent;   and   (b)   insertion   of  special
  645. fields/records  used by the  AVF to  ensure the integrity  of the
  646. test  suite.  The  AVF,  during  on-site  testing,  executes  the
  647. identical APPLICABLE ACVC TESTS  that the client  executed during
  648. pre-VALIDATION  testing.  It  is  the  AVF that  determines those
  649. inapplicable tests to execute during on-site testing in  order to
  650. confirm their inapplicable status.  If the AVF's test results are
  651. challenged by the client, the matter is to be referred to the AVO
  652. for resolution, or if resolution cannot be obtained, to the AJPO.
  653.  
  654.      8.  Issuing a VALIDATION CERTIFICATE, (AJPO).  The Director,
  655. AJPO  authorizes the issuance  of a VALIDATION  CERTIFICATE after
  656. the results of AVF testing demonstrate that a  VENDOR's candidate
  657. Ada COMPILER is in COMPLIANCE with the Ada  PROGRAMMING LANGUAGE. 
  658. When  an  AVF  completes  on-site  VALIDATION  testing  and  test
  659. results  confirm  CONFORMITY  for  a  candidate Ada  COMPILER, it
  660. notifies  the  AVO  that on-site  test results were  identical to
  661. those agreed to in the annotated VSR.   
  662.         
  663.  
  664.          If on-site testing was  based on  a draft VSR,  then the
  665. VSR review process described above must first be completed before
  666. a certificate is issued.  Test results must be analyzed  based on
  667. an annotated VSR.  Once all issues  concerning the VSR  have been
  668. resolved  to  the  AVO's  and  AJPO's satisfaction,  a VALIDATION
  669. CERTIFICATE  is  prepared  by  the AVO  for an Ada  COMPILER, and
  670. issued by the authority of the Director, AJPO. 
  671.  
  672.          The VALIDATION CERTIFICATE uniquely identifies a version
  673. of  the  BASE   COMPILER  and   the  nomenclature  of   the  BASE
  674. CONFIGURATION, as well as the version of the ACVC under which the
  675. testing was performed.  It  is  issued to  the VENDOR who  is the
  676. COMPILER OWNER of the Ada  COMPILER.  In  most cases,  the VENDOR
  677. and  the  client  for the  compiler are  the same.  However,  the
  678. client must ensure that the AVF is provided  accurate information
  679. for  inclusion  on  the  VALIDATION  CERTIFICATE,  including  the
  680. COMPILER  OWNER.  VALIDATION  CERTIFICATES  are delivered  to the
  681. client by the AVF.
  682.  
  683.      9.  Issuing the final VSR, (AVF/AVO/AJPO).  The fully agreed
  684. upon annotated VSR is used by  the AVF  to prepare the  final VSR
  685. for signature.  The AVF manager signs the final VSR  and forwards
  686. it to the AVO for signature.  The AVO, in turn, signs the VSR and 
  687. forwards it to the Director, AJPO for  final signature.  A  fully
  688. signed copy of the final VSR is then returned to the AVF.
  689.  
  690. 4.2  CERTIFICATE EXPIRATION.  VALIDATION  CERTIFICATEs  expire in
  691. accordance  with  the  time  period established by  the Director,
  692. AJPO.  This time period is currently one  year after the  date of
  693. issue.  An  automatic  extension,  valid until adjudication  of a
  694. pending REVALIDATION, shall occur whenever a VENDOR has submitted
  695. his COMPILER for REVALIDATION  in a  timely manner as  defined in
  696. step two of these procedures. 
  697.  
  698. 4.3  VALIDATION INFORMATION AVAILABILITY:  The AJPO  ensures that
  699. a publicly available list of Ada  COMPILERs is maintained.   This
  700. list   identifies   the   Ada  COMPILERs  for   which  VALIDATION
  701. CERTIFICATEs have been issued.  The  AJPO  also ensures  that the
  702. final VSR is made publicly available  for compilers on  this list
  703. through   an  appropriate  government   information  distribution
  704. facility.  A separate list of registered Ada DERIVED COMPILERS is
  705. also maintained by the AJPO and is  publicly available.  The  Ada
  706. Information Clearinghouse can provide assistance in  obtaining or
  707. accessing any of the above information.
  708.  
  709. 4.4  VALIDATION  LIMITATIONS.  A  compiler  is  judged  as having
  710. either  passed  or failed  in VALIDATION.  If  a  compiler passes
  711. VALIDATION,  then it demonstrates that the product, as  tested by
  712. the ACVC, conforms to the Ada PROGRAMMING LANGUAGE.  Testing  for
  713. characteristics other than those specified by the Ada PROGRAMMING
  714. LANGUAGE, such as performance or suitability for particular
  715. applications, is outside the scope of VALIDATION testing.
  716.  
  717.      
  718.                               Section 5
  719.  
  720.                    DERIVED COMPILER VALIDATION
  721.  
  722. 5.0   DERIVED COMPILERS.   Once an  Ada  COMPILER  has  a current
  723. VALIDATION CERTIFICATE, then variations or modifications  to that
  724. Ada  COMPILER  and/or  its  configuration  result  in  a  DERIVED
  725. COMPILER.  A DERIVED COMPILER must conform to the Ada PROGRAMMING
  726. LANGUAGE in  every respect and  by the  same measure as  does the
  727. BASE  COMPILER  from  which  it  was  derived.  In  order  to  be
  728. considered a DERIVED COMPILER, and therefore acquire status as an
  729. Ada VALIDATED COMPILER, a VENDOR must register  DERIVED COMPILERS 
  730. with the AJPO.  This section  details the process  and procedures
  731. governing the registration of DERIVED COMPILERS.
  732.  
  733. 5.1  REGISTRATION OF A DERIVED COMPILER.  VENDORs may  request to
  734. register a DERIVED COMPILER while they are clients of an  AVF and
  735. are  engaged  in  the  VALIDATION   of  the  BASE   COMPILER  or,
  736. subsequently,   after   the  AVF-client  relationship   has  been
  737. terminated  by  successful completion  of VALIDATION of  the BASE
  738. COMPILER, but prior to  expiration of the  VALIDATION certificate
  739. for  the  BASE  COMPILER  from  which  the  subject  compiler was
  740. derived.  As part of this registration, the VENDOR:
  741.  
  742.      a.  identifies the BASE COMPILER and BASE CONFIGURATION from     
  743.          which the DERIVED COMPILER originates; and,
  744.  
  745.      b.  affirms that the DERIVED COMPILER is in COMPLIANCE with
  746.          the same version of the ACVC used in the VALIDATION of
  747.          the BASE COMPILER.
  748.  
  749. 5.2  REGISTRATION DURING VALIDATION.  When  VENDORs are   clients
  750. of  an  AVF  and  desire  to  register  a DERIVED COMPILER,   the
  751. following steps must be completed:
  752.  
  753.      1.  Submit  a  DECLARATION  OF  CONFORMANCE  (VENDOR).   The
  754. VENDOR  submits to the  AVF a  statement signed by  an authorized
  755. VENDOR official that lists the CONFIGURATION that is  declared to
  756. be an EQUIVALENT CONFIGURATION.  This statement also includes the
  757. nomenclature identifying the candidate  compiler.  If  the VENDOR
  758. supplies only the compiler, then the VENDOR must obtain  either a
  759. statement   from   a   responsible   official  of   the  hardware
  760. manufacturer  or technical  documentation which affirms  that the
  761. COMPUTER  ARCHITECTURE  is  equivalent   to  that  of   the  BASE
  762. CONFIGURATION originally used to demonstrate COMPLIANCE.
  763.  
  764.      2.  Review the registration request (AVF).  The  AVF reviews
  765. the information supplied by clients and provides technical advice
  766. to them, as required, to  ensure that the  requested registration
  767. is  consistent with the  definition of  a DERIVED COMPILER.   The
  768. client's request for registration of  a DERIVED COMPILER  is then
  769. submitted to the AJPO, via the AVO, concurrent with submission of
  770. the final VSR for the BASE COMPILER.
  771. 5.3  POST   VALIDATION   REGISTRATION.  VENDORs    may    request
  772. registration of a DERIVED COMPILER during the period a VALIDATION
  773. CERTIFICATE for the BASE COMPILER is in force.  The  AJPO accepts
  774. requests for registration after a VALIDATION CERTIFICATE has been
  775. issued and the final VSR has been approved.  The steps listed for
  776. registration during VALIDATION must be completed as well for post
  777. VALIDATION  registration.  A  second  final  VSR  for   the  BASE
  778. COMPILER  need not be  submitted.  VENDORs  are to  forward these
  779. requests to the AVF which conducted the VALIDATION of the subject
  780. BASE COMPILER.  The AJPO may refuse a registration request if the
  781. cycle  for  updating  the list  coincides with expiration  of the
  782. VENDOR's VALIDATION CERTIFICATE for the BASE COMPILER.   Requests
  783. are to include the following information:
  784.  
  785.      a.  Expiration date and serial number (where applicable) of  
  786.          the VALIDATION CERTIFICATE for the BASE COMPILER.
  787.      
  788.      b.  Identification of the compiler version to be registered.
  789.  
  790.      c.  Identification of the authorized VENDOR representative
  791.          responsible for COMPLIANCE of the DERIVED COMPILER.
  792.  
  793.      d.  Rationale to substantiate the validity of the  
  794.          registration.
  795.  
  796. 5.4   MAINTENANCE OF REGISTRATION.  The registration of a DERIVED
  797. COMPILER expires when the related VALIDATION CERTIFICATE expires.   
  798. The  AJPO maintains and  makes publicly  available a list  of all
  799. registered   DERIVED   COMPILERs;   a   description    of   their
  800. configurations;  their relation  to a  BASE COMPILER; and  of any
  801. information   supplied  by   the  VENDOR  in   substantiation  of
  802. compliance to the standard.  When an AVF believes that COMPLIANCE
  803. is questionable, it  may require  the VENDOR to  provide specific
  804. evidence of testing against the  ACVC version used  in VALIDATION
  805. of the BASE COMPILER.  
  806.  
  807. 5.5  DERIVED  COMPILER  STATUS.  DERIVED   COMPILERs   that   are
  808. registered  are  considered  VALIDATED  COMPILERs.  This   status
  809. expires  no  later  than   the  VALIDATION  CERTIFICATE   of  the
  810. associated  BASE  COMPILER.  No  VALIDATION  CERTIFICATE  will be
  811. issued for a DERIVED COMPILER.   
  812.  
  813. 5.6  CHALLENGES.  The  status  of  a  DERIVED  COMPILER   can  be
  814. challenged if it is determined to fail an applicable ACVC test of
  815. the   ACVC   version   used   to  validate  the   BASE  COMPILER. 
  816. Applicability of such tests is documented in the VSR for the BASE
  817. COMPILER.  When a user or potential buyer desires to test whether
  818. or  not  a  registered  compiler  is  in COMPLIANCE with  the Ada
  819. PROGRAMMING LANGUAGE he/she must do the following:
  820.  
  821.      1.   obtain  at  challenger's  own  expense  a  copy  of the
  822. applicable VSR and a copy  of  the ACVC  test  suite  used during
  823. VALIDATION of the BASE COMPILER;
  824.  
  825.      2.  conduct  testing at  challenger's own expense  under the
  826. conditions specified in the VSR, using the appropriate  ACVC, and
  827. gather, in  the same format  as the  VSR, data to  substantiate a
  828. challenge;
  829.  
  830.      3.   submit  to  the   AVF  which  conducted   the  original
  831. VALIDATION, with a copy to  the AJPO,  a formal challenge  to the
  832. validity  of  the  DERIVED  COMPILER.  Documentation   for   this
  833. challenge  shall  include  test  results  that  substantiate  the
  834. challenge.  In addition, identify  to both  the AJPO and  the AVF
  835. the VENDOR who offered the DERIVED COMPILER (for sale or use). 
  836.  
  837. 5.6.1 RESOLUTION OF CHALLENGES.  When  a  challenge is  made, the
  838. AJPO annotates the compiler on the registration  list indicating: 
  839. (a) there is a challenge to the compiler's COMPLIANCE status; (b)
  840. the date of the challenge; and (c) the target date for resolution
  841. of the challenge; and further, stipulates that a challenge in and
  842. of  itself  does not  constitute non-COMPLIANCE of  the annotated
  843. compiler.  All information gathered or  submitted to the  AVF and
  844. AJPO  concerning  a challenge  is made immediately  available for
  845. review  by  all  parties  having  an  interest in  the compiler's
  846. status. 
  847.  
  848.      In   making  the   determination  of  COMPLIANCE   vs.  non-
  849. COMPLIANCE, the AVF may request that the challenged VENDOR submit
  850. the results of his/her in-house VALIDATION testing to demonstrate
  851. full  COMPLIANCE.  Further,   the   AVF  may  request   from  the
  852. challenged VENDOR special testing, which may consist of  a subset
  853. of the ACVC.  The complete and timely cooperation from  the owner
  854. of  the  challenged  compiler  is  required in  investigating and
  855. resolving   disputed   issues.  When   a   challenge   is   fully
  856. substantiated to the satisfaction of the AVF, AVO, and AJPO,  the
  857. VENDOR who owns the  compiler is  requested to correct  the cited
  858. compiler  deficiencies and  to demonstrate  to the AVF  that such
  859. deficiencies  have  been  corrected,  or  cease  and  desist from
  860. offering  the  compiler  for  sale  or  use  as an  Ada VALIDATED
  861. COMPILER.  If  deficiencies  can  not  be  corrected  or  are not
  862. corrected within a 90  day time  period, then the  AJPO annotates
  863. the DERIVED COMPILER list to reflect that the subject compiler is
  864. no longer considered as having a VALIDATED COMPILER status.   Any
  865. substantiated  challenge  or  resolution  to a challenge  will be
  866. announced through appropriate  public documents and  reflected by
  867. annotating the DERIVED COMPILER list.
  868.  
  869. 5.7  VALIDATION OF MULTIPLE COMPILERS.  If  the client  desires a
  870. VALIDATION  CERTIFICATE  for  a  BASE  COMPILER  on  several BASE
  871. CONFIGURATIONS, rather than registering each modified compiler or
  872. change in configuration as a DERIVED COMPILER, then at  least one
  873. member  of each  configuration must  be provided for  AVF testing
  874. with the full ACVC.  These  BASE  CONFIGURATIONS are placed  on a
  875. certificate,  while  derived  configurations  may  be  registered
  876. separately at the client's request.    When  different  operating
  877. systems,  major  changes  to  an  operating  system,  or modified
  878. compilers are presented to the AVF, the compiler is  tested under
  879. each  operating  system,  even if  the COMPUTER ARCHITECTURE   is
  880. identical.  In such cases,  detailed test  methods may vary  on a
  881. case by case  basis as negotiated  by the  AVF and AVO  to ensure
  882. rigid testing while minimizing unnecessary effort. 
  883.  
  884. 5.8  MAINTAINED  COMPILERS  AS  DERIVED  COMPILERS.   Maintenance
  885. changes to  a VALIDATED COMPILER  do not  affect its status  as a
  886. VALIDATED COMPILER, provided that the compiler retains CONFORMITY
  887. to  the  Ada  PROGRAMMING  LANGUAGE.  Individual  versions  of  a
  888. MAINTAINED  COMPILER  must  be  distinguished through the  use of
  889. incremental  version/release  control  numbers  assigned  by  the
  890. developer.  Such a version is considered a DERIVED  COMPILER, and
  891. is subject to the procedures pertaining to DERIVED COMPILERS when
  892. it is first registered or subsequently registered with  the AJPO. 
  893. A  MAINTAINED COMPILER is  not a  validated Ada COMPILER  when it
  894. fails an APPLICABLE ACVC TEST that  was passed by  the associated
  895. BASE COMPILER during VALIDATION testing.
  896.  
  897. 5.9  REGISTRATION  LIMITATIONS.  The  registration  of  a DERIVED
  898. COMPILER by the AJPO does not imply or support VENDOR claims that
  899. the   compiler   conforms   to  the  Ada   PROGRAMMING  LANGUAGE. 
  900. Registration  of  DERIVED COMPILERs  provides a public  record of
  901. those  compilers  that  VENDORs  claim  are modifications  to Ada
  902. COMPILERs, which in spite of the modifications,  remain compliant
  903. to  the  Ada  PROGRAMMING  LANGUAGE in  every manner as  the BASE
  904. COMPILER.
  905.  
  906. 5.10  EQUIVALENT  CONFIGURATION  REGISTRATION.  It  is   not  the
  907. intention  of the  AJPO to  focus on each  specific CONFIGURATION
  908. within a family of  EQUIVALENT CONFIGURATIONS.  These  EQUIVALENT
  909. CONFIGURATIONS  do  not  have  to  be individually  registered as
  910. DERIVED  COMPILERS  to  be  considered VALIDATED provided  a BASE
  911. COMPILER on one of the configurations  exist.  Registration  of a
  912. series  of  EQUIVALENT  CONFIGURATIONS,  produced  by   the  same
  913. manufacturer, will be accepted.
  914.  
  915.  
  916.  
  917.  
  918.                             Section 6
  919.  
  920.                     Ada VALIDATION FACILITIES
  921.                    ESTABLISHMENT AND OPERATION
  922.  
  923.  
  924. 6.0  AVF   PURPOSE.  Ada   Validation   Facilities   (AVFs)   are
  925. established  by  the Director,  AJPO to conduct  Ada VALIDATIONs. 
  926. These facilities execute  the VALIDATION procedures  contained in
  927. this  document  for  the  purpose   of  ensuring  that   the  Ada
  928. PROGRAMMING   LANGUAGE   standard  is  properly   and  faithfully
  929. implemented  in  Ada  COMPILERs.  This   section   discusses  the
  930. establishment and operation of AVFs.
  931.  
  932. 6.1  ESTABLISHMENT OF AVFs.  The Director, AJPO may issue  an AVF
  933. charter  to  a   requesting  organization  that   represents  the
  934. government  of  the  United  States  of  America (USA) and  has a
  935. Memorandum of  Understanding (MOU)  with the AJPO  concerning Ada
  936. VALIDATION  or represents  a foreign  government that has  an MOU
  937. with  the USA concerning  the establishment  of AVFs.  AVFs  thus
  938. chartered operate under the  terms of  the governing MOU  and the
  939. procedures  established  in this  document, and are  chartered to
  940. conduct VALIDATIONs on behalf of the AJPO.    
  941.  
  942. 6.2  AVF CHARTER.  An AVF charter  carries both the  authority to
  943. conduct  VALIDATION testing  as well  as the obligation  to fully
  944. support the CERTIFICATION SYSTEM established by the AJPO.  
  945.  
  946. 6.3  CHARTER RENEWAL.  An AVF charter  remains in effect  for two
  947. years from the date of issue.  However, a charter can  be removed
  948. by  the  Director,  AJPO in  less than  two years for  due cause. 
  949. Renewal requests are submitted by AVFs to the Director,  AJPO for
  950. re-evaluation and  approval at least six months prior to  the end
  951. of the two-year period. 
  952.  
  953. 6.4  AUDIT OF OPERATIONS.  The  AVO has oversight  authority over
  954. all  AVF  practices  for  the  purpose  of maintaining  a uniform
  955. process for VALIDATION of Ada  COMPILERs. The Director,  AJPO may
  956. direct an impartial body to conduct an audit of AVF operations at
  957. any time and may require an audit prior  to issuing or   renewing
  958. an  AVF  charter.  Audits   are  conducted  in   accordance  with
  959. procedures established by the Director, AJPO  at the time  of the
  960. audit,  and  are tailored  to reflect  the purpose of  the audit.  
  961. AVF  managers  meet periodically  with the Director,  AJPO and/or
  962. with  the  AVO  to  discuss  the  VALIDATION  process  and  audit
  963. procedures, to share ideas,  and to resolve  problems encountered
  964. in conducting the VALIDATION of Ada COMPILERs.
  965.  
  966.  
  967.  
  968.                             Section 7
  969.  
  970.                Ada COMPILER VALIDATION CAPABILITY
  971.          DEVELOPMENT, MANAGEMENT, AND LIFE CYCLE CONTROL
  972.  
  973. 7.0  ACVC PURPOSE.  The Ada COMPILER VALIDATION CAPABILITY (ACVC)
  974. is  the  test  suite  used  to  test  COMPLIANCE   and  determine
  975. CONFORMITY  of  an  Ada  COMPILER.  This  section   outlines  the
  976. development approach to changing  tests, managing the  test suite
  977. configuration, and controlling the life cycle maintenance  of the
  978. ACVC.
  979.  
  980. 7.1  ACVC TEST SUITE DEVELOPMENT.  Each version of the ACVC has a 
  981. development  cycle  (currently  twelve  months) divided  into two
  982. periods:  laboratory development and  field testing.  During  the
  983. laboratory   development   period,  tests  are   added,  removed,
  984. corrected, and improved.  During the field-test period,  the test
  985. suite  is  available  for  public  inspection.  An  ACVC  version
  986. becomes the official ACVC test suite version  to be used  for all
  987. VALIDATIONs  when  the AJPO  releases it  for use.  The  official
  988. period of use is normally twelve months. 
  989.  
  990. 7.2  VERSION RELEASE.  After  the development cycle  is complete,
  991. the new version of the ACVC test suite is  issued for use  by all
  992. AVFs and their clients in all VALIDATIONs.  Each  version expires 
  993. on a publicly announced schedule.  The  current  release schedule
  994. is  1  December  for the field  test version  and 1 June  for the
  995. official version, with the ACVC test suite expiring twelve months
  996. after  release.  VENDORS  are  required  to  use the  same single
  997. version  of  the  test  suite for pre-VALIDATION  and VALIDATION. 
  998. Table 7.1 provides a representative schedule of an ACVC release.
  999.  
  1000. 7.3  MANAGEMENT OF THE ACVC TEST SUITE.  The  AJPO  approves each
  1001. version of the ACVC prior to its release for use  in VALIDATIONs,
  1002. and  ensures that  the test  suite and procedures  for VALIDATION
  1003. testing  are publicly  available.  The  AVF at  ASD/SIOL, Wright-
  1004. Patterson Air Force Base, Ohio, 45433-6503 is designated the ACVC
  1005. Maintenance Organization (AMO).  The AMO maintains a subscription
  1006. service for issuing the ACVC and provides to other AVFs a list of
  1007. tests  withdrawn  from  the  test  suite.  Each  AVF  maintains a
  1008. subscription service for its own clients of record.
  1009.  
  1010. 7.4  QUALITY  ASSURANCE  OF  THE  ACVC.  During   the  field-test
  1011. period, all reported test errors and disputed tests  are reported
  1012. to and researched by the AMO; tests  found to contain  errors are
  1013. either  corrected  or removed  from the  test suite.  During  the
  1014. twelve  month  period  when  a  test  suite  version is  used for
  1015. CONFORMITY testing, the only change permitted to the suite is the
  1016. removal  of  tests  whose  interpretation of the  Ada PROGRAMMING
  1017. LANGUAGE is judged by the AJPO to be  incorrect or dubious.   The
  1018. AVO  collects reports  from the  Ada user and  compiler developer
  1019. communities concerning implementation anomalies. 
  1020.      When a  question of CONFORMITY can be detected  and resolved
  1021. by  adding  a  suggested  test to  the next ACVC  version, strong
  1022. consideration will be given to implementing it.  Contributions to
  1023. the ACVC are solicited on a no-cost basis by each AVF.   Proposed
  1024. modifications to the ACVC generated in this way are  entered into
  1025. the same review cycle as  are modifications proposed  through the
  1026. regular AMO maintenance process, and  are included into  the next
  1027. ACVC test suite after approval by the AJPO.
  1028.  
  1029.  
  1030.                            Table 7.1
  1031.  
  1032.                     Table Showing ACVC Life-cycle
  1033.  
  1034.  
  1035. June      Dec       June      Dec       June      Dec       June
  1036. 85        85        86        86        87        87        88
  1037.  
  1038. ACVC Revision 1.7
  1039. --------------------
  1040. |                  |
  1041. |   OPERATIONAL    |
  1042. --------------------
  1043.                                                                                                       
  1044.         ACVC Revision 1.8                                   
  1045.  ---------------------------------------
  1046.  |         |  FIELD  |                 |
  1047.  | DEVELOP |  TEST   |   OPERATIONAL   |
  1048.  --------------------------------------
  1049.                                                        
  1050.                               ACVC Revision 1.9
  1051.                      -------------------------------------------
  1052.                      |         |  FIELD  |                     |
  1053.                      | DEVELOP |  TEST   |    OPERATIONAL      |
  1054.                      -------------------------------------------
  1055.  
  1056.  
  1057. 7.5  ACVC LIFE-CYCLE CONTROL.  When  a  particular version  of an
  1058. ACVC is released for a field-test period, the tests  contained in
  1059. that version become the field-test baseline.  At  the end  of the
  1060. field-test period, an official baseline list of tests included in
  1061. the next  ACVC version to  be released  is published by  the AMO. 
  1062. The official baseline can be changed only by actions  approved by
  1063. the  AJPO.  When  tests  in  the  official baseline are  found to
  1064. contain errors, they are removed from the ACVC  by the AMO.   The
  1065. AJPO, AVO, and other AVFs are advised of this action by  the AMO. 
  1066. The AVO ensures that appropriate action is taken to address tests
  1067. removed  from  an  ACVC  version.  When  tests  are  corrected or
  1068. replaced, they are incorporated into a subsequent ACVC version on
  1069. a schedule published by the AMO. 
  1070.  
  1071.      The  following are  the procedures  to report and  resolve a
  1072. suspect ACVC test:
  1073.  
  1074.      1.  Disputed  ACVC  tests.  If  a  client,  VENDOR,  or user 
  1075. believes that a test is  in error,  he/she should send  a written
  1076. statement giving the test name and  a description of  the problem
  1077. to  the  validating  AVF or  AMO, as appropriate.   Supplementary
  1078. materials,  such  as  compilation listings or  execution results,
  1079. that illustrate the test error should be included when possible.  
  1080.  
  1081.      2.  Corrective action.    When tests in a released ACVC test
  1082. suite version are challenged as  being in  error, the AVF  or AMO
  1083. receiving the challenge  refers it to the AVO.  The  AVO analyzes
  1084. the information surrounding the  challenged test with  the advice
  1085. of a group of Ada  PROGRAMMING LANGUAGE  experts.  A  decision on
  1086. these disputes is reached by  the AJPO  as soon as  possible, and
  1087. the AVF referring the challenge is notified of the decision.   If
  1088. the decision is  that a test  is to  be withdrawn from  that ACVC
  1089. version, the AMO generates and distributes to all AVFs a new list
  1090. of withdrawn tests.  Tests that have been withdrawn from the ACVC
  1091. by the AJPO are not to be executed during on-site testing.
  1092.  
  1093.                             Section 8
  1094.  
  1095.                DoD GUIDELINES FOR Ada COMPILER USE
  1096.  
  1097. 8.0  PURPOSE.  The  purpose  of  this  section  is  to  establish
  1098. guidelines  for  ensuring  CONFORMITY  to  the   Ada  PROGRAMMING
  1099. LANGUAGE on DoD projects that develop and maintain Ada software.
  1100.  
  1101. 8.1  SCOPE.  This   document   integrates   guidelines   for  the
  1102. VALIDATION  and  control  of  Ada  COMPILERs with  DoD life-cycle
  1103. management  practices.  These  guidelines  are  intended  to  aid
  1104. program managers in the initial  acquisition of an  Ada COMPILER,
  1105. control of that compiler through the software  development phase,
  1106. the transition of an Ada COMPILER from development to maintenance
  1107. activities, and control of an Ada COMPILER during maintenance.
  1108.  
  1109. 8.2  OVERALL  CONCEPT.  A   program  manager    identifies    the
  1110. requirement for a VALIDATED Ada COMPILER as an action  within the
  1111. context of project milestones.  After identification, a VALIDATED
  1112. COMPILER is baselined in accordance with applicable  DoD software
  1113. life-cycle management policies, procedures, and practices.   This
  1114. baselined  VALIDATED  COMPILER  then becomes  a PROJECT-VALIDATED
  1115. COMPILER for the lifetime of that project.
  1116.  
  1117. 8.3  GENERAL GUIDANCE.
  1118.  
  1119. 8.3.1  USE OF PROJECT-VALIDATED Ada COMPILERs.  Ada software used
  1120. in  DoD  systems  that  is  delivered  for  operational  testing,
  1121. deployment  and  maintenance should  be compiled with  a PROJECT-
  1122. VALIDATED COMPILER.  A  project may  have more than  one PROJECT-
  1123. VALIDATED COMPILER.
  1124.  
  1125. a.  A  PROJECT-VALIDATED  COMPILER   retains  its  status   as  a  
  1126. PROJECT-VALIDATED  COMPILER  for  the  duration of a  project and  
  1127. under  any  contractual  arrangement  that  requires use  of this  
  1128. PROJECT-VALIDATED COMPILER.  This  status is  retained regardless
  1129. of  the  VALIDATION  status  of  the  compiler under  the general
  1130. VALIDATION policies and procedures.
  1131.  
  1132. b.  Maintenance of a  PROJECT-VALIDATED COMPILER does  not affect 
  1133. its  status  as  a  PROJECT-VALIDATED  COMPILER  if  the modified 
  1134. compiler  is  baselined  and passes  all applicable tests  of the 
  1135. ACVC in a version equal to or more  recent than the  ACVC version
  1136. that was in effect at the time of the baselining of the  PROJECT-
  1137. VALIDATED  COMPILER.  When  a  system  software release  has been
  1138. compiled  on  several  PROJECT-VALIDATED COMPILERs,  ACVC testing
  1139. requirements apply to each of these compilers. 
  1140.  
  1141. 8.3.2   Ada COMPILERS FOR RESTRICTED  TARGETS.   An  Ada COMPILER
  1142. used  to  generate  object  code  for  a   RESTRICTED  TARGET  is
  1143. considered to be a PROJECT-VALIDATED COMPILER if and  only if all
  1144. of the following conditions are satisfied:
  1145.  
  1146. a.   The PROJECT-VALIDATED COMPILER for the GENERIC TARGET is a
  1147.      fully conforming implementation of the Ada PROGRAMMING
  1148.      LANGUAGE (CONFORMITY), even though its use may be solely for
  1149.      the development of applications software for RESTRICTED
  1150.      TARGETs.
  1151.  
  1152. b.   All mandatory features of the Ada PROGRAMMING LANGUAGE that
  1153.      can be supported by hardware, or are emulated on the
  1154.      RESTRICTED TARGET, are supported by the compiler for the
  1155.      RESTRICTED TARGET.   ( i.e., Compilers for the RESTRICTED
  1156.      TARGET should not be arbitrarily constrained to subset
  1157.      implementations of the Ada PROGRAMMING LANGUAGE.)
  1158.  
  1159. c.   All APPLICATION-SPECIFIC RUN-TIME LIBRARIES for RESTRICTED
  1160.      TARGETs are contained within that application and do not
  1161.      affect the Ada COMPILER for the GENERIC TARGET or the
  1162.      RESTRICTED TARGET when used to generate code for other
  1163.      applications.
  1164.  
  1165. 8.3.3    Ada   COMPILERS   USED   DURING   SOFTWARE  DEVELOPMENT.
  1166. Compilers used to develop Ada software do not have to be PROJECT-
  1167. VALIDATED COMPILERs throughout the entire development phase.  The
  1168. Program  Manager  determines  when  in  the  development  phase a
  1169. compiler will be placed under baseline control, at which time the
  1170. compiler must satisfy the definition  of a VALIDATED  COMPILER in
  1171. order to become a  PROJECT-VALIDATED COMPILER.  A  review  of the
  1172. CONFORMITY  status  of  a  PROJECT-VALIDATED  COMPILER  should be
  1173. conducted  prior  to  any  Ada  application software  release and
  1174. reported to the Program Manager.  When  because  of modifications
  1175. to  the  compiler, the  CONFORMITY status of  a PROJECT-VALIDATED
  1176. COMPILER becomes uncertain to the  Program Manager, it  should be
  1177. retested.    Considerations  for  retesting include the  scope of
  1178. change to the  PROJECT-VALIDATED COMPILER,  a change in  the BASE
  1179. CONFIGURATION,  and  the  size  of  the Ada  application software
  1180. release. 
  1181.  
  1182. 8.4  Ada COMPILER USE DURING DEPLOYMENT AND MAINTENANCE.  At each
  1183. baseline  milestone in  the maintenance  cycle, the testing  of a
  1184. PROJECT-VALIDATED  COMPILER   to  ensure  CONFORMITY   should  be
  1185. accomplished as it was done during  software development.    This
  1186. testing  can  be  waived  if  the  PROJECT-VALIDATED  COMPILER is
  1187. identical to one of  the previous  baseline milestones, or  if it
  1188. has  been  replaced by  an unmodified  BASE COMPILER for  which a
  1189. VALIDATION  CERTIFICATE  is  in effect.  At  a  minimum, PROJECT-
  1190. VALIDATED COMPILERs should be upgraded or replaced in conjunction
  1191. with MAJOR UPGRADEs.
  1192.  
  1193. 8.5  DETAILED GUIDANCE.
  1194.  
  1195. 8.5.1  SOFTWARE DEVELOPMENT WITH A VALIDATED ADA COMPILER.
  1196.  
  1197. 8.5.1.1   In the initial acquisition of  an Ada Compiler,  if the
  1198. compiler  selected  for  use  on  a  project  is not  a VALIDATED
  1199. COMPILER, the program manager  is responsible for  requiring that 
  1200. a  VALIDATION  CERTIFICATE  for  this  compiler  be  obtained  in
  1201. accordance with the formal VALIDATION process. 
  1202.  
  1203. 8.5.1.2  Ada  software  may  be  developed  prior to  obtaining a
  1204. VALIDATED  COMPILER  and baselining  this compiler as  a PROJECT-
  1205. VALIDATED  COMPILER.  However,  use  of  a VALIDATED  or PROJECT-
  1206. VALIDATED COMPILER at the  earliest practical time  is encouraged
  1207. to reduce risk  and potential  problems during the  acceptance of
  1208. the software for operational testing.
  1209.  
  1210. 8.5.1.3  When  a  VALIDATED  COMPILER  has  been baselined  for a
  1211. project, configuration control procedures must be  established to
  1212. ensure  complete  documentation of  changes made to  the PROJECT-
  1213. VALIDATED  COMPILER  and  for  derivations  from  it.     Program
  1214. managers are encouraged to  ascertain at periodic  intervals that
  1215. maintenance  changes  and  derivations  have  not   affected  the
  1216. capability  of  the   PROJECT-VALIDATED  COMPILER  to   pass  all
  1217. applicable tests of the ACVC in a version equal to or more recent
  1218. than used in its initial VALIDATION.
  1219.  
  1220. 8.5.1.4  After  expiration  of  a  VALIDATION  CERTIFICATE  for a
  1221. PROJECT-VALIDATED COMPILER, a program manager should  ensure that
  1222. the compiler stays in CONFORMITY throughout the remaining life of
  1223. the project by taking the following actions:
  1224.  
  1225. a.   Re-test the PROJECT-VALIDATED COMPILER and DERIVED               
  1226.      COMPILERs using the ACVC version used to originally
  1227.      establish the CONFORMITY of the BASE COMPILER whenever the
  1228.      CONFORMANCE of the compiler is suspect.  This
  1229.      periodic retesting should be scheduled as part of project
  1230.      baseline milestones and the results incorporated into
  1231.      project documentation.  A program manager determines
  1232.      whether this testing is done by project personnel or by an
  1233.      AVF.  Cost, schedules, extent of maintenance on the
  1234.      compiler, contractual obligations, as well as the      
  1235.      expected size of the software release, are considerations
  1236.      in determining periodic retesting.
  1237.  
  1238. b.   Ensure that all APPLICATION-SPECIFIC  RUN-TIME LIBRARIES and
  1239.      run-time support for RESTRICTED TARGETs are developed and
  1240.      documented separately from that of the compiler, and that
  1241.      the support does not affect the CONFORMITY of the Ada  
  1242.      COMPILER used to generate object code.
  1243.  
  1244. c.   Ensure that planned program product improvement (P3I)
  1245.      actions are incorporated into project baseline milestones  
  1246.      and contracts well in advance of the projected action, as
  1247.      these (P3I) actions may result in the acquisition of a
  1248.      replacement compiler.
  1249.  
  1250. 8.5.2 TRANSITION TO MAINTENANCE.  Program managers should perform
  1251. ACVC  testing on  their PROJECT-VALIDATED COMPILERs  to establish
  1252. the  CONFORMITY  status  of PROJECT-VALIDATED COMPILERs  prior to
  1253. transition  of  an  Ada  application  program  to  a  maintenance
  1254. activity.
  1255.  
  1256.                            Appendix A
  1257.  
  1258.                DECLARATION OF CONFORMANCE (SAMPLE)
  1259.  
  1260. Compiler Implementer:                                           
  1261. Ada Validation Facility:                                         
  1262. Ada Compiler Validation Capability (ACVC)      Version:         
  1263.  
  1264.                        Base Configuration
  1265.  
  1266. Base Compiler Name:                            Version:          
  1267. Host Architecture    ISA:               OS&VER #:               
  1268. Target Architecture  ISA:               OS&VER #:               
  1269.  
  1270.                   Derived Compiler Registration
  1271.  
  1272. Derived Compiler Name:                          Version:         
  1273. Host Architecture    ISA:            OS&VER #:                  
  1274. Target Architecture  ISA:            OS&VER #:                  
  1275.  
  1276.                     Implementer's Declaration
  1277.  
  1278.      I,   the   undersigned,   representing   (Corporation)  have
  1279. implemented no deliberate extensions to the Ada Language Standard
  1280. ANSI/MIL-STD-1815A in the compiler(s) listed in this declaration.  
  1281. I declare that    (Owner's Name)     is  the  owner of  record of
  1282. the  Ada  language  compiler(s)  listed  above  and, as  such, is
  1283. responsible  for maintaining  said compiler(s) in  conformance to
  1284. ANSI/MIL-STD-1815A.  All  certificates and registrations  for Ada
  1285. language  compiler(s)  listed in  this declaration shall  be made
  1286. only in the owner's corporate name.
  1287.  
  1288.       (Implementer's Signature and Title)            (Dated)      
  1289.  
  1290.  
  1291.                        Owner's Declaration
  1292.  
  1293.      I,  the  undersigned,  representing (Corporation)  take full
  1294. responsibility  for  implementation  and  maintenance of  the Ada
  1295. compiler(s) listed above, and agree  to the public  disclosure of
  1296. the final Validation Summary Report.  I further agree to continue
  1297. to comply with the Ada  trademark policy,  as defined by  the Ada
  1298. Joint Program  Office.  I  declare that  all of the  Ada language
  1299. compilers  listed,  and  their  host/target  performance  are  in
  1300. compliance  with the Ada Language Standard  ANSI/MIL-STD-1815A. I
  1301. have reviewed the Validation  Summary Report for  the compiler(s)
  1302. and concur with the contents.
  1303.  
  1304.       ( Owner's Signature and Title)                 (Dated)      
  1305.  
  1306. This  document is  part of  the Validation Summary  Report (VSR),
  1307. Appendix  A, for  initial validations  and must be  submitted for
  1308. each  derived  compiler  registration  during  or  subsequent  to
  1309. initial validation.
  1310.