Google Групи вече не поддържа нови публикации или абонаменти в Usenet. Съдържанието за минали периоди остава видимо.

Ada FAQ: comp.lang.ada (part 1 of 3)

0 показвания
Преминаване към първото непрочетено съобщение

Magnus Kempe

непрочетено,
24.05.1996 г., 3:00:0024.05.96 г.
до

Archive-name: computer-lang/Ada/comp-lang-ada/part1
Comp-lang-ada-archive-name: comp-lang-ada/part1
Posting-Frequency: monthly
Last-modified: 24 May 1996
Last-posted: 22 April 1996

comp.lang.ada
Frequently Asked Questions (FAQ)

Recent changes to this FAQ are listed in the first section after the table
of contents. This document is under explicit copyright.

This is part 1 of a 3-part posting; part 1 contains the table of contents.
Part 2 begins with question 4.
Part 3 begins with question 7.
They should be the next postings in this thread.


Introduction

Ada is an advanced, modern programming language, designed and
standardized to support and strongly encourage widely recognized
software engineering principles: reliability, portability, modularity,
reusability, programming as a human activity, efficiency,
maintainability, information hiding, abstract data types, genericity,
concurrent programming, object-oriented programming, etc.

All validated Ada compilers (i.e. a huge majority of the commercial
Ada compilers) have passed a controlled validation process using an
extensive validation suite. Ada is not a superset or extension of any
other language. Ada does not allow the dangerous practices or effects
of old languages, although it does provide standardized mechanisms to
interface with other languages such as Fortran, Cobol, and C.

Ada is recognized as an excellent vehicle for education in programming
and software engineering, including for a first programming course.

Ada is defined by an international standard (the language reference
manual, or LRM), which has been revised in 1995. Ada is taught and
used all around the world (not just in the USA). Ada is used in a very
wide range of applications: banking, medical devices,
telecommunications, air traffic control, airplanes, railroad
signalling, satellites, rockets, etc.

The latest version of this FAQ is always accessible through WWW as
http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html#title

Maintenance

This FAQ is maintained on an individual volunteer basis, by Magnus
Kempe (Magnus...@di.epfl.ch). [Note: This is done as a hobby, not
in my capacity as an employee at the Swiss Federal Institute of
Technology. --MK]


_________________________________________________________________

Report of a product, service, or event, etc., does not constitute an
endorsement. Opinions (if any) expressed are those of the submitters
and/or maintainer.
_________________________________________________________________

Table of Contents:

* 1: Recent changes to this FAQ

* 2: Information about this document

* 3: Elementary questions
+ 3.1: What is Ada?
o 3.1.1: What are the LRM, RM, and AARM?
o 3.1.2: Where can I get other information on Ada?
+ 3.2: I have seen the language name capitalized as ADA, as
well as Ada. Which is right?
+ 3.3: What is Ada 95 (aka Ada 9X)?
o 3.3.1: Are there already Ada 95 books?
+ 3.4: Is Ada a registered trademark (TM) of the US government?
+ 3.5: Where can I find an electronic version of the Ada
language reference manual (LRM)?
+ 3.6: Is Ada used in commercial applications?
+ 3.7: How do I do [choose_a_goal] in Ada?
+ 3.8: I think Ada could really benefit from having
[choose_a_feature] from [choose_a_language] ...
+ 3.9: I just saw a very anti-Ada post that I think is
definitely wrong. Why didn't anybody post a response to it?
Should I?
o 3.9.1: Person X is a heckler, should I answer him in
public?
+ 3.10: I very strongly agree/disagree with the Ada mandate (or
a post dealing with it). Why doesn't anyone praise/criticize
it? Should I?
+ 3.11: Why shouldn't I cross-post my comp.lang.ada messages to
other comp.lang.* newsgroups?
+ 3.12: I don't have FTP service on the host where I have an
account. Is there any other way I can access FTP sites?
o 3.12.1: The AdaIC host has a special e-mail service for
FTP.
+ 3.13: Common Confusions
o 3.13.1: Wasn't Ada designed by some committee? What kind
of a language could you possibly get from a committee?
o 3.13.2: I've heard the DoD is dropping all Military
standards to reduce costs, doesn't that mean the
mandate to use Ada goes away too?


