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.Kempe@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.Kempe@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 ftpmail@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: ftpmail@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: ftpmail@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
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |