Form G95-0792a
ADA9X.HLP

Ada Information Clearinghouse 1-800-AdaIC-11, 703-685-1477

                                   Ada 9X

Ada has become a billion dollar industry since its development in the late 
1970s.  Ada's strong support for sound software engineering practice is widely 
recognized internationally in the defense and commercial sectors for both 
real-time embedded and information systems.

Ada 83 is an ISO, ANSI, NATO and Federal Information Processing Standard 
(FIPS) standard with strict Ada compiler conformance testing available in five 
locations world-wide.  This makes Ada the most widely standardized programming 
language today.  The strict conformance testing of every validated Ada 
compiler ensures a high degree of code portability and software reuse.  Ada 83 
boasts more validated compilers than any other high order language and the 
quality of Ada compilers is now on a par with other popular compilers.

In 1988, a revision of Ada 83 was initiated to reflect experience with the 
language and to enhance its use for software development in the 1990s.  The 
project, called Ada 9X, is sponsored by the US Department of Defense with wide 
participation by the international community to ensure continued 
multi-standard status and broad acceptance.

Based on user needs communicated to the Ada 9X Project Office via a one-year 
open call for revision requests, support for the three new major features is 
planned: Object-Oriented Programming (OOP), Protected Records, and 
Hierarchical Library Units.

For improved support of the OOP paradigm, changes include a more robust 
inheritance feature and runtime polymorphism, based on enhancements to the 
derived type mechanisms of Ada 83.  The polymorphism allows a call to a 
subprogram to perform a runtime dispatch based on a type tag contained within 
one or more actual parameters.  In a recent Ada 9X prototyping exercise, some 
of the well-known Booch software components originally written in Ada 83 and 
more recently in C++, were rewritten in Ada 9X.  The resulting Ada 9X source 
code was more compact by a factor of 5 to 1 than the Ada 83 version.  This 
leads to a potentially higher degree of software reuse and extensibility.  
Furthermore, the Ada 9X code -- when compared to the C++ code -- was 
comparable in size and efficiency, considerably more readable, and presumably, 
more maintainable.

For the real-time community, the protected record feature offers a lightweight 
language construct for task synchronization through exclusive access to data 
objects.  Protected records function much like the telephone answering 
machine, allowing a sender to leave a message without the receiver's presence 
and a receiver to retrieve a message later without the sender's presence.  
Recent Ada 9X prototyping exercises have shown that use of protected records, 
where appropriate speeds execution by a factor of three compared to the use of 
the Ada 83 task rendezvous.

To facilitate software reuse, the Ada 9X hierarchical library feature offers a 
very flexible library structure that allows the organization of what would 
otherwise be a large monolithic library unit in Ada 83 into smaller more 
manageable compilation units.  This capability can significantly reduce 
recompilation time during software development and maintenance, provide the 
means to reduce the amount of code imported when accessing only portions of a 
software product, and facilitate the adaptation or extension of existing 
software.  Recent Ada 9X exercises involving modification of an X-Windows 
Library interface code in Ada 83 and in Ada 9X demonstrate a 75% decrease in 
compilation time during the modification process in Ada 9X version over the 
Ada 83 version.

Current plans for multiple annexes to the standard in which semantics denoted 
as "implementation-defined" in Ada 83 are now more specifically defined in the 
Ada 9X standard to match the unique demands or certain application areas: 
real-time systems, information systems, systems programming, distributed 
systems, etc.  Such annexes may also include standardized packages of special 
importance to the respective area.  Support for a particular annex is optional 
to allow Ada implementations to be finely tuned to selected domains.

The Ada 9X Project Office is working on mechanisms for smoothing the 
transition from Ada 83 to Ada 9X including, but not limited to, programmers 
and managers guidebooks, training programs, vendor incentives, and enhanced 
compilation systems.  Ada compiler vendors are being kept informed of Ada 9X 
progress through workshops and special reports to hasten the time-to-market.

Ada may not be for everyone but if your shop is developing complex, highly 
reliable, software-intensive applications that must be maintained for three or 
more years, look no further.  Ada is the language for you and you can start 
now with Ada 83 and easily transition to Ada 9X when its compilers are 
available.  Ada may be the best investment you ever make for your software 
products.

                         For More Information ...

For more information on the Ada 9X project, contact the Ada 9X Project Office:

Christine M. Anderson
Ada 9X Project Office
PL/VTET
Kirtland AFB NM 87117-6008
Tel: 505/846-0817
Fax: 505/846-2290
E-mail: ada9x@plk.af.mil

The reports that have been produced under the project are available for 
downloading from the Ada 9X electronic bulletin board and the ada9x public 
directory on the AJPO host computer on the Internet.  The bulletin board can 
be reached by dialing 1/800-Ada-9X25 or 301/459-8939.  Users should set their 
telecommunications package with the following parameters:

Baud rate = 300 through 9600              Data Bits = 8
Parity = none                             Stop Bits = 1 

Ada 9X project reports are also available in the ada9x directory on the AJPO 
host computer.  This directory can be accessed via the file transfer program, 
which allows a user to transfer files to and from a remote network host site.  
An example ftp connection to the ada9x directory follows.

[your-prompt] ftp ajpo.sei.cmu.edu        execute ftp from your remote site. 
name: anonymous                           login using "anonymous".
password: guest                           enter password of "guest".
ftp> cd public                            change to the "public" 
                                          sub-directory.
ftp> dir                                  get a list of accessible 
                                          sub-directories. 
ftp> cd ada9x                             change to the ada9x subdirectory.
ftp> get README [newname.hlp]             get README from ftp and copy it to 
                                          "newname.hlp" on your machine.
ftp> mget file1...fileN                   get multiple files from ftp and load 
                                          them onto your machine with the same 
                                          names.
ftp> bye                                  logout when finished.

The directory structure for the ada9x directory is as follows:

ada9x/ada9x.reports
      This directory contains the Ada 9X Project Reports.  See 
      /ada9x/ada9x.reports/README for a complete list of documents.

ada9x/news
      Ada 9X Project Reports to the Public and Special Project Announcements.  
      See /ada9x/news/README for a complete list of announcements.

ada9x/past
      Outdated Announcements.

                            **********************

Copyright 1993.  IIT Research Institute.  All rights assigned to the U.S. 
Government (Ada Joint Program Office).  Permission to reprint this flyer, in 
whole or in part, is granted, provided the AdaIC is acknowledged as the 
source.  If this flyer is reprinted as a part of a published document, please 
send the AdaIC a courtesy copy of the publication.

                 Ada Information Clearinghouse (AdaIC)
                               P.O. Box 46593
                       Washington, DC  20050-6593
             703/685-1477, 800/AdaIC-11, FAX 703/685-7019
           adainfo@ajpo.sei.cmu.edu; CompuServe 70312,3303

The AdaIC is sponsored by the Ada Joint Program Office and operated by IIT 
Research Institute.