* 4: Compilers
+ 4.1: Is there a list of validated Ada compilers?
+ 4.2: Is there a free Ada compiler (or interpreter)?
o 4.2.1: GNAT, The GNU NYU Ada Translator -- An Ada 95
Compiler
o 4.2.2: Ada/Ed -- An Interpreter for Ada 83
o 4.2.3: GW-Ada/Ed -- a souped-up version of Ada/Ed for
386/486 DOS and Macintosh machines
+ 4.3: What cheap (<500$) Ada compilers are available?
+ 4.4: Is there an Ada compiler for common machine X/common
operating system Y?
o 4.4.1: on the Macintosh?
o 4.4.2: native for OS/2?
+ 4.5: How can I contact Ada compiler vendor?
+ 4.6: Are Ada 95 compilers compatible with Ada 83?


* 5: Organizations that deal with Ada and Ada issues
+ 5.1: Ada Joint Program Office (AJPO)
+ 5.2: Ada Information Clearinghouse (AdaIC)
+ 5.3: ACM/SIGAda
+ 5.4: ISO WG 9


* 6: Tools
+ 6.1: Is there an Ada-mode for Emacs?
+ 6.2: Are there versions of lex and yacc that generate Ada
code?
+ 6.3: Where can I get a yacc/ayacc grammar to read Ada code?
+ 6.4: What is Anna, and where can I get it?
+ 6.5: What is DRAGOON, and where can I get it?
+ 6.6: Where can I get language translators? And should I?
+ 6.7: What is ASIS?


* 7: Bindings
+ 7.1: General
+ 7.2: POSIX
o 7.2.1: What is the status of the POSIX/Ada work?
o 7.2.2: How can I get a copy of POSIX/Ada?
o 7.2.3: Is POSIX/Ada available via FTP?
+ 7.3: X Window System


* 8: Is there a list of good Ada books?

* 9: Resources
+ 9.1: What FTP sites contain information about Ada or Ada
source?
+ 9.2: Reuse
o 9.2.1: Are there any free, public-domain, or other
general-access software repositories that contain Ada
source code and information on reuse?
o 9.2.2: Is there a database of reusable Ada software
components?
+ 9.3: Where can I get Ada benchmark programs?
+ 9.4: Are there any dial-up BBS systems that deal with Ada?


* 10: Credits

* 11: Copying this FAQ


_________________________________________________________________

1: Recent changes to this FAQ

* 960524: the AJPO (5.1) is going away in 1997.
* 960415: update on GNAT (4.2.1).
* 960322: updated list of Ada 95 books (3.3.1).
* 960309: moved annotated list of books (8) to the new Learning Ada
FAQ.
* 960228: updated AJPO (5.1) and AdaIC (5.2) information.
* 960228: updated AdaIC e-mail service for FTP (3.12.1).
* 960228: ASIS info (6.7) updated.
* 960228: revised BBS section (9.4).
* 960130: update and reorg of free Ada compilers (4.2).
* 960130: updated AJPO information (5.1).
* 960111: list of vendors (4.5) updated.
* 960111: validated Ada 95 compilers (4.1).
* 960111: updated list of Ada 95 books (3.3.1).
* 960105: please ignore hecklers (3.9.1).
* 950925: clearing some common confusions: Ada was NOT desiged by
committee (3.13.1) and the DoD has NOT dropped the mandate
(3.13.2).
* 950913: update on Mac compilers (4.4.1)
* 950828: the change logs now indicate the section/question number.
* 950819: POSIX bindings status update (7.2.1).
* 950819: a lot of URL updates: AdaIC files keep moving around.
* 950725: GW-Ada for Mac info updated (4.2.3).
* 950630: list of vendors updated (4.5) (email, phone, WWW).
* 950623: ASIS info updated (6.7).
* 950613: ACES info updated (9.3).
* 950406: what are the LRM, RM, and AARM (3.1.1).
* 950321: upward compatibility between Ada 83 and Ada 95 (4.6).
* 950228: general URL updates: AdaIC host changed (no longer AJPO).
* 950221: Ada 9X is officially Ada 95 since February 15, 1995.
* 950221: added AdaBasis repository (9.2.1).
* 950207: revised introduction.
* 950126: revised BBS section (9.4).
* 950124: approved for posting in *.answers.


