home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / comp.lang.ada < prev    next >
Encoding:
Text File  |  1995-04-11  |  99.4 KB  |  2,380 lines

  1. Archive-name: computer-lang/Ada/comp-lang-ada/part1
  2. Comp-lang-ada-archive-name: comp-lang-ada/part1
  3. Posting-Frequency: monthly
  4. Last-modified: 17 February 1995
  5. Last-posted: 19 January 1995
  6.  
  7.                                  comp.lang.ada
  8.                        Frequently Asked Questions (FAQ)
  9.  
  10. This is part 1 of a 3-part posting.
  11. Part 2 begins with question 4.5.
  12. Part 3 begins with question 9.
  13. They should be the next postings in this thread.
  14.  
  15.  
  16. Introduction
  17.  
  18.    Ada is an advanced, modern programming language, designed and
  19.    standardized to support and strongly encourage widely recognized
  20.    software engineering principles: reliability, portability, modularity,
  21.    reusability, programming as a human activity, efficiency,
  22.    maintainability, information hiding, abstract data types, genericity,
  23.    concurrent programming, object-oriented programming, etc.
  24.  
  25.    All Ada compilers must pass a validation test. Ada is not a superset
  26.    or extension of any other language. Ada does not allow the dangerous
  27.    practices or effects of old languages, although it does provide
  28.    standardized mechanisms to interface with other languages such as
  29.    Fortran, Cobol, and C.
  30.  
  31.    Ada is recognized as an excellent vehicle for education in programming
  32.    and software engineering, including for a first programming course.
  33.  
  34.    Ada is defined by an international standard (the language reference
  35.    manual, or LRM), which has been revised in 1995. Ada is taught and
  36.    used all around the world (not just in the USA). Ada is used in a very
  37.    wide range of applications: banking, medical devices,
  38.    telecommunications, air traffic control, airplanes, railroad
  39.    signalling, satellites, rockets, etc.
  40.  
  41.    The latest version of this FAQ is always accessible through WWW as
  42.    http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html
  43.  
  44. Maintenance
  45.  
  46.    This FAQ is maintained on an individual volunteer basis, by Magnus
  47.    Kempe (Magnus.Kempe@di.epfl.ch). [Note: This is done as a hobby, not
  48.    in my capacity as an employee at the Swiss Federal Institute of
  49.    Technology. --MK]
  50.  
  51.    Some time ago, the AdaIC announced it would maintain its own FAQ
  52.    pointing to Ada items available on the Ada Joint Program Office's
  53.    host. In the meantime, this FAQ still contains pointers to AJPO and
  54.    AdaIC material.
  55.  
  56.  
  57.      _________________________________________________________________
  58.  
  59.    Report of a product, service, or event, etc., does not constitute an
  60.    endorsement. Opinions (if any) expressed are those of the submitters
  61.    and/or maintainer.
  62.      _________________________________________________________________
  63.  
  64.  
  65. Table of Contents:
  66.  
  67.  
  68.      * 1: Recent changes to the FAQ
  69.  
  70.      * 2: Information about this document
  71.  
  72.      * 3: Elementary questions
  73.           + 3.1: What is Ada?
  74.                o 3.1.1: Where can I get other information on Ada?
  75.           + 3.2: I have seen the language name capitalized as ADA, as
  76.             well as Ada. Which is right?
  77.           + 3.3: What is Ada 9X?
  78.                o 3.3.1: Are there already Ada 9X books?
  79.           + 3.4: Is Ada a registered trademark (TM) of the US government?
  80.           + 3.5: Where can I find an electronic version of the Ada
  81.             language reference manual (LRM)?
  82.           + 3.6: Is Ada used in commercial applications?
  83.           + 3.7: How do I do [choose_a_goal] in Ada?
  84.           + 3.8: I think Ada could really benefit from having
  85.             [choose_a_feature] from [choose_a_language] ...
  86.           + 3.9: I just saw a very anti-Ada post that I think is
  87.             definitely wrong. Why didn't anybody post a response to it?
  88.             Should I?
  89.           + 3.10: I very strongly agree/disagree with the Ada mandate (or
  90.             a post dealing with it). Why doesn't anyone praise/criticize
  91.             it? Should I?
  92.           + 3.11: Why shouldn't I cross-post my comp.lang.ada messages to
  93.             other comp.lang.* newsgroups?
  94.           + 3.12: I don't have FTP service on the host where I have an
  95.             account. Is there any other way I can access FTP sites?
  96.                o 3.12.1: The AJPO host has a special e-mail service for
  97.                  FTP.
  98.  
  99.  
  100.      * 4: Compilers
  101.           + 4.1: Is there a list of validated Ada compilers?
  102.           + 4.2: Is there a public-domain/free/shareware Ada compiler or
  103.             interpreter?
  104.                o 4.2.1: Ada/Ed -- An Interpreter for Ada 83 
  105.                o 4.2.2: GW-Ada/Ed -- a souped-up version of Ada/Ed for
  106.                  386/486 DOS and Macintosh machines
  107.                o 4.2.3: GNAT, The GNU NYU Ada Translator -- An Ada 9X
  108.                  Compiler
  109.           + 4.3: What cheap (<500$) Ada compilers are available?
  110.           + 4.4: Is there an Ada compiler for common machine X/common
  111.             operating system Y?
  112.                o 4.4.1: on the Macintosh?
  113.                o 4.4.2: native for OS/2?
  114.           + 4.5: How can I contact Ada compiler vendor?
  115.  
  116.  
  117.      * 5: Organizations that deal with Ada and Ada issues
  118.           + 5.1: Ada Joint Program Office (AJPO)
  119.           + 5.2: Ada Information Clearinghouse (AdaIC)
  120.           + 5.3: ACM/SIGAda
  121.           + 5.4: ISO WG 9
  122.  
  123.  
  124.      * 6: Tools
  125.           + 6.1: Is there an Ada-mode for Emacs?
  126.           + 6.2: Are there versions of lex and yacc that generate Ada
  127.             code?
  128.           + 6.3: Where can I get a yacc/ayacc grammar to read Ada code?
  129.           + 6.4: What is Anna, and where can I get it?
  130.           + 6.5: What is DRAGOON, and where can I get it?
  131.           + 6.6: Where can I get language translators? And should I?
  132.           + 6.7: What is ASIS?
  133.                o 6.7.1: How can I get hold of ASIS?
  134.                o 6.7.2: How can I find out more about ASIS? and Can I
  135.                  take part in its development?
  136.  
  137.  
  138.      * 7: Bindings
  139.           + 7.1: General
  140.           + 7.2: POSIX
  141.                o 7.2.1: What is the status of the POSIX/Ada work?
  142.                o 7.2.2: How can I get a copy of POSIX/Ada?
  143.                o 7.2.3: Is POSIX/Ada available via FTP?
  144.           + 7.3: X Window System
  145.  
  146.  
  147.      * 8: Is there a list of good Ada books?
  148.  
  149.      * 9: Resources
  150.           + 9.1: What FTP sites exist that contain information about Ada
  151.             or Ada source?
  152.           + 9.2: Reuse
  153.                o 9.2.1: Are there any free, public-domain, or other
  154.                  general-access software repositories that contain Ada
  155.                  source code and information on reuse?
  156.                o 9.2.2: Is there a database of reusable Ada software
  157.                  components?
  158.           + 9.3: Where can I get Ada benchmark programs?
  159.           + 9.4: Are there any dial-up BBS systems that deal with Ada?
  160.  
  161.  
  162.      * 10: Credits
  163.  
  164.      * 11: Copying this FAQ
  165.  
  166.  
  167.      _________________________________________________________________
  168.  
  169.  
  170. 1: Recent changes to the FAQ
  171.  
  172.  
  173.      * 950207: revised introduction.
  174.      * 950126: revised BBS section.
  175.      * 950124: approved for posting in *.answers.
  176.      * 950111: Alsys changed name to Thomson Software Products.
  177.      * 950109: electronic versions of the Ada LRM.
  178.      * 950106: Updated annotated list of books.
  179.      * 950104: Don't cross-post from comp.lang.ada.
  180.      * 941222: updated list of FTP sites.
  181.      * 941219: added Nebbe's rule.
  182.      * 941219: fixed ftp URLs.
  183.      * 941209: How to contact vendors.
  184.      * 941019: How do I do [choose_a_goal] in Ada?
  185.      * 941010: Updated the list of Ada books.
  186.      * 940916: How to access FTP by email.
  187.      * 940831: What is Ada, and where can one get more information?
  188.      * 940830: Ada 9X books.
  189.      * 940818: added an explicit copyright statement.
  190.      * 940817: love/hatred of the Ada mandate.
  191.      * 940816: where are yacc grammars for Ada?
  192.      * 940815: made into a hypertext version to browse on WWW.
  193.      * 940815: is there an Ada compiler for machine X with OS Y?
  194.      * 940815: pointer to list of reusable components.
  195.      * 940812: references to network resources now follow the URL
  196.        convention.
  197.      * 940812: completely revised the structure.
  198.      * 9408: new maintainer.
  199.  
  200.  
  201.    What's important and missing:
  202.      * description of the ACVC.
  203.      * CD-ROMs.
  204.      * list of regular Ada-related events.
  205.  
  206.  
  207.      _________________________________________________________________
  208.  
  209.  
  210. 2: Information about this document
  211.  
  212.    This file is posted monthly to comp.lang.ada, comp.answers, and
  213.    news.answers.
  214.  
  215.    This document has a home on the Ada WWW Server, in hypertext format (
  216.    URL http://lglwww.epfl.ch/Ada/FAQ/comp-lang-ada.html ). The text-only
  217.    version is also available in directory
  218.    ftp://lglftp.epfl.ch/pub/Ada/FAQ
  219.  
  220.    It is available--as posted in *.answers--on rtfm.mit.edu, which
  221.    archives all FAQ files posted to *.answers; see
  222.    ftp://rtfm.mit.edu/pub/usenet-by-group/news.answers/computer-lang/Ada
  223.  
  224.    [A pretty old version of the FAQ is still available for downloading
  225.    via anonymous FTP from the AJPO host (ajpo.sei.cmu.edu), in directory
  226.    ftp://ajpo.sei.cmu.edu/public/comp-lang-ada (files cla-faq1 and
  227.    cla-faq2).]
  228.  
  229.    For notes on FTP, or the lack thereof, see question 3.10, describing
  230.    how to use FTP by e-mail.
  231.  
  232.    Magnus Kempe maintains this document; it's not a job, it's a hobby.
  233.    Feedback (corrections, suggestions, ideas) about it is to be sent via
  234.    e-mail to magnus.kempe@di.epfl.ch . Thanks.
  235.  
  236.    In all cases, the most up-to-date version of the FAQ is the version
  237.    maintained on the Ada WWW Server. Please excuse any formatting
  238.    inconsistencies in the posted, text-only version of this document, as
  239.    it is automatically generated from the on-line, hypertext version.
  240.  
  241.      _________________________________________________________________
  242.  
  243.  
  244. 3: Elementary questions
  245.  
  246.  
  247. 3.1: What is Ada?
  248.  
  249.    Ada is an advanced, modern programming language, designed and
  250.    standardized to support widely recognized software engineering
  251.    principles: reliability, portability, modularity, reusability,
  252.    programming as a human activity, efficiency, maintainability,
  253.    information hiding, abstract data types, concurrent programming,
  254.    object-oriented programming, et caetera. All Ada compilers must pass a
  255.    validation test.
  256.  
  257.  
  258.     3.1.1: Where can I get other information on Ada?
  259.  
  260.    If you have questions which this FAQ does not answer, you may contact
  261.    the Ada Information Clearinghouse (see below, question 5.2), use the
  262.    Usenet newsgroup comp.lang.ada, read the Ada Yearbook published by Ada
  263.    UK, or the Ada Resources published by the ACM.
  264.  
  265.    To find out more, you may also use the Ada WWW Server, URL
  266.    http://lglwww.epfl.ch/Ada/, which has a companion FAQ:
  267.    Ada/ada-www-server (also regularly posted to comp.lang.ada).
  268.  
  269.    I encourage you to check out the changes listed early in the document
  270.    each time this FAQ is posted.
  271.  
  272.  
  273. 3.2: I have seen the language name capitalized as ADA, as well as Ada. Which
  274. is right?
  275.  
  276.    The correct capitalization is Ada. It's a proper name, for Ada
  277.    Lovelace (1815-1852), who is regarded to be the world's first
  278.    programmer. Using all-caps usually implies an acronym, and this forum
  279.    is not devoted to the American Dental Association :-).
  280.  
  281.    In addition, ISO and IEEE recommend as a general guideline to spell
  282.    like proper names the language names that are pronounced as they are
  283.    spelled (e.g. Ada, Pascal, Cobol, Basic, Fortran). Note: that a name
  284.    originally resulted from abbreviation is considered irrelevant. For
  285.    language names that are phonetically spelled (e.g. C, C++, APL, PL/1),
  286.    they should be spelled in all uppercase.
  287.  
  288.  
  289. 3.3: What is Ada 9X?
  290.  
  291.    Ada 9X refers to the revised version of Ada. (Ada 83 is the current
  292.    ANSI/ISO standard.) The Ada 9X Project Office is responsible for the
  293.    revision, and is working closely with the international community to
  294.    ensure Ada retains its ISO status. The Ada 9X process is very open.
  295.    Volunteer Reviewers are welcome and should contact
  296.    ada9x-vr@ajpo.sei.cmu.edu . Many documents are available for
  297.    downloading from directory ftp://ajpo.sei.cmu.edu/public/ada9x on the
  298.    AJPO host (see question 9.1, FTP sites for more information.) For
  299.    further information, contact the Ada 9X Project Office, PL/VTES,
  300.    Kirtland AFB, New Mexico 87117-5776.
  301.  
  302.    Ada 9X includes four major areas of enhancement: support for
  303.    object-oriented programming, data-oriented synchronization,
  304.    programming-in-the-large, and realtime systems.
  305.  
  306.    A great deal of attention is being focused on transitioning to Ada 9X.
  307.    The validation test suite will be available early (in draft form prior
  308.    to ANSI/ISO approval with official release 3 months after ANSI/ISO
  309.    approval). However, for a two-year period vendors will be able to
  310.    focus on enhanced areas of the language that their customer base wants
  311.    first; i.e., the first validation test suite will be modularly
  312.    constructed. Vendors are also being encouraged to release
  313.    beta-versions of their Ada 9X implementations prior to validation.
  314.  
  315.    There is also a (still partial) GNU Ada 9X compilation system (GNAT)
  316.    available since late 1993. (See question 4.2.3.)
  317.  
  318.  
  319.     3.3.1: Are there already Ada 9X books?
  320.  
  321.    The Ada 9X Rationale explains how to use the new mechanisms of the
  322.    language; it is quite readable. The new Reference Manual is THE
  323.    reference, of course. The Annotated Reference Manual provides detailed
  324.    explanations of the rules of the language (good for implementors and
  325.    language lawyers). All three are available by FTP from the AJPO host,
  326.    in directory ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x (v5.0).
  327.  
  328.    There are also a few commercial books which have sections on Ada 9X or
  329.    have integrated the revised definition of the language into their
  330.    presentation:
  331.      * J. Barnes. Programming in Ada: Plus an Overview of Ada 9X.
  332.        Addison Wesley. Price $43.25. ISBN 0-201-62407-9.
  333.      * G. Booch and D. Bryan. Software Engineering with Ada.
  334.        3rd ed., Benjamin/Cummings, 1994. ISBN 0-8053-0608-0.
  335.      * Naiditch. Rendez-vous with Ada 9X.
  336.        2nd ed., John Wiley & Sons, Inc. Price $44.95. ISBN 0-471-01276-9.
  337.      * J. Skansholm. Ada From the Beginning.
  338.        2nd ed., Addison-Wesley
  339.  
  340.  
  341. 3.4: Is Ada a registered trademark (TM) of the US government?
  342.  
  343.    No, but it used to be; there is a "certification mark", though, which
  344.    is to be used only for validated compilers.
  345.  
  346.    Prior to November 30, 1987, the name "Ada" was a registered trademark.
  347.    In the December 1987 issue of the Ada Information Clearinghouse
  348.    Newsletter, Ms. Virginia Castor, then Director of the Ada Joint
  349.    Program Office (AJPO), announced that the Department of Defense would
  350.    thereafter rely on a certification mark instead of a trademark.
  351.  
  352.    (The certification mark is a Pentagon-shaped symbol with a "Validated
  353.    Ada" message, and can be seen on the documentation of validated Ada
  354.    compilers.)
  355.  
  356.    The text of the 1987 AJPO announcement is available as an AdaIC file
  357.    on the AJPO host, in
  358.    ftp://ajpo.sei.cmu.edu/public/policy/trademrk.txt.
  359.  
  360.  
  361. 3.5: Where can I find an electronic version of the Ada reference manual (LRM)?
  362.  
  363.  
  364.    The revised Reference Manual (RM for Ada 95--v5.95 final draft) is
  365.    available, in plain ASCII and Postscript files, in directories
  366.    ftp://ajpo.sei.cmu.edu/public/ada9x/mrtcomments/rm9x/v5.95 and
  367.    (compressed files)
  368.    ftp://ajpo.sei.cmu.edu/public/ada9x/mrtcomments/rm9x/v5.95.compresse
  369.    d
  370.  
  371.    This is dated 25 November 1994 and is freely distributable. For
  372.    language lawyers and implementors, the Annotated Ada Reference Manual
  373.    (AARM) is also available there.
  374.  
  375.    The old, Ada 83 LRM is available in plain ASCII files in directory
  376.    ftp://ajpo.sei.cmu.edu/public/lrm
  377.  
  378.    Both Ada 83 and Ada 9X reference manuals also exist in hypertext
  379.    format, accessible through the Ada WWW Server (see the companion FAQ:
  380.    Ada/ada-www-server).
  381.  
  382.  
  383. 3.6: Is Ada used in commercial applications?
  384.  
  385.    Yes. Ada is used in e.g. airplanes, air traffic control systems,
  386.    financial systems, telecommunications systems, medical devices.
  387.      * The AJPO host on the Internet contains a report of Commercial Ada
  388.        Users Working Group (CAUWG) of the Association for Computing
  389.        Machinery's Special Interest Group on Ada (ACM SIGAda). Dated June
  390.        1993, the report is a survey of applications from around the world
  391.        that are written in Ada. It is in
  392.        ftp://ajpo.sei.cmu.edu/public/document/cauwg.txt.
  393.  
  394.      * The Ada Information Clearinghouse maintains a list of Ada projects
  395.        that have submitted information for the AdaIC's Ada Usage
  396.        Database. It is only a sample of Ada projects, but it includes
  397.        both commercial and government-related projects. For details on
  398.        contacting the AdaIC, see question 5.2.
  399.  
  400.      * On the AJPO host, directory ftp://ajpo.sei.cmu.edu/public/usage
  401.        contains a summary of the Ada Usage Database and a number of
  402.        individual project descriptions that may be of interest.
  403.  
  404.  
  405. 3.7: How do I do [choose_a_goal] in Ada?
  406.  
  407.    This kind of question often revolves around an issue which is
  408.    dependent on a specific implementation or operating system. Thus, in
  409.    order to improve the odds of getting a useful answer, one should
  410.    indicate what the host and target environments are (Ada vendor,
  411.    compiler version, OS version, machine). Ada implementations normally
  412.    come with a vendor-supplied library which provides hooks to the
  413.    environment (operating system, graphics, etc.); check the
  414.    documentation.
  415.  
  416.    Even in the case of things that are in the language, there are
  417.    implementation dependencies that make it helpful to always have this
  418.    information at hand if people want the most effective help. Note that
  419.    annex F requires "the reference manual of each Ada implementation" to
  420.    "include an appendix (called Appendix F) that describes all
  421.    implementation-dependent characteristics."
  422.  
  423.  
  424. 3.8: I think Ada could really benefit from having [choose_a_feature] from
  425. [choose_a_language],
  426. or:
  427. I think Ada is clearly [inferior_or_superior] to [choose_a_language] because
  428. it has [choose_a_feature].
  429.  
  430.    Such posts almost always result in religious language wars and only
  431.    waste bandwidth. PLEASE refrain from such posts unless you have a
  432.    specific question about Ada. For example, the following kind of
  433.    question *is* appropriate: "In [choose_a_language] I can do
  434.    [choose_a_feature]. How would I go about doing this in Ada?"
  435.  
  436.    Further, if you are going to compare programming languages, please
  437.    note "Nebbe's rule":
  438.  
  439.      If you can't think of a least one area where a language is better
  440.      than your preferred language then you probably aren't competent to
  441.      comment on it.
  442.  
  443.  
  444. 3.9: I just saw a very anti-Ada post that I think is definitely wrong. Why
  445. didn't anybody post a response to it? Should I?
  446.  
  447.    Ada apparently gets more than its share of attacks, probably due to
  448.    its unique origins, and the fact that it is a requirement for some
  449.    government software. For the same reasons as in the preceding
  450.    question, PLEASE refrain from posting a response to these, unless you
  451.    feel there is something of *significant* importance that you can
  452.    contribute. Posts containing factual corrections are OK, but posts
  453.    like "Well, I've used Ada on many projects, and all have been very
  454.    successful" accomplish nothing. If you are really dead-set on driving
  455.    your point home to the poster, you can do it via e-mail.
  456.  
  457.  
  458. 3.10: I very strongly agree/disagree with the Ada mandate. Should I
  459. praise/criticize it?
  460.  
  461.    First, it is a fact that there is an Ada standard, on which the US
  462.    DoD is aligned (the so-called "mandate"). No shouting match will
  463.    change that. Second, don't believe rumors (about the mandate, its
  464.    withdrawal, its being ignored, etc.) you read in comp.lang.ada, unless
  465.    you have reasons to (i.e. you know the author is trustworthy, or the
  466.    author provides references which you can check, and which you have
  467.    checked yourself at least a couple of times.)
  468.  
  469.    For your information, here is the text of "Public Law 101-511 Sec
  470.    8092":
  471.  
  472.      Notwithstanding any other provisions of law, after June 1, 1991,
  473.      where cost effective, all Department of Defense software shall be
  474.      written in the programming language Ada, in the absence of special
  475.      exemption by an official designated by the Secretary of Defense.
  476.  
  477.     What about discussing the US Ada mandate?
  478.  
  479.    If you want to argue either for or against US Government Ada policies
  480.    please restrict your postings to "usa" (field "Distribution:").
  481.    Remember that Ada is an international standard, but the US mandate is
  482.    not an international issue.
  483.  
  484.    Praise of the mandate is usually based on the ideas that a) it is
  485.    better to have one language than 1500 obscure, proprietary languages
  486.    for all DoD-owned non-COTS systems, and b) Ada is a good software
  487.    engineering language, especially when it comes to maintenance.
  488.  
  489.    Criticism of the mandate is usually based on the ideas that a) a good
  490.    language should not need a mandate (which ignores the fact that before
  491.    standardizing on Ada the DoD had to maintain for 20+ years software
  492.    written in 1500 obscure, proprietary programming languages--which is
  493.    hard and costly), b) the mandate is mostly ineffective, since either
  494.    it is ignored, or too many waivers are granted, or none is necessary
  495.    (a policy issue which will in all likelihood NOT be resolved by
  496.    discussions on comp.lang.ada), and c) no programming language is the
  497.    most appropriate for every problem (true, but
  498.    irrelevant--standardizing on a single good language for all DoD
  499.    development and maintenance is practical, economical, and much better
  500.    than not standardizing at all).
  501.  
  502.    Finally, whenever you see a message criticizing the Ada language (or
  503.    Ada companies) for losing completely both in the market and under the
  504.    mandate, check the facts for yourself. For the most part, the Ada
  505.    mandate is enforced; in many critical, commercial systems, Ada is the
  506.    language of choice and its adoption a success; in the slowly-changing
  507.    competition of programming languages, FORTRAN and COBOL dominate, and
  508.    Smalltalk, C++, Eiffel, and Ada are all slowly growing. Ada is
  509.    (finally, and we hope seriously) penetrating academia. There is a GNU
  510.    Ada 9X compiler available. And remember that Ada 9X will be the first
  511.    standardized object-oriented programming language.
  512.  
  513.    If you have some new, additional facts, with approriate references so
  514.    that everyone can check for himself, then posting on a mandate-related
  515.    issue is OK. If NOT, then refrain from posting. PLEASE, if someone
  516.    starts a non-factual discussion, the best policy is simply to ignore
  517.    it or, if you have to, you may reply by private e-mail. Try to hold
  518.    the same standards as you would in discussing problem-solving with the
  519.    programming language itself, and put your information in a way which
  520.    encourages positive action; criticism of inefficiency and/or
  521.    ineptitude is fine, as long as it is honest, documented, and polite.
  522.  
  523.  
  524. 3.11: Why shouldn't I cross-post my comp.lang.ada messages to other
  525. comp.lang.* newsgroups?
  526.  
  527.    The huge majority of the comp.lang.ada messages are Ada specific, and
  528.    many are from people supporting Ada, so that all threads developing on
  529.    c.l.a end up dealing with Ada.
  530.  
  531.    Cross-posting should be used with caution and careful thought, for
  532.    various reasons:
  533.      * First, avoid annoying readers of other newsgroup with irrelevant
  534.        Ada messages. If you expect to successfully proselytize by
  535.        cross-posting into newsgroups dedicated to other programming
  536.        languages, think twice! Note that if you are replying to a
  537.        cross-posted article, it is your responsibility to pare down the
  538.        newsgroup lists ("Newsgroups: c.l.a,xyz,xyz" and "Followup-to:
  539.        c.l.a,xyz").
  540.  
  541.      * Second, the subject line ("Subject: xyz") should be relevant to
  542.        all cross-posted groups (e.g. if the thread originated in c.l.a
  543.        and then is cross-posted, think about the message--if there is
  544.        any--explicitly carried over by the subject; some people read the
  545.        subject line only).
  546.  
  547.      * Finally, it is good and polite practice to mention explicitly in
  548.        the text of a cross-posted article that it is cross-posted and
  549.        where you would like followup articles to go.
  550.  
  551.  
  552.    Exaggerated cross-posting is in the same category as junk mail:
  553.    negative publicity.
  554.  
  555.  
  556. 3.12: I don't have FTP service on the host where I have an account. Is there
  557. any other way I can access FTP sites?
  558.  
  559.    If you are not connected to the Internet but do send and receive
  560.    email from the net, you can use an "ftp by mail" agent, such as
  561.    ftpmail, which is provided by DEC's Western Research Labs (DECWRL).
  562.    The mail server may be reached by sending a mail message to
  563.    uucp!decwrl!ftpmail or ftpmail@decwrl.dec.com .
  564.  
  565.    Complete instructions for using ftpmail may be retrieved with a
  566.    message to the above address with subject "ftpmail" and the single
  567.    word "help" as the text of your message. Example query:
  568.  
  569. To: ftpmail@decwrl.dec.com
  570. Subject: ftpmail
  571.  
  572. help
  573.  
  574.  
  575. 3.12.1: The AJPO host has a special e-mail service for FTP.
  576.  
  577.    The AJPO host, ajpo.sei.cmu.edu, will provide mail-server
  578.    capabilities on an experimental basis. The available services provided
  579.    by this automatic mail server are: services, Re, help, info, man,
  580.    directory, and file-request. To request a service, send e-mail to
  581.    "ftpmail@ajpo.sei.cmu.edu" and place its name in the Subject line of
  582.    the mail message, followed by any needed parameters. The mail server
  583.    will respond to your request with either the information you requested
  584.    or an error message.
  585.  
  586.    The following are common examples on how to request services from the
  587.    AJPO host mail server:
  588.  
  589. ----------------------------------------------------------------
  590. 1) To get "help" --
  591.  
  592. To: ftpmail@ajpo.sei.cmu.edu
  593. Subject: help
  594.  
  595. ----------------------------------------------------------------
  596.  
  597. 2) To get "man" pages of a particular service, such as
  598. "directory" --
  599.  
  600. To: ftpmail@ajpo.sei.cmu.edu
  601. Subject: man directory
  602.  
  603. This service takes as a parameter the name of a service, and
  604. returns a manual page on that service.
  605.  
  606. ----------------------------------------------------------------
  607.  
  608. 3) To get a "directory" listing of the AJPO anonymous FTP area
  609. (/public) --
  610.  
  611. To: ftpmail@ajpo.sei.cmu.edu
  612. Subject: directory
  613.  
  614. The "directory" service takes as an optional parameter a file or
  615. directory name, and returns the results of an "ls -l" on that
  616. parameter.  For example, to get a listing of the
  617. /public/compiler directory you would submit a message with the
  618. Subject of:
  619.  
  620. Subject: directory compiler
  621.  
  622. The filename pattern may include wildcards as defined by the C
  623. shell.  For example, to get a listing of the /public directories
  624. beginning with "p" you would submit a message with the Subject
  625. of:
  626.  
  627. Subject: directory p*
  628.  
  629. ----------------------------------------------------------------
  630.  
  631. 4) Use "file-request" to get /public/README file --
  632.  
  633. To: ftpmail@ajpo.sei.cmu.edu
  634. Subject: file-request README
  635.  
  636. The "file-request" service takes as an optional parameter a
  637. filename, and will return the contents of the file.  Text files
  638. are returned verbatim, while binary files are encoded via the
  639. Unix "uuencode" command.  Large files (greater than 1000 lines
  640. long) will be split into multiple mail messages.  For example,
  641. to get the file "README" in the /public/compiler directory you
  642. would submit a message with the Subject of:
  643.  
  644. Subject: file-request compiler/README
  645.  
  646. ----------------------------------------------------------------
  647.  
  648. Below is a sample response to a "help" request.
  649.  
  650. From: FTP Mail Server
  651. Message-Id:
  652. To: adainfo@ajpo.sei.cmu.edu
  653. Subject: Re: help
  654. In-Reply-To:
  655. Content-Type: text/plain; charset=us-ascii
  656.  
  657. You have sent electronic mail to the Ada Joint Programs Office
  658. automatic mail server.  This server is based on the
  659. ServiceMail(tm) Toolkit from Enterprise Integration Technologies.
  660.  
  661. In general, you may request a service by placing its name in the
  662. Subject line of a mail message, followed by any needed
  663. parameters.  The mail server will respond to your request with
  664. either the information you requested or an error message.
  665.  
  666. Here is a brief description of the available services:
  667.  
  668. services:     This service returns a list of the available
  669.               services.
  670.  
  671. Re:           This service discards all messages with "Re:" in
  672.               the subject line.  This is to prevent mail
  673.               loops.
  674.  
  675. help:         This service returns this help message.
  676.  
  677. info:         This service returns this help message.
  678.  
  679. man:          This service takes as a parameter the name of a
  680.               service, and returns a manual page on that
  681.               service.
  682.  
  683. directory:    This service takes as an optional parameter a
  684.               file or directory name, and returns the results
  685.               of an "ls -l" on that parameter.  The root of
  686.               the file structure is the AJPO anonymous FTP
  687.               area.
  688.  
  689. file-request: This service takes as an optional parameter a
  690.               file name, and will return the contents of the
  691.               file.  The root of the file structure is the
  692.               AJPO anonymous FTP area.  Text files are
  693.               returned verbatim, while binary files are
  694.               encoded via the Unix "uuencode" command.  Large
  695.               files (greater than 1000 lines long) will be
  696.               split into multiple mail messages.
  697.  
  698. Try 'man ' to get more information on a particular
  699. service.  Please report bugs and other problems to
  700. ftpmail-request@ajpo.sei.cmu.edu.
  701.  
  702.  
  703.      _________________________________________________________________
  704.  
  705.  
  706. 4: Compilers
  707.  
  708.  
  709. 4.1: Is there a list of validated Ada compilers?
  710.  
  711.  
  712.    Yes, indeed, there is. The latest list can be retrieved by anonymous
  713.    FTP. It is in ftp://ajpo.sei.cmu.edu/public/compiler/val-comp.txt (a
  714.    PostScript version is also available in
  715.    ftp://ajpo.sei.cmu.edu/public/compiler/val-comp.ps). If the list is
  716.    updated during the month, the previous one is replaced.
  717.  
  718.  
  719. 4.2: Is there a public-domain/free/shareware Ada compiler or interpreter?
  720.  
  721.    There ARE free Ada systems, and there is a choice: Ada/Ed for Ada 83,
  722.    and GNAT for Ada 9X.
  723.  
  724.    (Strictly speaking these are NOT "public-domain". They are
  725.    "free"--under copyright conditions known as "GNU Copyleft". In short:
  726.    there is no warranty, and you are allowed to copy, modify, and
  727.    distribute them; but you can't charge anyone for the software itself,
  728.    and if the software (necessarily including source code) is further
  729.    distributed, it must be done under the same conditions--i.e. copyable,
  730.    with sources and modifications, available to everyone else, etc.)
  731.  
  732.  
  733.     4.2.1: Ada/Ed -- An Interpreter for Ada 83
  734.  
  735.    Ada/Ed is available for PCs, Unix-based machines, Amiga, and Atari
  736.    systems. The Ada/Ed interpreter for Ada 83 is available from the New
  737.    York University host, in directory ftp://cs.nyu.edu/pub/adaed
  738.    (Internet address 128.122.140.24). There you will find a version for
  739.    UNIX-based machines, and a version for 386/486 DOS machines.
  740.  
  741.    Ada/Ed is a translator-interpreter for Ada. It is intended as a
  742.    teaching tool, and does not have the capacity, performance, or
  743.    robustness of commercial Ada compilers. Ada/Ed was developed at New
  744.    York University, as part of a long-range project in language
  745.    definition and software prototyping. The project produced the first
  746.    validated translator for Ada, in the form of an executable definition
  747.    of the language written in SETL. The SETL system served as design
  748.    document and prototype for the C version.
  749.  
  750.    Ada/Ed was last validated under version 1.7 of the ACVC tests.
  751.    Therefore it is not currently a validated Ada system, and users can
  752.    expect to find small discrepancies between Ada/Ed and currently
  753.    validated compilers.
  754.  
  755.    Apart from the 100-odd tests of ACVC 1.11 that Ada/Ed currently fails,
  756.    the major deficiency of the system is that, being an interpreter, it
  757.    does not implement most representation clauses, and thus does not
  758.    support systems programming close to the machine level.
  759.  
  760.  
  761.     4.2.2: GW-Ada/Ed -- a souped-up version of Ada/Ed for 386/486 DOS and
  762.     Macintosh machines
  763.  
  764.    GW-Ada/Ed is available from the PAL, by anonymous FTP; it is in
  765.    directory
  766.    ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/adaed/gwu. The
  767.    files are located in subdirectories "dos" and "mac".
  768.  
  769.    This project was sponsored by The George Washington University, and in
  770.    part by the United States Advanced Research Projects Agency (ARPA).
  771.  
  772.    This distribution contains the executables for GWAda, which consists
  773.    of the NYU Ada/Ed translator/interpreter system together with an
  774.    integrated editor developed by Prof. Arthur Vargas Lopes of the
  775.    Pontifical University at Porto Alegre, Brazil. Lopes began his work on
  776.    GWAda while he was a doctoral student at The George Washington
  777.    University. There is also in the DOS version a very nice extended
  778.    runtime facility, with interesting kinds of source tracing.
  779.  
  780.    GWAda is being freely distributed at no charge. In the near future the
  781.    developers will make the source code available under the GNU General
  782.    Public License. Source code is not being provided because the system
  783.    is still in the developmental stage. Source code for Ada/Ed itself is
  784.    available from NYU (see above) and from PAL (see questions 9.1 and
  785.    9.3).
  786.  
  787.    Note that under DOS you do not have to use the GWAda integrated
  788.    environment, but can execute the various parts of NYU Ada/Ed from the
  789.    DOS command line, as described in the NYU instructions.
  790.  
  791.    System requirements:
  792.      * IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS, with at
  793.        least 3.6 MB available extended memory, and at least 5 MB free
  794.        hard-disk space.
  795.  
  796.      * Mac with a 68030 or 68040 processor, System 7, with at least 4 MB
  797.        of RAM, and around 10 MB free hard-disk space.
  798.  
  799.  
  800.     4.2.3: GNAT, The GNU NYU Ada Translator -- An Ada 9X Compiler
  801.  
  802.    GNAT is available from the New York University host, in directory
  803.    ftp://cs.nyu.edu/pub/gnat. There are versions for UNIX-based systems
  804.    (Sun, DEC, IBM, Next, ...), and versions for DOS, OS/2, and NT 386/486
  805.    systems. Usually the latest version is made available for both Sun
  806.    SPARC (SunOS 4.1) and OS/2 systems.
  807.  
  808.    It is also available in the Public Ada Library (PAL -- formerly the
  809.    Ada Software Repository), under directory
  810.    ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/gnat (Internet
  811.    address: 128.252.135.4). A mirror site of the PAL also carries GNAT,
  812.    directory: ftp://ftp.cdrom.com/pub/languages/ada/compiler/gnat.
  813.  
  814.    You can also get a copy from the AdaIC Bulletin Board. But this is a
  815.    dial-up operation (703/614-0215), and since the files sizes are large,
  816.    connect times may be lengthy. The bulletin board is best used as a
  817.    back-up source for those who don't have Internet/FTP access.
  818.  
  819.       General
  820.  
  821.    (excerpted from "Free Source Code for GNAT 9X Compiler to be Available
  822.    on Internet", by Robert Dewar and Edmond Schonberg, New York
  823.    University, Ada Information Clearinghouse Newsletter August 1993)
  824.  
  825.    The Computer Science Department of the Courant Institute of
  826.    Mathematical Sciences at New York University received a contract from
  827.    the Ada 9X Project Office, under the direction of Christine M.
  828.    Anderson, to develop a GNU/Ada system. The work is being cosponsored
  829.    by ARPA and the Ada Joint Program Office.
  830.  
  831.    The final delivery will be a full Ada 9X implementation with as much
  832.    of the core language and annexes implemented as possible. At final
  833.    delivery, the developers expect to demonstrate to the Ada community a
  834.    reasonably complete and solid implementation of the core language, and
  835.    at least part of the language annexes. This delivery will include full
  836.    sources, and executables for at least the Sun Sparc and PC on OS/2.
  837.    (On PCs, GNAT will need a full 32-bit environment with several
  838.    megabytes of memory.)
  839.  
  840.    There are a number of official GNAT e-mail addresses:
  841.  
  842.    gnat-request@cs.nyu.edu
  843.           Send a message to this address to be placed on our external
  844.           mailing list. We send out progress reports, technical reports,
  845.           digests of technical comments and other information.
  846.  
  847.    gnatchat@cs.nyu.edu
  848.           Send messages to this address for our general consideration.
  849.           Where appropriate, we will digest these comments for
  850.           redistribution to the external mailing list -- unless you
  851.           specifically request that they be considered private.
  852.  
  853.    gnat-report@cs.nyu.edu
  854.           This address is to be used specifically to report problems with
  855.           the currently available version of the GNAT system. Please be
  856.           as specific as possible in reporting problems. Do not report
  857.           missing features for now!
  858.  
  859.  
  860.       OS/2 Version
  861.  
  862.    The executables and sources for the OS/2 version of GNAT are split and
  863.    compressed into two files, each of which can fit on one 3.5-inch
  864.    high-density diskette. Although it is possible to install GNAT on an
  865.    OS/2 machine on FAT (MS-DOS-compatble) partition, such an installation
  866.    will not be fully functional. In fact, GNAT does not support
  867.    installations on FAT partitions. You will need about 8.5 MB of free
  868.    disk space after you have copied the appropriate files to your hard
  869.    drive. About half of this amount is taken up by the source code.
  870.  
  871.    In case you want to modify and re-compile GNAT, you will need about 24
  872.    MB of free disk space after you have installed GNAT for OS/2 and
  873.    copied the necessary source files to your hard drive.
  874.  
  875.       Ports
  876.  
  877.    Several ports of GNAT have been produced by volunteers for a number of
  878.    additional platforms (e.g. SPARCStations Solaris 2.1, i386/i486 Linux,
  879.    DECstation (MIPS chip) Ultrix, DOS, SCO Unix). Users should allow time
  880.    for the volunteers to catch up with the new releases.
  881.  
  882.    Note: The DOS version requires installation of DJGPP, DJ Delorie's
  883.    port of GCC, GNU loader (ld), and GNU assembler (as) to DOS. DJGPP
  884.    also includes the GO32 memory extender, which works with both VCPI and
  885.    DPMI standards, which allows working in a Microsoft Window. There is
  886.    information on DJGPP stored together with GNAT.
  887.  
  888.  
  889. 4.3: What cheap (<500$) Ada compilers are available?
  890.  
  891.    What follows is absolutely *not* exhaustive, but inexpensive
  892.    compilers are available, and some vendors offer educational discounts
  893.    or free programs for educational sites. Among those offering
  894.    educational discounts are DDC-I, Encore, Harris, IBM, Irvine Compiler,
  895.    PSS, Rational, R.R., Tartan, TeleSoft (now part of Thomson Software
  896.    Products), and Thomson Software Products (ex-Alsys).
  897.  
  898.    Rational: Rational provides free software (Rational Apex) to
  899.    accredited educational institutions, including military academies, in
  900.    the United States and Canada. This is under its Software Engineering
  901.    for Educational Development (SEED) program. To receive information on
  902.    the program, send your contact information via e-mail to
  903.    SEED_Info@Rational.com.
  904.  
  905.    Rational also offers OpenAda for $99. (Rational Software Corporation,
  906.    2800 San Tomas Expressway, Santa Clara, CA 95051-0951; tel:
  907.    1-800-RAT-1212)
  908.  
  909.    R.R. Software: R.R.'s Janus/Ada Professional Development System --
  910.    80386 MS-DOS -- regularly goes for $500. (R.R. Software, P.O. Box
  911.    1512, Madison, WI 53701; contact: Randall Brukardt 608/251-3133;
  912.    e-mail: rbrukardt@bix.com)
  913.  
  914.    Thomson Software Products (US pricing only): FirstAda for 286 DOS is
  915.    $595. It will run on 286 and higher, and will generate applications
  916.    for any x86 PC. Comes with a full toolset. Thomson Software Products
  917.    does run specials on it periodically. Call Pat Michalowski at
  918.    619/457-2700 for more info.
  919.  
  920.    Thomson Software Products offers the same compilation system for $144
  921.    to qualified educational institutions under its LEAP program. The
  922.    program also offers substantial educational discounts on other Thomson
  923.    Software Products products, as well as site license arrangements.
  924.    Contact Kathy Ruggiero at 617/270-0030 for more info.
  925.  
  926.  
  927. 4.4: Is there an Ada compiler for common machine X/common operating system Y?
  928.  
  929.    There are hundreds of Ada compilers available on the market. Some
  930.    answers for Frequently Asked Compilers are listed below. If your
  931.    specific question is not answered here, check the comprehensive list
  932.    of validated Ada compilers (see 4.1).
  933.  
  934.  
  935.     4.4.1: For the Macintosh
  936.  
  937.    Rational sells a compiler with a Toolbox binding and MPW 3.2. It has
  938.    one limitation for large programs: Packages which contain more than
  939.    32K bytes of data will compile, but not link. It works with System 7,
  940.    and has been reported both as working and not-working on PowerPCs
  941.    (maybe due to a problem with Inits). The interpreter GW/Ada (see
  942.    question 4.2.2) works on all Mac architectures.
  943.  
  944.  
  945.     4.4.2: Native compilers for OS/2
  946.  
  947.    There are several good fully validated compilers. E.g. Thomson
  948.    Software Products (ex-Alsys) has one, and has a partial Ada 9X
  949.    compiler for Windows; RR Software specializes in the Intel x86
  950.    architecture (AETECH repackages and distributes their compilers as
  951.    IntegrAda) -- and they advertise a partial Ada 9X compiler. GNAT is
  952.    available for OS/2.
  953.  
  954. Archive-name: computer-lang/Ada/comp-lang-ada/part2
  955. Comp-lang-ada-archive-name: comp-lang-ada/part2
  956. Posting-Frequency: monthly
  957. Last-modified: 17 February 1995
  958. Last-posted: 19 January 1995
  959.  
  960.                                  comp.lang.ada
  961.                        Frequently Asked Questions (FAQ)
  962.  
  963. This is part 2 of a 3-part posting.
  964. Part 3 begins with question 9; it should be the next posting in this thread.
  965. Part 1 should be the previous posting in this thread.
  966.  
  967.  
  968. 4.5: How can I contact Ada compiler vendors?
  969.  
  970.    Note: The AdaIC's Validated Compiler List (see 4.1) now contains--at
  971.    the end of the list--addresses, including e-mail, for compiler-vendor
  972.    points of contact. Here is a non-exhaustive list (possibly
  973.    out-of-date, for the moment) of email and phone contacts for questions
  974.    and/or sales.
  975.  
  976. Alsys: see Thomson Software Products
  977.  
  978. Convex
  979.   questions
  980.     allison@convex.com (Brian Allison)
  981.     Tel: 214/497-4346
  982.  
  983. Cray
  984.   questions
  985.     det@cray.com (Dave Thersleff)
  986.     Tel: 612/683-5701
  987.   sales
  988.     svc@cray.com (Sylvia Crain)
  989.     Tel: 505/988-2468
  990.  
  991. DDC-I
  992.   sales
  993.     sale@ddci.dk
  994.     Tel: (602) 275-7172
  995.     Tel: +45 45 87 11 44
  996.  
  997. Green Hills Software Inc.
  998.   questions
  999.     support@ghs.com
  1000.   sales
  1001.     eric@ghs.com (Eric Schacherer)
  1002.     Tel: 805-965-6044
  1003.  
  1004. Harris
  1005.   questions
  1006.     jeffh@ssd.csd.harris.com (Jeff Hollensen)
  1007.  
  1008. IBM/Ada
  1009.   questions
  1010.     malcho@torolab6.vnet.ibm.com (Don Malcho)
  1011.     Tel: 416/448-3727
  1012.  
  1013. Intermetrics
  1014.   questions
  1015.     ryer@inmet.inmet.com (Mike Ryer)
  1016.  
  1017. Irvine Compiler Corp (ICC)
  1018.   questions
  1019.     info@irvine.com
  1020.  
  1021. OC Systems Inc.
  1022.   questions
  1023.     Email: info@ocsystems.com
  1024.   sales
  1025.     Tel: (703) 359-8160
  1026.     Fax: (703) 359-8161
  1027.  
  1028. Rational Software Corporation
  1029.   sales
  1030.     product_info@rational.com
  1031.     Tel: (408) 496-3600 or (800) RAT-1212
  1032.  
  1033. R.R. Software
  1034.   rbrukardt@bix.com (Randy Brukardt)
  1035.   Tel: 800-Pc-Ada-4u (or: 800-722-3248)
  1036.  
  1037. Tartan
  1038.   questions
  1039.     customer-support@tartan.com
  1040.     Tel: (412) 856-3600 (ext 150)
  1041.   sales
  1042.     info@tartan.com
  1043.     Tel: (800) 856-5255 or (412) 856-3600
  1044.  
  1045. TeleSoft
  1046.   questions
  1047.     adasupport@alsys.com
  1048.     (Note that TeleSoft is now part of Thomson Software Products.)
  1049.     Tel: 619/457-2700
  1050.   sales
  1051.     marketng@alsys.com
  1052.     Tel: 619/457-2700
  1053.  
  1054. Thomson Software Products (ex-Alsys)
  1055.   questions
  1056.     adasupport@alsys.com
  1057.   sales
  1058.     marketng@alsys.com
  1059.     Tel: 619/270-0030 (voice) Pat Michalowski
  1060.  
  1061.  
  1062.      _________________________________________________________________
  1063.  
  1064.  
  1065. 5: Organizations that deal with Ada and Ada issues
  1066.  
  1067.  
  1068. 5.1: Ada Joint Program Office (AJPO)
  1069.  
  1070.    The AJPO is part of the Department of Defense; it facilitates the
  1071.    implementation of the DoD's Software Initiative (Ada) throughout the
  1072.    Services, and maintains the integrity of the Ada language. (The AJPO
  1073.    sponsors the AdaIC.)
  1074.  
  1075.    The address is:
  1076.  
  1077. Ada Joint Program Office
  1078. Defense Information Systems Agency
  1079. 701 South Courthouse Road
  1080. Arlington, VA 22204-2199
  1081. 703/604-4619 (autovon 664-4619)
  1082. fax: 703/685-7019
  1083.  
  1084.    The current Director and Deputy Directors are:
  1085.  
  1086.    Acting Director
  1087.           Donald Reifer
  1088.  
  1089.    Air Force Liaison
  1090.           Maj M. Dirk Rogers (rogersd@ajpo.sei.cmu.edu)
  1091.  
  1092.    Navy Deputy Liaison
  1093.           Joan McGarity (mcgarity@ajpo.sei.cmu.edu
  1094.  
  1095.    Army Deputy Liaison
  1096.           MAJ Charlotte Lee (leec@ajpo.sei.cmu.edu)
  1097.  
  1098.    DISA Liaison
  1099.           David Basel (baseld@ajpo.sei.cmu.edu)
  1100.  
  1101.  
  1102. 5.2: Ada Information Clearinghouse (AdaIC)
  1103.  
  1104.    The Ada Information Clearinghouse (AdaIC) provides a full spectrum of
  1105.    information on Ada to anyone interested in finding out more about the
  1106.    programming language. IIT Research Institute operates the AdaIC for
  1107.    the Ada Joint Program Office (AJPO).
  1108.  
  1109.    The address is:
  1110.  
  1111. Ada Information Clearinghouse
  1112. P.O. Box 46593
  1113. Washington, DC 20050-6593
  1114. 1-800-AdaIC-11 (232-4211), 703/685-1477; fax: 703/685-7019
  1115.  
  1116.  
  1117.    The AdaIC publishes a quarterly newsletter, which contains current
  1118.    news, Ada conference reports, announcements from the AJPO Director,
  1119.    and articles on projects using Ada. If you would like to receive a
  1120.    copy of the AdaIC newsletter, please call and request a subscription.
  1121.    There's no charge. The AdaIC also regularly updates and publishes more
  1122.    than 70 separate information flyers. Flyer topics include:
  1123.      * Ada Validated Compilers
  1124.      * Ada News and Current Events
  1125.      * Ada Usage
  1126.      * Ada 9X Project
  1127.      * On-line sources of Ada Information
  1128.      * Ada Bibliographies
  1129.      * Ada Compiler Validation and Evaluation
  1130.      * Resources for Ada Education and Training
  1131.      * Ada Software, Tools, and Interfaces
  1132.      * Ada Regulations, Policies, and Mandates
  1133.      * Ada Historical Information
  1134.  
  1135.  
  1136.    One of the most commonly requested flyers is the Validated Compilers
  1137.    List. This list, which is updated monthly, contains Ada compilers that
  1138.    have been validated by the AJPO. For the most current information on
  1139.    validated Ada compilers, contact the AdaIC.
  1140.  
  1141.    Practically all AdaIC flyers are available via anonymous FTP from the
  1142.    AJPO host, in directory ftp://ajpo.sei.cmu.edu/public.
  1143.  
  1144.  
  1145. 5.3: Association of Computing Machinery's Special Interest Group on Ada (ACM
  1146. SIGAda)
  1147.  
  1148.    SIGAda's bimonthly publication is Ada Letters.
  1149.  
  1150.    Price for non-members: $55 (Annual ACM membership dues, $82; students,
  1151.    $25).
  1152.  
  1153.    Otherwise it costs $20 per year to ACM members; $10 per year to ACM
  1154.    student members.
  1155.  
  1156.    The address is:
  1157.  
  1158. Association for Computing Machinery, Inc.
  1159. 1515 Broadway
  1160. New York, NY 10036
  1161. 212/869-7440
  1162.  
  1163.    SIGAda also has a number of committees and working groups on a variety
  1164.    of topics.
  1165.  
  1166.  
  1167. 5.4: ISO Working Group 9 (ISO-IEC/JTC1/SC22/WG9, WG9 for short)
  1168.  
  1169.    This is a working group that deals with Ada within the International
  1170.    Standardization Organization. Within WG-9, are several Rapporteur
  1171.    (rap) groups:
  1172.      * ARG: Ada Rapporteur Group -- Comments and Interpretations
  1173.      * CRG: Character Rapporteur Group -- International Character Sets
  1174.      * IRG: Information Systems Rapporteur Group -- Decimal Arithmetic
  1175.      * NRG: Numerics Rapporteur Group -- NUMWG packages
  1176.      * RRG: Real-Time Rapporteur Group -- ExTRA
  1177.      * SRG: SQL Interfaces Rapporteur Group -- SAMeDL
  1178.      * URG: Uniformity Rapporteur Group -- Portability through Uniformity
  1179.      * XRG: Ada 9X Rapporteur Group
  1180.  
  1181.  
  1182.    Ada Rapporteur Group (ARG):
  1183.           This is the group responsible for evaluating comments on the
  1184.           Ada standard. Officially, the group is only developing a
  1185.           technical report addressing comments and questions concerning
  1186.           the ISO standard for Ada. (Arcane ISO rules prevent the ARG or
  1187.           WG9 from issuing "official" interpretations of a standard.) In
  1188.           practice, when a response to a comment is approved by WG9, the
  1189.           response is taken into account by the Ada Validation Office and
  1190.           affects the test suite. The documents containing comments on
  1191.           the standard and ARG responses are called "Ada Commentaries"
  1192.           and are given numbers of the form AI-ddddd/vv, where vv is a
  1193.           version number.
  1194.  
  1195.           Comments and questions about the Ada standard should be sent to
  1196.           ada-comment@ajpo.sei.cmu.edu, using the format specified in the
  1197.           Ada standard. You can receive e-mail notification of an update
  1198.           to a commentary (optionally including the text of the
  1199.           commentary) by sending a request to
  1200.           ada-comment@ajpo.sei.cmu.edu. Commentaries are generally
  1201.           updated only a few times each year. The text of all
  1202.           commentaries is available by anonymous FTP from the AJPO site
  1203.           in the account public/ada-comment. A detailed discussion of ARG
  1204.           procedures and the format of commentaries can be found in the
  1205.           ada-comment account in the file arg-procedures.doc. A
  1206.           reformatted copy of the Reference Manual that includes
  1207.           WG9-approved commentaries is available from Karl Nyberg
  1208.           (karl@grebyn.com).
  1209.  
  1210.    Uniformity Rapporteur Group (URG)
  1211.           Responsible for evaluating Uniformity Issues (UIs). UIs
  1212.           specify/recommend specific choices for the compiler
  1213.           implementor, where the language permits implementation freedom.
  1214.           The "canonical example" is UI-8, on integer types. This UI
  1215.           recommends that integers be at least 32 bits, and provides
  1216.           names for the other predefined integer types. The goal of the
  1217.           URG and the UI's is to further Ada portability by providing
  1218.           uniform implementations of implementation-dependent features
  1219.           commonly used by Ada applications.
  1220.  
  1221.  
  1222.      _________________________________________________________________
  1223.  
  1224.  
  1225. 6: Tools
  1226.  
  1227.  
  1228. 6.1: Is there an Ada-mode for Emacs?
  1229.  
  1230.    There are, in fact, 4 Ada modes for Emacs!
  1231.      * the most recent one, available by FTP, is in
  1232.        ftp://cs.nyu.edu/pub/gnat/emacs-ada-mode.
  1233.  
  1234.        This is still work under development but it is already quite
  1235.        usable. The main features are:
  1236.           + TAB ---> indent (almost always correctly)
  1237.           + compile and parse the errors (with the cursor at the right
  1238.             line AND column)
  1239.           + highlight keywords and comments
  1240.           + create skeletons for all Ada constructs (both 83 and 9x)
  1241.           + goto next (previous) subprogram/package/task
  1242.           + goto beginning of syntactic construct
  1243.           + name completion (when it is a subprogram defined in the file)
  1244.           + untabify, remove trailing spaces automatically before saving
  1245.           + C-c TAB ---> format subprogram specs in GNAT style
  1246.           + and much more to come...
  1247.    The 2 main developers are Markus Heritsch (who works under the
  1248.        direction of Franco Gasperoni at ENST, Paris) and Rolf Ebert
  1249.        (Munich, Germany).
  1250.  
  1251.      * a simple ada-mode shipped as part of the emacs distribution (note:
  1252.        it seems it doesn't work correctly);
  1253.  
  1254.      * a more elaborate one from Steven D. Litvintchouk of Mitre Corp
  1255.        called electric-ada (available from?--NO INFORMATION); and
  1256.  
  1257.      * gnu-ada mode. Here is a small description of the features of this
  1258.        mode:
  1259.  
  1260.         Compile programs within emacs
  1261.                 Run compiler as inferior of Emacs, and parse its error
  1262.                 messages. NOTE: I believe that this feature will only
  1263.                 work with VADS, but it might have been tailored to work
  1264.                 with other compilers.
  1265.  
  1266.         Ada dired
  1267.                 It supplies a form of dired that helps manage the VADS
  1268.                 environment, and it adds ADA vads commands into ada mode.
  1269.                 Unlike a previous dired-ada implementation, this version
  1270.                 uses the existing dired mode functions except where there
  1271.                 is unresolvable conflict. Thus, this is more like a minor
  1272.                 mode to dired. Very important because on actual version
  1273.                 of emacs 19(beta), in fact lemacs (lucid emacs), dired
  1274.                 has changed and we can no longer use gnu-ada mode :-(
  1275.  
  1276.         you can consult the Ada Language Reference Manual (*) during
  1277.                 parsing error message.
  1278.                 (*)You can get one in e.g. the Public Ada Library.
  1279.  
  1280.         smart indentation
  1281.                 Tries hard to do all the indenting automatically.
  1282.                 Emphasizes correct insertion of new code using smart
  1283.                 templates.
  1284.  
  1285.         Smart template commands (bnf)
  1286.                 This is essentially a bnf processor/language-sensitive
  1287.                 editor. The next message will give you an ada bnf file
  1288.                 that you can use within ada-mode to expand nonterminals.
  1289.                 But you can roll your own grammars (e.g., your design
  1290.                 grammar or an ADL) and put them in *.bnf files ... The
  1291.                 BNF rule set is stored as a list of rules.
  1292.  
  1293.         debugging Ada programs within emacs
  1294.                 A facility is provided for the simultaneous display of
  1295.                 the source code in one window, while using a.db to step
  1296.                 through a function in the other. A small arrow "=>" in
  1297.                 the source window, indicates the current line.
  1298.  
  1299.         Move from procedure to procedure or package to package
  1300.  
  1301.         tags Ada
  1302.  
  1303.         and other things ...
  1304.  
  1305.  
  1306.    You can find the gnu-ada mode in
  1307.    ftp://ajpo.sei.cmu.edu/public/infoada/gnu as well as in the PAL,
  1308.    under directory
  1309.    ftp://wuarchive.wustl.edu/pub/languages/ada/swtools/emacs/adamode.
  1310.  
  1311.  
  1312. 6.2: Are there versions of lex and yacc that generate Ada code?
  1313.  
  1314.    The Arcadia project produced the tools aflex and ayacc, both written
  1315.    in Ada and producing Ada code. They can be found in directory
  1316.    ftp://liege.ics.uci.edu/pub/irus (Internet address: 128.195.1.5,
  1317.    128.195.13.1).
  1318.  
  1319.  
  1320. 6.3: Where can I get a yacc/ayacc grammar to read Ada code?
  1321.  
  1322.    A yacc and lex grammar for Ada 83 is available via FTP from the
  1323.    comp.compiler archives at primost.cs.wisc.edu and via e-mail from the
  1324.    compilers server at compilers-server@iecc.cambridge.ma.us .
  1325.  
  1326.    A yacc grammar for Ada 9X is available in
  1327.    ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/grammar9x.y
  1328.  
  1329.    and a lex grammar for Ada 9X is available in
  1330.    ftp://ajpo.sei.cmu.edu/public/ada9x/rm9x/lexer9x.l.
  1331.  
  1332.  
  1333. 6.4: What is Anna, and where can I get it?
  1334.  
  1335.    Anna is a language for formally specifying Ada programs. It extends
  1336.    Ada with various different kinds of specification constructs from ones
  1337.    as simple as assertions, to as complex as algebraic specifications. A
  1338.    whole lot of tools have been implemented for Anna, including:
  1339.     1. The standard DIANA extension packages, parsers, pretty-printers.
  1340.     2. Semantic checker (very similar to standard semantic checkers for
  1341.        programming languages).
  1342.     3. Specification analyzer -- this is a tool used to test a
  1343.        specification for correctness before a program based on the
  1344.        specification is written.
  1345.     4. Annotation transformer -- this transforms Anna specification
  1346.        constructs into checks on the Ada program that is developed based
  1347.        on the specification. This tool is currently in the process of
  1348.        being enhanced so that it can handle at least all the legal Ada
  1349.        programs in the ACVC test-suite.
  1350.     5. Runtime debugger -- The instrumented program output by the
  1351.        annotation transormer can be run with a special debugger that
  1352.        allows program debugging based on formal specifications.
  1353.  
  1354.  
  1355.    All tools have been developed in Ada and are therefore extremely
  1356.    portable. Anna has been ported to many platforms, details of which can
  1357.    be obtained from the person who handles Anna releases. You can send
  1358.    e-mail to anna-request@anna.stanford.edu for answers to such
  1359.    questions. Actually, there is also a mailing list --
  1360.    anna-users@anna.stanford.edu. Send e-mail to the earlier address if
  1361.    you want to get on this list.
  1362.  
  1363.    One could view Anna and its toolset as a *very* significant
  1364.    enhancement of assertions that are provided in languages such as C
  1365.    (using the assert statement). The enhancements are in the form of both
  1366.    (1) many more high level specification constructs; and (2) more
  1367.    sophisticated tool support.
  1368.  
  1369.    However, there are those who would not even wish to compare Anna with
  1370.    C assertions! :-)
  1371.  
  1372.    The Anna tools may be found in directory
  1373.    ftp://anna.stanford.edu/pub/anna.
  1374.  
  1375.  
  1376. 6.5: What is DRAGOON, and where can I get it?
  1377.  
  1378.    DRAGOON is a language, implemented as an Ada preprocessor (i.e., it
  1379.    generates pure Ada). DRAGOON is truly object-oriented, including
  1380.    complete support for multiple inheritance. A very nice feature of
  1381.    DRAGOON not found in many OO languages is the concept of "behavioral"
  1382.    inheritance. This allows you to keep the concurrent behavior of object
  1383.    separated from the object class hierarchy.
  1384.  
  1385.    The book by Colin Atkinson, "Object-Oriented Reuse, Concurrency and
  1386.    Distribution: An Ada-Based Approach" (ACM Press, 1991, ISBN:
  1387.    0201565277), is very well written and describes the language
  1388.    succinctly and completely.
  1389.  
  1390.    For a copy of the preprocessor, contact:
  1391.  
  1392. Mr. Andrea Di Maio
  1393. TXT Ingegneria Informatica S.p.A.
  1394. Via Socrate, 41
  1395. 20128 Milan, ITALY
  1396. phone: + 39-2-2700 1001
  1397.  
  1398.  
  1399. 6.6: Where can I get language translators?
  1400.  
  1401.    The AdaIC maintains a Products and Tools Database on its bulletin
  1402.    board (703/614-0215), and one of the categories is translators. (The
  1403.    list of products should not be considered exhaustive; if you wish to
  1404.    suggest additions, please contact the AdaIC.) Besides access to the
  1405.    database via the bulletin board, you can also call the AdaIC
  1406.    (800-AdaIC-11 or 703/685-1477) and ask for a customized search.
  1407.  
  1408.     Should I?
  1409.  
  1410.    In addition to all the usual caveats, however, it should also be noted
  1411.    that translation itself is a controversial issue.
  1412.  
  1413.    When a project makes the transition to Ada from some other language,
  1414.    one question that arises is whether to translate older code into Ada.
  1415.    Among the immediate considerations are how much of the code can in
  1416.    fact be translated by a program intended for that purpose, versus how
  1417.    much will still require re-coding by hand. And will the translated
  1418.    code suffer a significant loss in speed of execution? Further, a
  1419.    project must consider whether the translated code will reflect sound
  1420.    software engineering and be readily understandable and modifiable. Or
  1421.    will the translated code be merely "Fortranized Ada" or "Cobolized
  1422.    Ada", or the like, possibly retaining limitations present in the
  1423.    earlier code? Portability is also a problem.
  1424.  
  1425.    The resolution of such issues will require an understanding of the
  1426.    earlier code, an appreciation of the similarities and differences
  1427.    between its language and Ada, and an evaluation of the translation
  1428.    program under consideration.
  1429.  
  1430.  
  1431. 6.7: What is ASIS?
  1432.  
  1433.    The Ada Semantic Interface Specification is a layered
  1434.    vendor-independent open architecture. ASIS queries and services
  1435.    provide a consistent interface to information within the Ada Program
  1436.    Library created at compile time. Clients of ASIS are shielded and free
  1437.    from the implementation details of each Ada compiler vendor's
  1438.    proprietary library and intermediate representation.
  1439.  
  1440.    ASIS Version 1.1.0 is the latest version of the ASIS83 1.1 (Ada 83) de
  1441.    facto industry standard. It differs from the previous ASIS83 Version
  1442.    1.1 in errata, clarifications, and two new functions in
  1443.    Asis.Declarations (Implicit_Components and
  1444.    Implicit_Variant_Components).
  1445.  
  1446.    ASIS Version 2.0.0 is the Ada 9x version of ASIS, called ASIS9X. As
  1447.    errors, misunderstandings, and clarifications are discovered, the ASIS
  1448.    Working Group will release new edited versions of the specification.
  1449.    The latest working draft for ASIS is ASIS 1.1.0, dated July 1993.
  1450.  
  1451.    Your comments are welcome, if you wish to see replies to your
  1452.    comments, please join the e-mail discussion group (discussed below)
  1453.    first.
  1454.  
  1455.  
  1456.     6.7.1: How can I find out more about ASIS?
  1457.  
  1458.    Can I take part in its development? The following electronic mail
  1459.    forums now exist for the ASISWG.
  1460.  
  1461.    asiswg-technical@ajpo.sei.cmu.edu
  1462.           technical discussions
  1463.  
  1464.    asiswg@ajpo.sei.cmu.edu
  1465.           high-level non-technical discussions
  1466.  
  1467.    To have your email address added to these forums, send e-mail to:
  1468.  
  1469. asiswg-technical-request@ajpo.sei.cmu.edu
  1470. asiswg-request@ajpo.sei.cmu.edu
  1471.  
  1472.    Include your preferred e-mail address, name, telephone number, and
  1473.    surface mail address.
  1474.  
  1475.  
  1476.     6.7.2: How can I get hold of ASIS?
  1477.  
  1478.    ASIS 2.0.0, 1.1.1, and 1.1.0 (along with the earlier version 1.1) are
  1479.    available from directory ftp://ajpo.sei.cmu.edu/public/asis.
  1480.  
  1481.    If you do not have Internet FTP access, the AJPO host provides
  1482.    mail-server capabilities. To get more information about the
  1483.    mail-server, send e-mail to "ftpmail@ajpo.sei.cmu.edu", and address
  1484.    your message as:
  1485.  
  1486.          To: ftpmail@ajpo.sei.cmu.edu
  1487.          Subject: help
  1488.  
  1489.    To get a copy of the /public/asis/README file, address your e-mail as:
  1490.  
  1491.          To: ftpmail@ajpo.sei.cmu.edu
  1492.          Subject: file-request asis/README
  1493.  
  1494.    To get a "directory" listing of /public/asis/v1.1.0, address your
  1495.    e-mail as:
  1496.  
  1497.          To: ftpmail@ajpo.sei.cmu.edu
  1498.          Subject: directory asis
  1499.  
  1500.    To get any of the various files, e.g.,
  1501.    /public/asis/v1.1.1/asis_1.1.1.asc.ps, address your e-mail as:
  1502.  
  1503.          To: ftpmail@ajpo.sei.cmu.edu
  1504.          Subject: file-request asis/v1.1.1/asis_1.1.1.asc.ps
  1505.  
  1506.    The filename pattern may include the "*" wildcard.
  1507.  
  1508.    Files have been compressed into .zip files. On Unix hosts, you can
  1509.    uncompress with unzip, and under DOS with PKUNZIP (at least version
  1510.    2.04).
  1511.  
  1512.      _________________________________________________________________
  1513.  
  1514.  
  1515. 7: Bindings
  1516.  
  1517.  
  1518. 7.1: General
  1519.  
  1520.    The AdaIC (see question 5.2, above) has a report on "Available Ada
  1521.    Bindings". It can be ordered in hardcopy as flyer T82, and it can be
  1522.    downloaded from the AdaIC Bulletin Board (703/604-4624) as
  1523.    bindings.txt. It is also available by anonymous FTP on the AJPO host
  1524.    in ftp://ajpo.sei.cmu.edu/public/dev-tool/bindings.txt.
  1525.  
  1526.  
  1527. 7.2: POSIX/Ada
  1528.  
  1529.  
  1530.     7.2.1: What is the status of the POSIX/Ada work?
  1531.  
  1532.    The IEEE approved IEEE Standard 1003.5-1992 in June 1992. This is the
  1533.    Ada Binding to the facilities defined in ISO 9945-1:1989/IEEE
  1534.    1003.1-1990, the POSIX System Services.
  1535.  
  1536.    IEEE Standards Committee P1003.5 is now working on Ada bindings to
  1537.    IEEE draft standards 1003.4, Real-Time Extensions and 1003.4a, Threads
  1538.    Extensions. Current plans call for an IEEE ballot in October 1993,
  1539.    with IEEE approval in September 1995. For more information, contact
  1540.    the P1003.5 Chairman, Jim Lonjers (lonjers@vfl.paramax.com,
  1541.    805/987-9457).
  1542.  
  1543.  
  1544.     7.2.2: How can I get a copy of POSIX/Ada?
  1545.  
  1546.    You can buy a copy of the standard from the IEEE. The order number is
  1547.    "SH 15354", and the mailing address is "IEEE Service Center, 445 Hoes
  1548.    Lane, Piscataway, NJ 08855-1331". They will accept credit-card orders
  1549.    at 1-800/678-4333. The cost is $62.50 + $5.00 s/h ($43.75 + $4.00 s/h
  1550.    for IEEE Members).
  1551.  
  1552.  
  1553.     7.2.3: Is it available via FTP?
  1554.  
  1555.    Current IEEE policy prohibits electronic distribution of IEEE
  1556.    standards. Proceeds from the sale of IEEE standards help support the
  1557.    IEEE standards program. However, The POSIX P1003.5 committee has been
  1558.    able to work out an arrangement with the IEEE to make the POSIX/Ada
  1559.    package specifications available for distribution via e-mail and
  1560.    anonymous FTP from directory
  1561.    ftp://ajpo.sei.cmu.edu/public/dev-tool/POSIX. The AJPO files are
  1562.    also mirrored at the PAL.
  1563.  
  1564.  
  1565. 7.3: How do I interface X Window System with Ada?
  1566.  
  1567.    This question turns out to be pretty darn hard to answer easily.
  1568.    There are at least three variables that need to be filled:
  1569.     1. platform where you are going to be running.
  1570.     2. compiler you would like to use.
  1571.     3. level/flavor of X you would like to run (e.g., just need bindings
  1572.        to Xlib, want Openlook as opposed to Motif, etc).
  1573.  
  1574.  
  1575.    Once you fill all three of the above, then you can start to get
  1576.    answers. In order to keep the answer brief, companies that offer such
  1577.    products are simply listed, along with locations where free versions
  1578.    are available.
  1579.  
  1580.    Before giving you the list, a little history is in order. The first
  1581.    Xlib bindings that were publically available were done by SAIC for
  1582.    STARS. This implementation had many bugs, but it was there, and it was
  1583.    free. This version was eventually withdrawn from the STARS repository,
  1584.    and has now been replaced with a better one. In addition, SAIC has
  1585.    done an Xt implementation based on these Xlib bindings (also for
  1586.    STARS). NOTE: the above description may well be inaccurate,
  1587.    corrections are welcome.
  1588.  
  1589.    Now, for the list:
  1590.  
  1591. First off, there is a pretty complete list of available bindings
  1592. for X as well as other stuff at the AdaIC.
  1593. FTP Location:
  1594.  
  1595. ftp://ajpo.sei.cmu.edu/public/dev-tool/bindings.txt
  1596.  
  1597. Free versions:
  1598. STARS: bindings to Xlib and Xt.  Available on
  1599. source.asset.com.
  1600. Note: the ASSET host no longer takes anonymous FTP.  To
  1601. request an account, contact: info@source.asset.com
  1602.  
  1603. Non-free versions:
  1604. SERC: bindings to Xlib/Xt/Motif
  1605. contact: well!sercmail@apple.com (Scott Cleveland)
  1606.  
  1607. Verdix: bindings to Xlib/Xt/Motif
  1608. (Note that bindings to Xview are included with the SunAda Sun4 compiler)
  1609. contact: moskow@verdix.com (Paul Moskowitz)
  1610.  
  1611. ATC: bindings to Xlib/Xt/Motif
  1612. contact: ???
  1613.  
  1614. TeleSoft (now part of Thomson Software Products, ex-Alsys):
  1615. bindings to Xlib/Xt/Motif (TeleWindows)
  1616. (Note that bindings to Xview are included with the TeleSoft Sun4 compiler)
  1617. contact: marketng@alsys.com
  1618.  
  1619. X-based GUI (Graphical User Interface) Builders:
  1620. Objective (OIS): Screen Machine
  1621. contact: Phil Carrasco (703/264-1900)
  1622.  
  1623. TeleSoft (now part of Thomson Software Products, ex-Alsys): TeleUSE
  1624. contact: philippe@telesoft.com
  1625.  
  1626. EVB Software Engineering, Inc. : GRAMMI
  1627. contact : info@evb.com
  1628.         or info_server@evb.com with subject "send grammi"
  1629.  
  1630. Sun Microsystems: DevGuide
  1631. contact: ???
  1632.  
  1633. SERC: UIL-to-Ada code generator
  1634. (not really a GUI-builder, but works with several builders to
  1635. generate Ada instead of other languages).
  1636. contact: well!sercmail@apple.com (Scott Cleveland)
  1637.  
  1638.  
  1639.      _________________________________________________________________
  1640.  
  1641.  
  1642. 8: Is there a list of good Ada books?
  1643.  
  1644.    Just for a list of texts, etc. (no evaluations or recommendations),
  1645.    you might take a look at
  1646.    ftp://ajpo.sei.cmu.edu/public/ed-train/adabooks.txt.
  1647.  
  1648.  
  1649. An Annotated Sampling of Ada-Oriented Textbooks
  1650.  
  1651. November 1994
  1652.  
  1653. Michael B. Feldman
  1654. Department of Electrical Engineering and Computer Science
  1655. The George Washington University
  1656. Washington, DC 20052
  1657. (202) 994-5919 (voice)
  1658. (202) 994-0227 (fax)
  1659. mfeldman@seas.gwu.edu
  1660.  
  1661. (with contributions from Jack Beidler, Duane Jarc, Suzanne Pawlan Levy,
  1662. Mathew Lodge, and David Weller, as indicated by their initials following
  1663. their reviews)
  1664.  
  1665. As chair of the SIGAda Education Working Group, and a denizen of the
  1666. Internet newsgroups, I am often asked to give references for "Ada
  1667. textbooks." This list responds to these many queries.
  1668.  
  1669. The textbooks in the Group 1 are written especially for students without
  1670. programming experience, who are learning Ada as their first language.
  1671. Most of these can also cover at least part of a typical CS2-level
  1672. course. The books in Group 2 use Ada as their language of
  1673. discourse but are "subject-oriented:" data structures, file structures,
  1674. compilers, comparative languages. The remaining books in Group 3 are
  1675. either "Ada books" focusing on the language features or more general
  1676. books that use Ada, at least in part, but do not fit obviously into a
  1677. standard curriculum "pigeonhole."
  1678.  
  1679. I invite you to add to the list. Please write your annotated entry in
  1680. the form I have used here and write or e-mail it to me. I will include
  1681. it in my next version and credit you as a co-compiler of the list.
  1682.  
  1683. Disclaimers: I wrote two of the texts listed here; I hope the
  1684. annotations are impartial enough. And any annotated bibliography is
  1685. selective and opinionated. Your mileage may vary.
  1686.  
  1687. Group 1: Books Suitable for a First Course in Programming
  1688.  
  1689. Bover, D.C.C., K.J. Maciunas, and M.J. Oudshoorn.
  1690. Ada: A First Course in Programming and Software Engineering.
  1691. Addison-Wesley, 1992. ISBN 0-201-50992-X
  1692.   This work is, to our knowledge, the first Ada book to emerge from
  1693. Australia, from a group of authors with much collective experience in
  1694. teaching Ada to first-year students. A number of interesting examples
  1695. are presented, for example, an Othello game. The book is full of gentle
  1696. humor, a definite advantage in a world of dry and serious texts. In the
  1697. book's favor is the large number of complete programs. On the other
  1698. hand, it is rather "European" in its terseness; American teachers may
  1699. miss the pedagogical apparatus and "hand-holding" typically found in
  1700. today's CS1 books. Generic units are hardly mentioned.
  1701.  
  1702. Culwin, F. Ada: a Developmental Approach.
  1703. Prentice-Hall, 1992.
  1704.   This work introduces Ada along with a good first-year approach to
  1705. software development methodology. Much attention is paid to program
  1706. design, documentation, and testing. Enough material is present in data
  1707. structures and algorithm analysis is present to carry a CS2 course. A
  1708. drawback of the book is that the first third is quite "Pascal-like" in
  1709. its presentation order: procedures, including nested ones, are presented
  1710. rather early, and packages are deferred until nearly the middle of the
  1711. book. This is certainly not a fatal flaw, but it will frustrate teachers
  1712. wishing a more package-oriented presentation. The programs and solutions
  1713. are apparently available from the author.
  1714.  
  1715. Dale, N., D. Weems, and J. McCormick.
  1716. Programming and Problem Solving with Ada. D. C. Heath, 1994.
  1717. ISBN 0-669-29360-1
  1718.   This book is inspired by Dale and Weems' very successful Introduction to
  1719. Pascal and Structured Design, but it is not simply an Ada version.  Ada's
  1720. more advanced capabilities such as exceptions, packages and generic units
  1721. are included in this text.  In addition, more than half of the material is
  1722. completely new, and the order of the topics is signficantly different.  It
  1723. also has more of a software engineering focus than the Pascal version. The
  1724. only Ada topics not included in this text are tasks and access types.
  1725. Procedures and packages are introduced early.  Each chapter includes case
  1726. studies, testing and debugging hints and excellent non-programming exercises
  1727. and programming problems.  The text comes with a program disk containing all
  1728. the programs given in the book.  In addition, a validated Meridian Ada
  1729. compiler with complete documentation is available at low cost to students
  1730. using this book. (S. P. L.)
  1731.  
  1732. DeLillo, N. J.
  1733. A First Course in Computer Science with Ada.
  1734. Irwin, 1993. (ISBN 0-256-12538-4)
  1735.   This book is a first in the Ada literature: a version comes with an
  1736. Ada compiler, the AETech-IntegrAda version of Janus Ada. Author, publisher,
  1737. and software supplier are to be commended for their courage in this.
  1738. The book itself covers all the usual CS1 topics. In my opinion, the order
  1739. of presentation is a bit too Pascal-like, with functions and procedures
  1740. introduced in Chapter 5 (of 15) and no sign of packages (other than Text_IO)
  1741. until Chapter 10. Unconstrained arrays and generics are, however, done
  1742. nicely for this level, and Chapter 13 is entirely devoted to a single
  1743. nontrivial case study, a statistical package. I wish there were more
  1744. complete programs in the early chapters, to put the (otherwise good)
  1745. discussion of control and data structures in better context.
  1746.  
  1747. Feldman, M.B., and E.B. Koffman.
  1748. Ada: Problem Solving and Program Design.
  1749. Addison-Wesley, 1992. ISBN 0-201-53364-2
  1750.   This work combines the successful material from Koffman's CS1 pedagogy
  1751. with a software-engineering-oriented Ada presentation order. Packages
  1752. are introduced early and emphasized heavily; chapters on abstract data
  1753. types, unconstrained arrays, generics, recursion, and dynamic data
  1754. structures appear later. The last five chapters, combined with some
  1755. language-independent algorithm theory, can serve as the basis of a CS2
  1756. course. A diskette with all the fully-worked packages and examples
  1757. (about 180) is included; the instructor's manual contains a diskette
  1758. with project solutions.
  1759.  
  1760. Savitch, W.J. and C.G. Petersen.
  1761. Ada: an Introduction to the Art and Science of Programming.
  1762. Benjamin/Cummings, 1992. ISBN 0-8053-7070-6
  1763.   This is a straightforward adaptation of the well-known Savitch Pascal
  1764. books. Ada is introduced in a Pascal-like order, with subtypes and
  1765. packages introduced halfway through the book. This is purely a CS1 book.
  1766. The final chapter covers dynamic data structures. There is minimal coverage
  1767. of unconstrained array types; generics are introduced at the halfway
  1768. point to explain Text_IO, then continued only in the final chapter. The
  1769. authors intended this book to provide a painless transition to Ada for
  1770. teachers of Pascal; one wishes they had taken advantage of the chance to
  1771. show some of the interesting Ada concepts as well. Program examples from
  1772. the text are available on disk, but only as part of the instructor's
  1773. manual; a solutions disk is available for a fee from the authors.
  1774.  
  1775. Skansholm, J. Ada from the Beginning. (2nd ed.)
  1776. Addison Wesley, 1994. ISBN 0-201-62448-6
  1777.   This book was one of the first to use Ada with CS1-style pedagogy.
  1778. There are excellent sections on the idiosyncracies of interactive I/O (a
  1779. problem in all languages), and a sufficient number of fully-worked
  1780. examples to satisfy students. Generics, linked lists and recursion are
  1781. covered at the end; there is no tasking coverage, but one would not
  1782. expect this at CS1-level. A very interesting addition is the new
  1783. Chapter 14, in which OOP in both Ada 83 and Ada 94 is discussed.
  1784. This is an especially lucid explanation of OOP in Ada, and makes a real
  1785. contribution because it doesn't just discuss tagged types as a "feature"
  1786. of Ada 94, but shows very nicely what is possible in Ada 83 (instead
  1787. of just what is _not_ possible), and shows how Ada 94 adds functionality.
  1788.  
  1789. Smith, James F., and Thomas S. Frank
  1790. Introduction to Programming Concepts and Methods with Ada
  1791. McGraw-Hill, Inc., 1994 ISBN 0-07-911725-2
  1792.   This is a well written and easy to use text.  The book takes a spiraled
  1793. approach to CS 1.  The authors do an excellent job integrating Ada into
  1794. the book.  They take a very direct approach, especially with an early
  1795. introduction to the package concept and the traditional Text_IO package.
  1796. Faculty who have taught CS 1 with Pascal should like this book. Instead
  1797. of making a big fanfare about Ada features, they simply introduce them
  1798. as good support for software development concepts. The authors have
  1799. carefully chosen the Ada topics they decided to cover in this book in
  1800. order to strike a balance between staying true to the CS 1 course while
  1801. presenting enough of the programming language. If you teach CS 1 you
  1802. might at least want to get a copy of this text just to look at two
  1803. chapters, Chapter 7 and Chapter 14. Seven covers program correctness and
  1804. run-time event (exception handling) and fourteen is a beautiful presentation
  1805. and example of generic packaging.  Both presentations are done in an
  1806. appropriate manner for CS 1. (J. B.)
  1807.  
  1808. Volper, D., and M. Katz. Introduction to Programming Using Ada.
  1809. Prentice-Hall, 1990. ISBN 0-13-493529-2
  1810.   This book uses a heavily "spiraled" approach to Ada, and is designed
  1811. for a 2-semester course, covering nearly all of Ada eventually. There
  1812. are lots of fully-coded examples, and good pedagogical sections on
  1813. testing, coding style, etc. If you like spiraling, you'll like this. The
  1814. down side is that you can't find all you need on a given subject in one
  1815. place. It's at the other end of the scale from the "Ada books" that
  1816. follow the Ada Language Reference Manual (LRM) order.
  1817.  
  1818.  
  1819. Group 2: Other Books Intended for Undergraduate Courses
  1820.  
  1821. Ben-Ari, M. Principles of Concurrent and Distributed Programming.
  1822. Prentice-Hall 1990. (OS/concurrency) ISBN 0-13-711821-X
  1823.   In my opinion, this is the best introduction to concurrency on the
  1824. market. Ada notation is used for everything, but the focus is on
  1825. concurrency and not on Ada constructs per se. I liked the CoPascal
  1826. notation of the first edition better, but this book is still great. A
  1827. software disk is promised in the preface; I had to work quite hard to
  1828. get it from the publisher, which finally had to express-ship it from
  1829. England. The software comes with a tiny Ada-ish interpreter, complete
  1830. with Pascal source code, adapted from Wirth's Pascal/S via CoPascal.
  1831. There are also some real Ada programs, most of which I've tested and
  1832. found correct and portable.
  1833.  
  1834. Feldman, M.B. Data Structures with Ada.
  1835. Addison Wesley, 1993. ISBN 0-201-52673-5
  1836. (CS2/data structures)
  1837.   This book is a reasonable approximation to a modern CS2 book: "big O"
  1838. analysis, linked lists, queues and stacks, graphs, trees, hash methods,
  1839. and sorting, are all covered. The Ada is a bit old-fashioned, especially
  1840. the lack of generics; the book was published before compilers could
  1841. handle generics. The packages and other programs are available free from
  1842. the author. The book is currently under revision with Addison-Wesley and
  1843. should appear in 1995.
  1844.  
  1845. Fischer, C., and R. LeBlanc. Crafting a Compiler.
  1846. Benjamin Cummings, 1988. (compilers) ISBN 0-8053-3201-4
  1847.   This book uses Ada as its language of discourse and Ada/CS, a usefully
  1848. large Ada subset, as the language being compiled. If you can get the
  1849. "plain Pascal" tool software by ftp from the authors, you'll have a good
  1850. translator-writing toolset. Skip the Turbo Pascal diskette version,
  1851. which is missing too many pieces to be useful. I've used the book since
  1852. it came out with both undergrad and graduate compiler courses; it
  1853. embodies a good blend of theory and "how it's really done" coding.
  1854. Students like it. The authors have recently published a second version,
  1855. which uses C as its coding language but retains Ada/CS as the language
  1856. being compiled.
  1857.  
  1858. Hillam, Bruce. Introduction to Abstract Data Types Using Ada.
  1859. Prentice-Hall, 1994. (data structures) ISBN 0-13-045949-6
  1860. This is a very readable treatment of data structures presented using Ada
  1861. that makes good use of Ada features such as generics.  It contain many
  1862. complete programs and packages.  Unfortunately, obvious syntax errors make
  1863. it apparent that not all examples have been compiled.  The level of
  1864. presentation is somewhere between an elementary, CS 2, data structures
  1865. course and an advanced, CS 7, course.  A subset of first eleven chapters
  1866. provide the appropriate topics for a CS 2 course, but not the pedagogy
  1867. necessary for a course at that level. (D. J.)
  1868.  
  1869. Lomuto, N. Problem-Solving Methods with Examples in Ada.
  1870. Prentice-Hall, 1987.(algorithms)
  1871.   Inspired by Polya's classic How to Solve It, this book can make a nice
  1872. addition to an Ada-oriented algorithms course. It makes too many
  1873. assumptions about students' programming background to use as a CS1 book,
  1874. and doesn't teach enough Ada to be an "Ada book." But it makes nice
  1875. reading for students sophisticated enough to handle it. I'd classify it
  1876. as similar to Bentley's Programming Pearls.
  1877.  
  1878. Miller, N.E. and C.G. Petersen. File Structures with Ada.
  1879. Benjamin/Cummings, 1990. (file structures) ISBN 0-8053-0440-1
  1880.   Designed for a straightforward ACM-curriculum file structures course,
  1881. this book succeeds at what it does. There are good discussions of ISAM
  1882. and B-tree organizations. The software can be purchased a low cost from
  1883. the authors; it seems to approximate in Ada all those C-based file
  1884. packages advertised in programmer-oriented trade publications.
  1885.  
  1886. Schneider, G.M., and S.C. Bruell.
  1887. Concepts in Data Structures and Software Development (with Ada
  1888. Supplement by P. Texel).
  1889. West, 1991. (CS2/data structures)
  1890.   This work is not, strictly speaking, an Ada book; rather, it is a
  1891. solid, language-independent approach to modern CS2. The language of
  1892. discourse in the book is a Pascal-like ADT language rather like Modula-2
  1893. in style; some examples are coded in legal Pascal. The Ada supplement
  1894. makes it usable in an Ada-based course, but the supplement is rather too
  1895. terse (100 pages of large type) for my taste, and insufficiently well
  1896. keyed to the book chapters. The supplement's effectiveness would be
  1897. greatly enhanced by full translations to Ada of a large number of the
  1898. book's examples.
  1899.  
  1900. Sebesta, R.W. Concepts of Programming Languages (2nd ed.).
  1901. Benjamin Cummings, 1993. (comparative languages) ISBN 0-8053-7132-X
  1902.   If you've been around for a while, you might remember the late Mark
  1903. Elson's 1975 book by the same title. This is similar: a concept-by-
  1904. concept presentation, with -- in each chapter -- examples taken from
  1905. several languages. I include this work in an "Ada list" because I like its
  1906. nice, impartial coverage of Ada. I especially like the chapters on
  1907. abstraction and exception handling. The book covers -- comparatively,
  1908. of course -- most of the lanuages you'd like to see, including C, C++,
  1909. Lisp, Smalltalk, etc., with nice historical chapters as well. The book
  1910. is readable; my students like it. Our undergraduate and graduate courses
  1911. both use it as a base text.
  1912.  
  1913. Stubbs, D.F., and N.W. Webre.
  1914. Data Structures with Abstract Data Types and Ada.
  1915. PWS-Kent, 1993. (advanced data structures) ISBN 0-534-14448-9
  1916.   This work updates and adapts to Ada the material in the authors'
  1917. successful data structures texts using Pascal and Modula-2. It is good for a
  1918. "heavy" CS2, i.e., one on the theoretical side, or a "light" CS7, i.e. it
  1919. is not as theory-oriented as the Weiss work below. More Ada, especially
  1920. regarding advanced types, is taught here than in Weiss. Especially
  1921. interesting about all the books from these authors is that they have
  1922. matched their "big O" performance prediction with tables and graphs
  1923. showing actual performance measurements.
  1924.  
  1925.  
  1926. Weiss, M.A.
  1927. Data Structures and Algorithms in Ada.
  1928. Benjamin/Cummings, 1993. ISBN 0-8053-9055-3
  1929.   I think this book reaches its intended market -- data structures courses
  1930. (CS7) -- rather well with Ada. There's a good mixture of theory and practice
  1931. (ADT design, for example), and coverage of new topics like amortized algorithm
  1932. analysis and splay trees. A book at this level should not pay too much
  1933. attention to teaching a language; rather it should make good use of its
  1934. language of discourse. The Ada version does not attempt to teach either the
  1935. language or Ada-style software engineering, but shows good understanding of
  1936. the language, uses generic packages quite well and focuses on the theory of
  1937. algorithms, as a book at this level should. This is the first, and so far
  1938. the only, text in Ada for this course.
  1939.  
  1940. Group 3: A Selection of Other Ada-Related Books
  1941.  
  1942. Barnes, J.
  1943. Programming in Ada. (4th edition)
  1944. Addison-Wesley, 1994. ISBN 0-201-62407-9
  1945.   Barnes' work has been one of the most popular "Ada books." Some students
  1946. find it hard to see how the pieces fit together from Barnes' often
  1947. fragmentary examples; it is difficult to find complete, fully-worked out,
  1948. compilable programs. This just-out fourth edition has a 100-page summary of
  1949. Ada 95.
  1950.  
  1951. Booch, G.
  1952. Software Components with Ada.
  1953. Benjamin Cummings, 1987. ISBN 0-8053-0610-2
  1954.   This work is an encyclopedic presentation of data structure packages
  1955. from Booch's OOD point of view. It is great for those who love
  1956. taxonomies. It's not for the faint-hearted, because the volume of
  1957. material can be overwhelming. It could serve as a text for an advanced
  1958. data structures course, but it's thin in "big O" analysis and other
  1959. algorithm-theory matters. The book is keyed to the (purchasable) Booch
  1960. Components.
  1961.  
  1962. Booch, G. and D. Bryan, with C. Petersen
  1963. Software Engineering with Ada. (3rd edition)
  1964. Benjamin/Cummings 1994. ISBN 0-8053-0613-7
  1965.   Another of the classical "Ada books." Introduces Booch's OOD ideas. Not
  1966. for use to introduce Ada to novices, in my opinion; there are some nice
  1967. fully-worked case studies but they begin too far into the book, after long
  1968. sections on design, philosophy, and language elements. The earlier chapters
  1969. contain too much fragmentary code, a common flaw in books that follow the LRM
  1970. order. The third edition contains an appendix describing Ada 9X.
  1971.  
  1972. Bryan, D.L., and G.O. Mendal. Exploring Ada, Volumes 1.and 2.
  1973. Prentice-Hall, 1990 and 1992 respectively. ISBN 0-13-295684 (vol. 1);
  1974. ISBN 0-13-297227-1 (vol. 2)
  1975.   This is an excellent study of some of the interesting nooks and
  1976. crannies of Ada; it sometimes gets tricky and "language-lawyerly."
  1977. Volume 2 takes up tasking, generics, exceptions, derived types, scope
  1978. and visibility; Volume 1 covers everything else. The programs are short
  1979. and narrowly focused on specific language issues. If you like Bryan's
  1980. "Dear Ada" column in Ada Letters, you'll like this book. It is certainly
  1981. not a book for beginners, but great fun for those who know Ada already
  1982. and wish to explore.
  1983.  
  1984. Burns, Alan, and Geoff Davies.
  1985. Concurrent Programming.
  1986. Addison-Wesley, 1993, ISBN 0-201-54417-2
  1987.   Solid book covering all aspects of writing concurrent software. Uses
  1988. a version of Pascal called FC-Pascal (available for free through the
  1989. Internet). The FC means "Functionally Concurrent". It has constructs
  1990. that are similar to Ada 9X, and this is by no accident -- the authors
  1991. frequently point out that the implementations in FC-Pascal are taken
  1992. from Ada 9X's Tasks and Protected Types. Covers lots of low-level problems
  1993. by gradually building up from simple examples. Highly recommended for a
  1994. Concurrent Programming class. Exercises and Further readings are provided
  1995. at the end of each chapter. (D.W.)
  1996.  
  1997. Burns, Alan and Wellings, Andy
  1998. Real Time Systems and their Programming Languages
  1999. Addison-Wesley 1990. (ISBN 0-201-17529-0)
  2000.   This is an excellent and unique book. Basic concepts and terminology are
  2001. explained before moving on to explain the major aspects of real time design.
  2002. "Real world" examples are presented in Ada, Modula-2 and occam 2, though
  2003. Ada is clearly the authors' language of choice and gets the most coverage.
  2004. Topics covered include reliability and fault tolerance, concurrency,
  2005. synchronisation, scheduling, message passing, atomic transactions, resource
  2006. control, distributed systems and low-level device control. Efficiency is not
  2007. neglected, and Ada support here is particularly strong with detail on the
  2008. CIFO package. Several case studies are also presented. The only failing of
  2009. the book is that it needs updating to cover Ada 9x and its real-time annex,
  2010. Modula-3 etc. However, the basic concepts that the authors convey so clearly
  2011. are independent of implementation language. (M. L.)
  2012.  
  2013. Cohen, N. Ada as a Second Language.
  2014. McGraw Hill, 1986. ISBN 0-07-011589-3
  2015.   This book is a quite comprehensive exploration of Ada which
  2016. follows the LRM in its presentation order. My graduate students like it
  2017. because it is more detailed and complete than alternative texts. It's an
  2018. excellent book for students who know their languages and want to study
  2019. all of Ada. There are good discussions of "why's and wherefore's" and
  2020. many long, fully-worked examples. An anxiously-awaited 2nd edition
  2021. covering Ada 95 is in the pipeline.
  2022.  
  2023. Gauthier, M. Ada: Un Apprentissage (in French).
  2024. Dunod, 1989.
  2025.   I found this an especially interesting, almost philosophical approach
  2026. to Ada. The first section presents Ada in the context of more general
  2027. laguage principles: types, genericity, reusability. The second section
  2028. introduces testing and documentation concerns, as well as tasking; the
  2029. third considers generics and variant records in the more general context
  2030. of polymorphism. For mature Ada students in the French-speaking world,
  2031. and others who can follow technical French, this book can serve as a
  2032. different slant on the conventional presentations of the language. An
  2033. English translation would be a real contribution to the Ada literature.
  2034.  
  2035. Gehani, N. Ada: an Advanced Introduction (2nd edition).
  2036. Prentice-Hall, 1989. ISBN 0-13-004334-6
  2037.   I've always liked Gehani's literate writing style; he knows his
  2038. languages and treats Ada in an interesting, mature, and balanced
  2039. fashion. This book comes with a diskette sealed in the back of the book,
  2040. which is advantageous because the book has numerous nontrivial, fully-
  2041. worked examples.
  2042.  
  2043. Gehani, N. Ada: Concurrent Programming (2nd edition).
  2044. Silicon Press, 1991. ISBN 0-929306-08-2
  2045.   This is a less formal, more Ada-oriented presentation of concurrency
  2046. than the Ben-Ari work. I use both books in my concurrency course; its
  2047. real strength is the large number of nontrivial, fully worked examples.
  2048. Gehani offers a nice critique of the tasking model from the point of
  2049. view of an OS person. The preface promises the availability of a
  2050. software disk from the publisher.
  2051.  
  2052. Naiditch, D.J.  Rendezvous with Ada
  2053. New York: John Wiley and Sons, 1989. ISBN 0-471-61654-0
  2054.   A nice, relatively quick survey of the language for experienced
  2055. programmers. Warning: there are not too many complete programs here, at
  2056. least at the beginning. But overall, this is a good choice, less overwhelming
  2057. than, say, Cohen, for "learning the language" quickly.
  2058.  
  2059. Nyberg, K. (editor) The Annotated Ada Reference Manual.(3rd edition)
  2060. Grebyn Corporation, 1993.
  2061.   This is the definitive work on Ada legalities, because it presents not
  2062. only the full text of the LRM but also the official Ada Interpretations
  2063. as prepared by the Ada Rapporteur Group of Working Group 9 of the
  2064. International Organization for Standardization (ISO) and approved by
  2065. that organization. These commentaries, interleaved with the LRM text,
  2066. are promulgated by the Ada Joint Program Office, the American National
  2067. Standards Institute (ANSI) agent for Ada, in the Ada Compiler Validation
  2068. Suite (ACVC). They are thus binding upon compiler developers. I recommend
  2069. this book as an essential volume in the library of every serious Ada
  2070. enthusiast.
  2071.  
  2072. Watt, D.A., B.A. Wichmann, and W. Findlay. Ada Language and Methodology.
  2073. Prentice-Hall, 1987. ISBN 0-13-004078-9
  2074.   This work presents some interesting programming projects, and the
  2075. coverage of design and testing--at the level of a first-year student--is
  2076. quite good. The first third of the book concentrates heavily on
  2077. classical control and data structures, leaving exceptions, packages and
  2078. even procedures until the "programming in the large" material in the
  2079. second third. CS2 teachers will find too little concentration on
  2080. algorithm analysis. On the other hand, tasking and machine-dependent
  2081. programming are covered. Like the Shumate work, this book would make a
  2082. suitable introduction to Ada for students with a semester or so of
  2083. programming experience; it "jumps in" too quickly to satisfy the needs
  2084. of neophytes and is not well-tailored to CS1 or CS2 needs.
  2085.  
  2086. Archive-name: computer-lang/Ada/comp-lang-ada/part3
  2087. Comp-lang-ada-archive-name: comp-lang-ada/part3
  2088. Posting-Frequency: monthly
  2089. Last-modified: 17 February 1995
  2090. Last-posted: 19 January 1995
  2091.  
  2092.                                  comp.lang.ada
  2093.                        Frequently Asked Questions (FAQ)
  2094.  
  2095. This is part 3 of a 3-part posting.
  2096. Part 2 begins with question 4.5.
  2097. Parts 1 and 2 should be the previous postings in this thread.
  2098.  
  2099.  
  2100. 9: Resources
  2101.  
  2102.  
  2103. 9.1: What FTP sites exist that contain information about Ada or Ada source?
  2104.  
  2105.  
  2106.    Public Ada Library (formerly Ada Software Repository)
  2107.           wuarchive.wustl.edu (Internet address: 128.252.135.4)
  2108.  
  2109.           Mirror: ftp.cdrom.com
  2110.  
  2111.           European mirror: ftp.cnam.fr (Internet address: 192.33.159.6)
  2112.  
  2113.           European CD-ROM mirror: ftp.cs.kuleuven.ac.be in
  2114.           pub/Ada-Belgium/cdrom
  2115.  
  2116.    Ada-Belgium ftp server
  2117.           ftp.cs.kuleuven.ac.be in pub/Ada-Belgium
  2118.  
  2119.    AJPO and AdaIC
  2120.           ajpo.sei.cmu.edu [mirrored by the PAL, listed above] (Internet
  2121.           address: 192.58.107.159)
  2122.  
  2123.    ASSET / STARS (Software Technology for Adaptable, Reliable Systems):
  2124.           source.asset.com (Internet Address: 192.131.125.10)
  2125.  
  2126.           Note: the ASSET host no longer takes anonymous FTP. To request
  2127.           a free account, contact: info@source.asset.com
  2128.  
  2129.  
  2130. 9.2: Reuse
  2131.  
  2132.  
  2133.     9.2.1: Are there any free, public-domain, or other general-access software
  2134.     repositories that contain Ada source code and information on reuse?
  2135.  
  2136.    There are a number of them, among them PAL (the Public Ada Library)
  2137.    and ELSA, described below. 
  2138.  
  2139.     Public Ada Library (formerly Ada Software Repository)
  2140.  
  2141.    Formerly the Ada Software Repository (ASR), the Public Ada Library
  2142.    (PAL) is a collection of programs, components, tools, general
  2143.    information, and educational materials; taking up hundreds of
  2144.    megabytes, it contains the source code for hundreds of distinct items
  2145.    as documented in its Master Index. Previously housed on the SIMTEL20
  2146.    host computer, it is now located at Washington University at St.
  2147.    Louis's host (wuarchive.wustl.edu -- which had been a mirror site for
  2148.    the ASR). The PAL is available for anonymous FTP, directory:
  2149.    ftp://wuarchive.wustl.edu/pub/languages/ada,
  2150.  
  2151.    The PAL has its own FAQ, a copy of which is stored in directory
  2152.    ftp://rtfm.mit.edu/pub/usenet-by-group/comp.lang.ada, which stores
  2153.    the FAQ files posted to news.answers. 
  2154.  
  2155.     ELSA (previously AdaNet)
  2156.  
  2157.    ELSA is a component of the Repository Based Software Engineering
  2158.    (RBSE) Program sponsored by NASA's Technology Utilization Division. It
  2159.    is a public-domain reuse library containing value-added software from
  2160.    ASR (PAL), STARS, JPL, many educational institutions, and various
  2161.    other sources. The non-software information includes relevant research
  2162.    papers, standards, and technical reports.
  2163.  
  2164.    ELSA also distributes components on floppy disks. All of its services
  2165.    are free of charge.
  2166.  
  2167.    For more information, contact ELSA Client Service at 1-800/444-1458 or
  2168.    lacey@rbse.mountain.net.
  2169.  
  2170.  
  2171.     9.2.2: Is there some sort of database of re-usable Ada software
  2172.     components?
  2173.  
  2174.    You might want to join ACM SigAda (see question 5.3) in order to
  2175.    subscribe to Ada Letters. They publish a list of reusable components
  2176.    on an annual basis. The most recent list was in the March/April 1994
  2177.    issue (XIV.2). In fact, it is more of a list of lists, in that it
  2178.    mentions places that have sets of reusable components. The maintainer
  2179.    of the Ada Letters "master list" is levine@sun490.fdu.edu (also
  2180.    levine@vax.fdu.edu).
  2181.  
  2182.    To our knowledge this list is NOT available online. Check also the
  2183.    software repositories, mentioned above (question 9.2.1).
  2184.  
  2185.  
  2186. 9.3: Where can I get Ada benchmark programs?
  2187.  
  2188.    In addition to the information below, you may also wish to look at
  2189.    the AdaIC flyer "How to Obtain Benchmark Performance Test Suites and
  2190.    Results", flyer C15, file benchmrk.txt on the AJPO host
  2191.    (ajpo.sei.cmu.edu). (For more on the AdaIC and downloading files, see
  2192.    questions 5.2, 9.1, and 9.2.)
  2193.  
  2194.     The Ada Evaluation System
  2195.  
  2196.    The Ada Evaluation System (AES) may be obtained from the British
  2197.    Standards Institute at the following address:
  2198.  
  2199. Software Product Services
  2200. Software Engineering Department
  2201. BSIQA
  2202. P.O. Box 375
  2203. Milton Keynes MK14 6LL
  2204. United Kingdom
  2205. Tel: 0908 220908
  2206. UUCP: sed@bsiqa.uucp
  2207. (Internet: bsiqa!sed@uunet.uu.net)
  2208.  
  2209.    As of February 1993, the current version is the DIY-MAPSE-01 version.
  2210.    It is available at a cost of 3,000 pounds sterling. BSI also offers a
  2211.    validation service at a cost of 24,000 pounds sterling. Principal
  2212.    documents are a User's Manual, a Reference Manual, and a Test
  2213.    Description Document.
  2214.  
  2215.    The Ada Evaluation System (AES) was merged with the Ada Compiler
  2216.    Evaluation Capability (ACEC) under a joint agreement between the
  2217.    Ministry of Defence of the United Kingdom and the Department of
  2218.    Defense of the United States that was signed in June of 1991. The
  2219.    merged product has been released as the Ada Compiler Evaluation System
  2220.    (ACES), which is the latest version of the ACEC.
  2221.  
  2222.     The Ada Compiler Evaluation Capability/Ada Compiler Evaluation System
  2223.  
  2224.    The Ada Compiler Evaluation System (ACES) may be obtained from:
  2225.  
  2226. Data and Analysis Center for Software (DACS)
  2227. Attn: Document Dataset Ordering
  2228. Kamen Sciences Corporation
  2229. P.O. Box 120
  2230. Utica, NY 13503-0120
  2231. Tel: 315/734-3696; Fax: 315/734-3699
  2232. Internet: dacs@kaman.com
  2233.  
  2234.    There are three documents: the User's Guide, the Reader's Guide, and
  2235.    the Version Description Document. The total cost for the software (on
  2236.    6250-bpi 9-track VMS Backup tape) and documentation is 100 US dollars.
  2237.  
  2238.  
  2239.    ACES is also available for downloading via anonymous FTP from the AJPO
  2240.    host computer, where it can be found in the /public/aces directory. It
  2241.    can also be downloaded from the Public Ada Library (PAL -- see
  2242.    question 9.3.1).
  2243.  
  2244.     Hartstone Benchmarks
  2245.  
  2246.    Electronic-mail requests for Hartstone should be sent to the following
  2247.    Internet address: hartstone-info@sei.cmu.edu .
  2248.  
  2249.    The reply message will contain full details of how to obtain source
  2250.    code and documentation by various means, including anonymous FTP.
  2251.    There is no charge for the Hartstone source code.
  2252.  
  2253.    For people without Internet access, the address to send requests to
  2254.    is:
  2255.  
  2256. REST Transition Services
  2257. Software Engineering Institute
  2258. Carnegie Mellon University
  2259. Pittsburgh, PA 15213-3890
  2260. Phone: 412/268-7787
  2261.  
  2262.    Hartstone source code may also be retrieved from the PIWG bulletin
  2263.    board. (See below.)
  2264.  
  2265.     The PIWG Benchmarks
  2266.  
  2267.    The ACM Performance Issues Working Group (PIWG) benchmarks may be
  2268.    obtained in one of three ways:
  2269.     1. Via anonymous FTP from the ajpo.sei.cmu.edu machine. Users should
  2270.        issue the command "ftp ajpo.sei.cmu.edu" and log in using the word
  2271.        "anonymous" as the login name and an identifying string (e.g., the
  2272.        user's e-mail address) as password. Change directory ("cd"
  2273.        command) to the "public/piwg/piwg_11_92" directory and use the FTP
  2274.        file-transfer commands to retrieve the files. The README file
  2275.        contains information about using the benchmarks.
  2276.  
  2277.     2. Via the PIWG bulletin board. Ideally, users should access this
  2278.        from a PC (rather than a dumb terminal) using a modem capable of
  2279.        sending and receiving at 1200 baud or higher. The number of the
  2280.        bulletin board is 412/268-7020. Once connected to the bulletin
  2281.        board, users will be able to navigate their way around the system
  2282.        using simple menus that the system provides. The point of contact
  2283.        for this service is Gene Rindels, 412/268-6728.
  2284.     3.
  2285.  
  2286.        Via a written request or telephone request to the following
  2287.        service:
  2288.  
  2289. PIWG Distribution
  2290. Software Engineering Institute
  2291. Carnegie Mellon University
  2292. Pittsburgh, PA 15213-3890
  2293. Tel: 412/268-7787
  2294.    As of February 1993, the current release of the PIWG suite is the one
  2295.        dated 11/92. There is no charge for the PIWG benchmarks.
  2296.        Documentation for the PIWG benchmarks consists principally of the
  2297.        READ.ME file distributed with the suite and comments in the
  2298.        individual test programs and command files. There is also
  2299.        additional information about the PIWG suite in the Winter 1990
  2300.        special edition of Ada Letters (Vol. X, No. 3, special edition on
  2301.        Ada Performance Issues).
  2302.  
  2303.  
  2304. 9.4: Are there any dial-up BBS systems that deal with Ada?
  2305.  
  2306.    (Caveat: Telephone numbers can change without notice. If I find out a
  2307.    number doesn't work, it will be noted but the entry will be kept in
  2308.    until I'm sure the service has actually been discontinued. If you are
  2309.    aware of a better number, please let me know.)
  2310.  
  2311. AdaIC BBS
  2312. Tel: 703/604-4624
  2313. AUTOVON: 664-4624
  2314.  
  2315. AdaNet BBS: This is a free service that maintains e-mail
  2316. connections for people not on the Internet, an Ada source code
  2317. repository, and a selection of other on-line Ada-related
  2318. documents.  It is sponsored by NASA.
  2319. Call 800/444-1458 to register for access.
  2320.  
  2321. Air Force Software Technology Support Center (STSC) BBS
  2322. Tel: 801/774-6509
  2323. Baud: 2400, 1200, 300
  2324. Bits: 8
  2325. Parity: None
  2326. Stop Bits: 1
  2327.  
  2328. ACM SIGAda Performance Issues Working Group
  2329. PIWG Ada Benchmarks BBS
  2330. Tel: 412/268-7020
  2331.  
  2332. Embedded Systems Programming Magazine BBS
  2333. Tel: 415/905-2689
  2334.  
  2335. Naval Computer Telecommunications Command
  2336. Tel: 804/444-7841 (DSN 564-7841)
  2337.  
  2338. R.R. Software. Inc.
  2339. Tel: 608/251-5121
  2340. 9600 baud max.
  2341.  
  2342.  
  2343.      _________________________________________________________________
  2344.  
  2345.  
  2346. 10: Credits
  2347.  
  2348.    The following persons have contributed (directly or indirectly
  2349.    through e.g. comp.lang.ada) to the information gathered in this FAQ:
  2350.    the Ada Information Clearinghouse--AdaIC [I know, AdaIC is not a
  2351.    person; still, they managed the FAQ for about one year], Heddy
  2352.    Boubaker, Susan Carlson, Cyrille Comar, Robert Dewar, Patrick Donohoe,
  2353.    Herndon R. Elliott, Dave Emery, Don Erway, Michael Feldman, John
  2354.    Goodenough, Drew Johnson, Michele L. Kee, Mathew Lodge, "tjmesler",
  2355.    Gary Morris, Robb Nebbe, Pascal Obry, Richard O'Keefe, Kurt Olender,
  2356.    Manuel Op de Coul, Isaac Pentimaki, Margie Price, Richard Riehle,
  2357.    Tucker Taft, Dave Weller, and the maintainer has simply :-) organized,
  2358.    polished, or added some information for your satisfaction. The general
  2359.    HTML structure of this FAQ was inspired by the WWW FAQ.
  2360.  
  2361.      _________________________________________________________________
  2362.  
  2363.  
  2364. 11: Copying this FAQ
  2365.  
  2366.    This FAQ is Copyright 1994, 1995 by Magnus Kempe. It may be freely
  2367.    redistributed as long as it is completely unmodified and that no
  2368.    attempt is made to restrict any recipient from redistributing it on
  2369.    the same terms. It may not be sold or incorporated into commercial
  2370.    documents without the explicit written permission of the copyright
  2371.    holder.
  2372.  
  2373.    Permission is granted for this document to be made available under the
  2374.    same conditions for file transfer from sites offering unrestricted
  2375.    file transfer on the Internet and from Forums on e.g. Compuserve and
  2376.    Bix.
  2377.  
  2378.    This document is provided as is, without any warranty.
  2379.  
  2380.