This is an excerpt from a discussion on the team-ada mailing list. This summary was created by Howard W. LUDWIG . It has been archived as a valuable summary of an often discussed issue. However, it is strictly an individual opinion and not an official DoD statement.

In reply to David Shochat who wrote:

> Dear team,
> I am software manager for a small project using Ada 95. Today, an employee
> of our subcontractor asserted that he read in cla that the current DoD
> directive 3405.1 only allows Ada 83, and therefore we can't use Ada 95. I
> sent him a copy of the March 94 Paige Memo. Is there anything else that can
> be added? The nature of our project is to demonstrate advanced technology
> concepts in a series of demonstrations. These will include distributed
> processing with CORBA. The demos we develop will not be fielded as
> operational software.
>
> I'd appreciate any support on this.

It is true that DOD Directive 3405.1 does specifically list ANSI/MIL-STD-1815A,
February 1983, in its references to Ada [reference (g) and Enclosure 3 to be
specific].

However, there are several reasons not to regard that particular version of Ada
as mandated for USA military use:

(1).  DODD 3405.1 itself in Enclosure 4 Section 2 specifies:

    "  2. Each DoD-approved HOL shall be assigned to a DoD language-control
     agent, as shown in Enclosure 3 [which names AJPO for Ada], who shall:

         a. Have the authority and responsibility for proper support of all
     language-control activities needed to provide for necessary modification
     and improvement of the assigned HOL.  The agent shall operate in
     accordance with DoD 4120.3-M (reference (i)).

         b. ...

         c. Maintain a single standard definition of the assigned HOL and
     make this definition document available as a Federal, DoD, military, or
     adopted industry standard.  ..."

Ada 95 is the outcome of AJPO, the assigned agent, in carrying out its
responsibility under (a).  AJPO has arranged through the American National
Standards Institute (ANSI, the industry control agent called out for Ada in
DODD 3405.1 Enclosure 3) and ISO to establish Ada 95 as an adopted industry
standard (ANSI/ISO/IEC 8652:1995), and further through the National Institute
of Standards and Technology (NIST) as a federal standard (FIPS 119-1).  All
these documents accept Ada 95 as the definition of Ada and supersede previous
versions, which corresponded to Ada 83 (ISO/IEC 8652:1987 and FIPS 119,
respectively).  Thus AJPO is fulfilling its obligation under (c).

(2). The Congressional mandate for Ada has appeared in various forms in
several Defense Appropriations Acts since Fiscal Year 1991.  None of these
have specified a particular version of Ada.  In such cases, normally the
latest version rules.

(3). The Perry memorandum on "Specifications and Standards" of 29 June 1994
and the follow-up memorandum by Longuemare and Paige on "the Use of Ada" of
26 August 1994 call out the use of "commercial specifications and standards"
together indicate that Ada remains an acceptable language for mandating in
military procurements because it is an ANSI, ISO, and FIPS (in other words,
commercial) standard.  At the time of these two memoranda Ada 83 was the
standard and was specifically listed in the references of the three standards.
Following the spirit of the memoranda, Ada 95 is now the commercial
specification of Ada.

Looking carefully at the above quoted DODD 3405.1 Enclosure 4 Section 2c,
AJPO is to "maintain a single standard definition of" Ada.  That is Ada 95
as called out in ANSI/ISO/IEC 8652:1995.  Ada 83 would be a second definition
of Ada and violate the requirement for a *"single"* standard definition.
Thus, Ada 95 has superseded (that is, replaced, rather than joined) Ada 83 as
the definition of Ada.  Therefore, in some sense, the subcontractor was right
but had it backwards--it is Ada 95 that all future military work should be
using and not Ada 83.  Of course, this statement is an oversimplification of
a complex world.  DODD 3405.1 allows for exemptions/exceptions/waivers for
programs which are already underway or can justify inability to meet the Ada
(read "Ada 95") requirement; since there are only seven (the last count I saw
anyway) validated Ada 95 compilers and they cover only a very limited set of
host and target machines, it should still be easy to get permission to use
Ada 83.

Probably the biggest confusion is that when a new standard comes out which
supersedes an already existing one, the new standard states that it is in fact
superseding specified standards.  I have not seen any official USA defense
document stating that Ada 95 supersedes Ada 83 (MIL-STD-1815A).  However, this
is not surprising in view of the Perry and Longuemare-Paige memoranda mentioned
above; the new way of doing business indicates that commercial practices are to
be followed, including through their changes.  The Foreword, paragraph 4, of
ISO/IEC 8652:1995 states, "This second edition cancels and replaces the first
edition (ISO 8652:1987), of which it constitutes a technical revision."  This
is probably good enough in the eyes of DOD.  In my own experience, the best
practice of all is to coordinate with your customer as to whether you should
use Ada 83 or Ada 95, and let them work out any bureaucratic items.  This is
in the spirit of the Paige memorandum on "Early Use of Ada9X" of 9 March 1994.

--

Howard W. LUDWIG, Ph.D.                     ludwig@escmail.orl.mmc.com
Lockheed Martin Information Systems Co.     V:  (407) 826 3789
Orlando, FL                                 F:  (407) 826 6973