What's important and missing:
* description of the ACVC
* CD-ROMs
* list of regular Ada-related events


_________________________________________________________________

2: Information about this document

This file is posted monthly to comp.lang.ada, comp.answers, and
news.answers.

This document has a home on the Home of the Brave Ada Programmers
(HBAP) WWW Server, in hypertext format, URL
http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html#title

It is available --as posted in *.answers-- on rtfm.mit.edu, which
archives all FAQ files posted to *.answers; see directory
ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/computer-lang/Ada

The text-only version is also available in directory
ftp://lglftp.epfl.ch/pub/Ada/FAQ

Magnus Kempe maintains this document; it's a hobby, not a job.
Feedback (corrections, suggestions, ideas) about it is to be sent via
e-mail to Magnus...@di.epfl.ch
Thanks.

In all cases, the most up-to-date version of the FAQ is the version
maintained on the HBAP WWW Server. Please excuse any formatting
inconsistencies in the posted, text-only version of this document, as
it is automatically generated from the on-line, hypertext version.

_________________________________________________________________


3: Elementary questions


3.1: What is Ada?

Ada is an advanced, modern programming language, designed and
standardized to support widely recognized software engineering
principles: reliability, portability, modularity, reusability,
programming as a human activity, efficiency, maintainability,
information hiding, abstract data types, concurrent programming,
object-oriented programming, et caetera. All Ada compilers must pass a
validation test.


3.1.1: What are the LRM, RM, and AARM?

LRM is the abbreviated name of the Language Reference Manual,
sometimes called Ada Reference Manual. "LRM" was often used in the
days of Ada 83; "RM" or "rm95" is frequently used since the 1995
revision of the language. Ada 95 is for the most part an extension of
Ada 83.

What is the AARM for Ada 83?
Compiled by K. Nyberg, it contains the full text of
ANSI/MIL-STD-1815A with inline annotations derived from the Ada
Rapporteur Group of the International Organization for
Standards responsible for maintaining the Ada language.

Distribution has been transferred by Grebyn Corporation to the
Ada Resource Association, (614) 538-9232. The organization is
going to be offering it as a "member benefit", or something
like that for individual members, and will probably sell
additional copies.

What is the AARM for Ada 95?
Contains the entire text of the Ada 95 standard (ISO/IEC
8652:1995(E)), plus various annotations. It is intended
primarily for compiler writers, validation test writers, and
other language lawyers. The annotations include detailed
rationale for individual rules and explanations of some of the
more arcane interactions among the rules.


3.1.2: Where can I get other information on Ada?

If you have questions which this FAQ does not answer, you may contact
the Ada Information Clearinghouse (see below, question 5.2), use the
Usenet newsgroup comp.lang.ada, read the Ada Yearbook published by Ada
UK, or the Ada Resources published by the ACM.

To find out more, you may also use the HBAP WWW Server, URL
http://lglwww.epfl.ch/Ada/, which hosts three companion FAQs:
Ada/programming, Ada/learning, and Ada/ada-www-server (also
regularly posted to comp.lang.ada).

I encourage you to check out the changes listed early in the document
each time this FAQ is posted.


3.2: I have seen the language name capitalized as ADA, as well as Ada. Which
is right?

The correct capitalization is Ada. It's a proper name, for Ada
Lovelace (1815-1852), who is regarded to be the world's first
programmer. Using all-caps usually implies an acronym, and this forum
is not devoted to the American Dental Association :-).

In addition, the ISO and IEEE recommend as a general guideline that
one spell like proper names the language names that are pronounced as
they are spelled (e.g. Ada, Pascal, Cobol, Basic, Fortran). Note: that
a name originally resulted from abbreviation is considered irrelevant.
For language names that are phonetically spelled (e.g. C, C++, APL,
PL/1), they should be spelled in all uppercase.


3.3: What is Ada 95 (aka Ada 9X)?

Ada 95 refers to the current, revised version of the Ada standard.
(Ada 83 was the original ANSI/ISO standard.) The Ada 9X Project Office
was responsible for the revision, and worked closely with the
international community to ensure Ada retains its ISO status. The Ada
9X process was very open. Many documents are still available for
downloading from
ftp://sw-eng.falls-church.va.us/public/AdaIC/pol-hist/history/9x-history
on the AdaIC host. The Ada 9X Project Office has been closed.

Ada 95 includes four major areas of enhancement: support for
object-oriented programming, data-oriented synchronization,
programming-in-the-large, and realtime systems.

A great deal of attention was focused on transitioning to Ada 95. The
validation test suite was available early (in draft form prior to
ANSI/ISO approval with official release 3 months after ANSI/ISO
approval). However, for a two-year period after the official revision
of the standard (15 February 1995), vendors will be able to focus on
enhanced areas of the language that their customer base wants first;
i.e., the first validation test suite will be modularly constructed.
Vendors were also encouraged to release beta-versions of their Ada 95
implementations prior to validation.

There is also a complete GNU Ada 95 compilation system (GNAT)
available since late 1993. (See question 4.2.1.)


3.3.1: Are there already Ada 95 books?

The Ada 95 Rationale explains how to use the new mechanisms of the
language; it is quite readable. The new Reference Manual is THE
reference, of course. The Annotated Reference Manual provides detailed
explanations of the rules of the language (good for implementors and
language lawyers). All three are available in their final versions by
FTP from the AdaIC host, in directory
ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
(v6.0).

There are already a number of books which have sections on Ada 95 or
have completely integrated the revised definition of the language into
their presentation:
* J. Barnes. Programming in Ada 95
Addison-Wesley. Price $43.25. ISBN 0-201-87700-7.
* J. Barnes. Programming in Ada: Plus an Overview of Ada 9X.
Addison Wesley. Price $43.25. ISBN 0-201-62407-9.
An Ada 83 book with indications of what Ada 95 adds.
* G. Booch and D. Bryan. Software Engineering with Ada.
3rd ed., Benjamin/Cummings, 1994. (price?) ISBN 0-8053-0608-0.
Published before finalization of Ada 9X, thus not completely
up-to-date.
* A. Burns and A. Wellings. Concurrency in Ada.
Cambridge University Press. Price GBP 25 (about $45). ISBN
0-521-41471-7.
* N. Cohen. Ada as a Second Language.
2nd ed., McGraw-Hill. Price about $60. ISBN 0-07-011607-5.
* Naiditch. Rendezvous with Ada 9X.
2nd ed., John Wiley & Sons, Inc. Price $44.95. ISBN 0-471-01276-9.
* J. Skansholm. Ada From the Beginning.
2nd ed., Addison-Wesley. Price GBP 21.95. ISBN 0-201-62448-6.
* M. Smith. Object Oriented Software with Ada 95. International
Thomson Computer Press. Price GBP 21.95. ISBN 1-85032-185-X.


For an annotated list of Ada 95 books, see the companion Learning Ada
FAQ.


3.4: Is Ada a registered trademark (TM) of the US government?

No, but it used to be; there is now a "certification mark", which can
be used only for validated compilers.

Prior to November 30, 1987, the name "Ada" was a registered trademark.
In the December 1987 issue of the Ada Information Clearinghouse
Newsletter, Ms. Virginia Castor, then Director of the Ada Joint
Program Office (AJPO), announced that the Department of Defense would
thereafter rely on a certification mark instead of a trademark.

(The certification mark is a Pentagon-shaped symbol with a "Validated
Ada" message, and can be seen on the documentation of validated Ada
compilers.)

The text of the 1987 AJPO announcement is available on the AdaIC host,
in
ftp://sw-eng.falls-church.va.us/public/AdaIC/pol-hist/policy/trademrk.txt


3.5: Where can I find an electronic version of the Ada reference manual (LRM)?


The revised Reference Manual (RM for Ada 95--v6.0 final version) is
available, in plain ASCII and Postscript files, in directories
ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
/v6.0
and (compressed files)
ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat
/v6.0.compressed

This version was released in December 1994 and is freely
distributable. For language lawyers and implementors, the Annotated
Ada Reference Manual (AARM) is also available there.

The old, Ada 83 LRM is available in a compressed set of ASCII files in
directory ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/83lrm


Both Ada 83 and Ada 95 reference manuals also exist in hypertext
format, accessible through the HBAP WWW Server (see the companion FAQ:
Ada/ada-www-server).


3.6: Is Ada used in commercial applications?

You bet. Ada is used in e.g. airplanes, air traffic control systems,
financial systems, telecommunications systems, medical devices.
* The AdaIC host on the Internet contains a report of Commercial Ada
Users Working Group (CAUWG) of the Association for Computing
Machinery's Special Interest Group on Ada (ACM SIGAda). Dated June
1993, the report is a survey of applications from around the world
that are written in Ada. It is in
ftp://sw-eng.falls-church.va.us/public/AdaIC/usage/summary/cauwg.txt

* The Ada Information Clearinghouse maintains a list of Ada projects
that have submitted information for the AdaIC's Ada Usage
Database. It is only a sample of Ada projects, but it includes
both commercial and government-related projects. For details on
contacting the AdaIC, see question 5.2.

* On the AdaIC host, file
ftp://sw-eng.falls-church.va.us/public/AdaIC/usage/summary/ada-use.txt
contains a summary of the Ada Usage Database and a number
of individual project descriptions that may be of interest (the
commercial projects are listed after the US DoD projects).


3.7: How do I do [choose_a_goal] in Ada?

This kind of question often revolves around an issue which is
dependent on a specific implementation or operating system. Thus, in
order to improve the odds of getting a useful answer, one should
indicate what the host and target environments are (Ada vendor,
compiler version, OS version, machine). Ada implementations normally
come with a vendor-supplied library which provides hooks to the
environment (operating system, graphics, etc.); check the
documentation.

Even in the case of things that are in the language, there are
implementation dependencies that make it helpful to always have this
information at hand if people want the most effective help. Note that
annex F requires "the reference manual of each Ada implementation" to
"include an appendix (called Appendix F) that describes all
implementation-dependent characteristics."


3.8: I think Ada could really benefit from having [choose_a_feature] from
[choose_a_language],
or:
I think Ada is clearly [inferior_or_superior] to [choose_a_language] because
it has [choose_a_feature].

Such posts almost always result in religious language wars and only
waste bandwidth. PLEASE refrain from such posts unless you have a
specific question about Ada. For example, the following kind of
question *is* appropriate: "In [choose_a_language] I can do
[choose_a_feature]. How would I go about doing this in Ada?"

Further, if you are going to compare programming languages, please
note "Nebbe's rule":

If you can't think of a least one area where a language is better
than your preferred language then you probably aren't competent to
comment on it.


3.9: I just saw a very anti-Ada post that I think is definitely wrong. Why
didn't anybody post a response to it? Should I?

Ada apparently gets more than its share of attacks, probably due to
its unique origins, and the fact that it is a requirement for some
government software. For the same reasons as in the preceding
question, PLEASE refrain from posting a response to these, unless you
feel there is something of *significant* importance that you can
contribute. Posts containing factual corrections are OK, but posts
like "Well, I've used Ada on many projects, and all have been very
successful" accomplish nothing. If you are really dead-set on driving
your point home to the poster, you can do it via e-mail.


3.9.1: Person X is a heckler, should I answer him in public?

Some people seem to devote much of their energy to "flaming" other
people in various newsgroups. The best advice is to ignore such
hecklers; in particular, don't follow up to their postings. Even if
ignoring them often doesn't seem to make them go away, it will at
least abate the flames.

And if [like me, MK] you can't stand seeing the messages coming from
known hecklers, your best option is to add an entry in a "killfile" of
your newsreader to automatically discard their messages.

Normally, it should not be necessary to mention any particular name
here, but since the worst heckler in comp.lang.ada regularly resorts
to harassment and personal abuse, it seems both necessary and useful
to point him out to the readers of comp.lang.ada (and especially for
the sake of newcomers).

PLEASE DO NOT ANSWER to messages coming from "Colin James III" (use
e.g. the entry "/Colin James/:j" in your "killfile").


3.10: I very strongly agree/disagree with the Ada mandate. Should I
praise/criticize it?

First, it is a fact that there is an Ada standard, on which the US
DoD is aligned (the so-called "mandate"). No shouting match will
change that. Second, don't believe rumors (about the mandate, its
withdrawal, its being ignored, etc.) you read in comp.lang.ada, unless
you have reasons to (i.e. you know the author is trustworthy, or the
author provides references which you can check, and which you have
checked yourself at least a couple of times.)

For your information, here is the text of "Public Law 101-511 Sec
8092":

Notwithstanding any other provisions of law, after June 1, 1991,
where cost effective, all Department of Defense software shall be
written in the programming language Ada, in the absence of special
exemption by an official designated by the Secretary of Defense.

What about discussing the US Ada mandate?

If you want to argue either for or against US Government Ada policies
please restrict your postings to "usa" (field "Distribution:").
Remember that Ada is an international standard, but the US mandate is
not an international issue.

Praise of the mandate is usually based on the ideas that a) it is
better to have one language than 1500 obscure, proprietary languages
for all DoD-owned non-COTS systems, and b) Ada is a good software
engineering language, especially when it comes to maintenance.

Criticism of the mandate is usually based on the ideas that a) a good
language should not need a mandate (which ignores the fact that before
standardizing on Ada the DoD had to maintain for 20+ years software
written in 1500 obscure, proprietary programming languages--which is
hard and costly), b) the mandate is mostly ineffective, since either
it is ignored, or too many waivers are granted, or none is necessary
(a policy issue which will in all likelihood NOT be resolved by
discussions on comp.lang.ada), and c) no programming language is the
most appropriate for every problem (true, but
irrelevant--standardizing on a single good language for all DoD
development and maintenance is practical, economical, and much better
than not standardizing at all).

Finally, whenever you see a message criticizing the Ada language (or
Ada companies) for losing completely both in the market and under the
mandate, check the facts for yourself. For the most part, the Ada
mandate is enforced; in many critical, commercial systems, Ada is the
language of choice and its adoption a success; in the slowly-changing
competition of programming languages, FORTRAN and COBOL dominate, and
Smalltalk, C++, Eiffel, and Ada are all slowly growing. Ada is
(finally, and we hope seriously) penetrating academia. There is a GNU
Ada 95 compiler available. And remember that Ada 95 is the first
internationally standardized object-oriented programming language.

If you have some new, additional facts, with approriate references so
that everyone can check for himself, then posting on a mandate-related
issue is OK. If NOT, then refrain from posting. PLEASE, if someone
starts a non-factual discussion, the best policy is simply to ignore
it or, if you have to, you may reply by private e-mail. Try to hold
the same standards as you would in discussing problem-solving with the
programming language itself, and put your information in a way which
encourages positive action; criticism of inefficiency and/or
ineptitude is fine, as long as it is honest, documented, and polite.


3.11: Why shouldn't I cross-post my comp.lang.ada messages to other
comp.lang.* newsgroups?

The huge majority of the comp.lang.ada messages are Ada specific, and
many are from people supporting Ada, so that all threads developing on
c.l.a end up dealing with Ada.

Cross-posting should be used with caution and careful thought, for
various reasons:
* First, avoid annoying readers of other newsgroup with irrelevant
Ada messages. If you expect to successfully proselytize by
cross-posting into newsgroups dedicated to other programming
languages, think twice! Note that if you are replying to a
cross-posted article, it is your responsibility to pare down the
newsgroup lists ("Newsgroups: c.l.a,abc,xyz" and "Followup-to:
c.l.a,xyz").

* Second, the subject line ("Subject: xyz") should be relevant to
all cross-posted groups (e.g. if the thread originated in c.l.a
and then is cross-posted, think about the message--if there is
any--explicitly carried over by the subject; some people read the
subject line only).

* Finally, it is good and polite practice to mention explicitly in
the text of a cross-posted article that it is cross-posted and
where you would like followup articles to go. You should of course
change the "Followup-to:" header yourself to redirect a thread to
appropriate newsgroups, in addition to explicitly stating that you
are doing so. For instance, if you cross-post an original article
it is a good, polite, and effective idea to redirect followups.


Exaggerated cross-posting is in the same category as junk mail:
negative publicity.


3.12: I don't have FTP service on the host where I have an account. Is there
any other way I can access FTP sites?

If you are not connected to the Internet but do send and receive
email from the net, you can use an "ftp by mail" agent, such as
ftpmail, which is provided by DEC's Western Research Labs (DECWRL).
The mail server may be reached by sending a mail message to
uucp!decwrl!ftpmail or ftp...@decwrl.dec.com .

Complete instructions for using ftpmail may be retrieved with a
message to the above address with subject "ftpmail" and the single
word "help" as the text of your message. Example query:

To: ftp...@decwrl.dec.com
Subject: ftpmail

help


3.12.1: The AdaIC host has a special e-mail service for FTP.

anonymous file transfer protocol (ftp)

ftp sw-eng.falls-church.va.us
login: anonymous
password:


ftpmail: To obtain complete instructions, send e-mail to:

ftp...@sw-eng.falls-church.va.us

with the word "help" in the subject line.


3.13: Common Confusions

3.13.1: Wasn't Ada designed by some committee? What kind of a language could
you possibly get from that kind of approach?

(Tucker Taft, the principal designer of Ada 95, responds)

I believe most reviewers of Ada 9X (and Ada 83 for that matter) will
assure you that it was most certainly not designed by committee ;-).

In fact, with respect to MI, the situation was just the opposite.
There were several reviewers who pushed hard for building in a
particular approach to MI. The principle designer (;-) was unconvinced
that the benefits of building in a particular MI approach outweighed
the costs as far as complexity. There was no clear winner to use as a
model in the outside world; even Sather and Eiffel couldn't agree
exactly on how to resolve the intricacies of MI, despite their strong
similarities in other areas.


3.13.2: I've heard the DoD is dropping all Military standards to reduce costs,
doesn't that mean the mandate to use Ada goes away too?

The following memo explains how that decision affects the Ada mandate:

OFFICE OF THE SECRETARY OF DEFENSE

Washington, DC 20301-1000

August 26, 1994


MEMORANDUM FOR SECRETARIES OF THE MILITARY DEPARTMENTS
CHAIRMAN OF THE JOINT CHIEFS OF STAFF
UNDER SECRETARY OF DEFENSE (PERSONNEL AND
READINESS)
UNDER SECRETARY OF DEFENSE (POLICY)
COMPTROLLER OF THE DEPARTMENT OF DEFENSE
GENERAL COUNSEL OF THE DEPARTMENT OF DEFENSE
INSPECTOR GENERAL OF THE DEPARTMENT OF DEFENSE
DIRECTOR OF OPERATIONAL TEST AND EVALUATION
DIRECTORS OF THE DEFENSE AGENCIES

SUBJECT: Use of Ada

The purpose of this memorandum is to reiterate the Department
of Defense (DoD) commitment to the use of Ada.

It is DoD policy to use commercial off-the-shelf (COTS)
software whenever it meets our requirements. However, when COTS
software is not available to satisfy requirements and the DoD must
develop unique software to meet its needs, that software must be
written in the Ada programming language in accordance with DoD
Directive 3405.1 and DoD Instruction 5000.2.

Secretary Perry's June 29, 1994 memorandum, "Specification &
Standards -- A New Way of Doing Business," states that military
standards will only be used "as a last resort, with an appropriate
waiver." This direction has caused some confusion regarding the
Ada requirement since most references to Ada cite its MIL-STD
nomenclature, MIL-STD-1815A. Ada is also a Federal Information
Processing Standard (FIPS 119), an American National Standards
Institute (ANSI) standard (ANSI-1815A-1983), and an International
Standards Organization (ISO) standard (ISO 8652-1987). Any of
these alternative references may be utilized in place of the MIL-
STD reference in request for proposals, contracts, and other
similar documents. Thus, the Ada requirement does not conflict
with the Secretary's direction, and compliance with both policies
can be achieved simultaneously.

Use of other programming languages can be considered if
proposed by a contractor as part of his best practices since
waivers to the use of Ada can be granted, where cost-effective, in
accordance with procedures established in the policy referenced
above. However, such proposals require strong justification to
prove that the overall life-cycle cost will be less than the use of
Ada will provide.

Secretary Perry's memorandum encourages practices that satisfy
the Department's need to build high quality systems that meet
requirements at affordable costs an in a timely manner. This
includes practices which support the development of Defense
Software. Ada is not only a facilitator of software engineering
best practice, but also has inherent features which uniquely
support both real-time systems and safety-critical systems. Use of
Ada also facilitates software reuse and has demonstrated reduced
support costs. Accordingly, Ada is a foundation for sound software
engineering practice.

/signed/ /signed/

Noel Longuemare Emmett Paige, Jr.
Under Secretary of Defense Assistant Secretary of Defense
(Acquisition and Technology) (Command, Control,
(Acting) Communications, and
Intelligence)

cc:
DDR&E

0 нови съобщения