home *** CD-ROM | disk | FTP | other *** search
/ Danny Amor's Online Library / Danny Amor's Online Library - Volume 1.iso / html / faqs / faq / comp-lang-ada / cla-faq1 next >
Encoding:
Text File  |  1995-07-25  |  41.0 KB  |  913 lines

  1. Subject: comp.lang.ada FAQ 2/2
  2. Newsgroups: comp.lang.ada,news.answers,comp.answers
  3. From: cla-faq@ajpo.sei.cmu.edu (Ada Info. Clearinghouse)
  4. Date: Wed, 1 Jun 1994 10:23:31 EDT
  5.  
  6. Archive-name: comp-lang-ada/cla-faq1
  7.  
  8. comp.lang.ada Frequently Asked Questions part 2 of 2
  9.  
  10. Effective date: 31 May 94
  11.  
  12. 20) Is there a list of good Ada books?
  13.  
  14.       Just for a list of texts, etc. (no evaluations or
  15.       recommendations), you might take a look at the ADABOOKS.TXT file
  16.       on the AdaIC Bulletin Board and in the public/ada-info directory
  17.       on the AJPO host (ajpo.sei.cmu.edu).
  18.  
  19.       A real-time book:
  20.       (From lodge@ferndown.ate.slb.com (Mathew Lodge)
  21.       via rlk@igor.rational.com (Robert Kitzberger))
  22.  
  23.       Real Time Systems and Their Programming Languages
  24.       by A. Burns and A. Wellings
  25.       Prentice-Hall
  26.       The book uses Ada, Modula-2 and Occam2 as examples, though Ada
  27.       is clearly the language of choice and gets more coverage than
  28.       either of the other two.  IMHO, it's a good book -- a wide
  29.       coverage of real-time issues with good examples in all the
  30.       languages.  It covers Ada real-time excellently, including the
  31.       use of CIFO etc.  Thoroughly recommended!
  32.  
  33.       Books for use in class (and others):
  34.       (from mfeldman@seas.gwu.edu (Michael B. Feldman))
  35.  
  36.       As co-chair of the SIGAda Education Committee, and a denizen of
  37.       the Internet newsgroups, I am often asked to give references for
  38.       "Ada textbooks."  This list responds to these many queries.  It
  39.       is far from exhaustive, merely a selected list of 26 books being
  40.       used successfully in undergraduate computer science courses.
  41.  
  42.       The six books in the Group 1 are written especially for students
  43.       without programming experience, who are learning Ada as their
  44.       first language.  Most of these can also cover at least part of a
  45.       typical CS2-level course.  The seven books in Group 2 use Ada as
  46.       their language of discourse but are "subject-oriented:" data
  47.       structures, file structures, compilers, comparative languages.
  48.       The thirteen books in Group 3 are either "Ada books" focusing on
  49.       the language features or more general books that use Ada, at
  50.       least in part, but do not fit obviously into a standard
  51.       curriculum "pigeonhole."
  52.  
  53.       I invite you to add to the list.  Please write your annotated
  54.       entry in the form I have used here and write or e-mail it to me.
  55.       I will include it in my next version and credit you as a
  56.       co-compiler of the list.
  57.  
  58.       Disclaimers: I wrote two of the texts listed here; I hope the
  59.       annotations are impartial enough.  And any annotated
  60.       bibliography is selective and opinionated.  Your mileage may
  61.       vary.
  62.  
  63.       Group 1: Books Suitable for a First Course in Programming
  64.  
  65.       Bover, D.C.C., K.J. Maciuas, and M.J. Oudshoorn.
  66.       Ada: A First Course in Programming and Software Engineering.
  67.       Addison-Wesley, 1992.
  68.       This work is, to our knowledge, the first Ada book to emerge
  69.       from Australia, from a group of authors with much collective
  70.       experience in teaching Ada to first-year students.  A number of
  71.       interesting examples are presented, for example, an Othello
  72.       game.  The book is full of gentle humor, a definite advantage in
  73.       a world of dry and serious texts.  In the book's favor is the
  74.       large number of complete programs.  On the other hand, it is
  75.       rather "European" in its terseness; American teachers may miss
  76.       the pedagogical apparatus and "hand-holding" typically found in
  77.       today's CS1 books.  Generic units are hardly mentioned.
  78.  
  79.       Culwin, F.
  80.       Ada: a Developmental Approach.
  81.       Prentice-Hall, 1992.
  82.       This work introduces Ada along with a good first-year approach
  83.       to software development methodology.  Much attention is paid to
  84.       program design, documentation, and testing.  Enough material is
  85.       present in data structures and algorithm analysis is present to
  86.       carry a CS2 course.  A drawback of the book is that the first
  87.       third is quite "Pascal-like" in its presentation order:
  88.       procedures, including nested ones, are presented rather early,
  89.       and packages are deferred until nearly the middle of the book.
  90.       This is certainly not a fatal flaw, but it will frustrate
  91.       teachers wishing a more package-oriented presentation.  The
  92.       programs and solutions are apparently available from the author.
  93.  
  94.       Feldman, M.B., and E.B. Koffman.
  95.       Ada: Problem Solving and Program Design.
  96.       Addison-Wesley, 1991.
  97.       This work combines the successful material from Koffman's CS1
  98.       pedagogy with a software-engineering-oriented Ada presentation
  99.       order.  Packages are introduced early and emphasized heavily;
  100.       chapters on abstract data types, unconstrained arrays, generics,
  101.       recursion, and dynamic data structures appear later.  The last
  102.       five chapters, combined with some language-independent algorithm
  103.       theory, can serve as the basis of a CS2 course.  A diskette with
  104.       all the fully-worked packages and examples (about 180) is
  105.       included; the instructor's manual contains a diskette with
  106.       project solutions.
  107.  
  108.       Savitch, W.J. and C.G. Petersen.
  109.       Ada: an Introduction to the Art and Science of Programming.
  110.       Benjamin/Cummings, 1992.
  111.       This is a straightforward adaptation of the well-known Savitch
  112.       Pascal books.  Ada is introduced in a Pascal-like order, with
  113.       subtypes and packages introduced halfway through the book.  This
  114.       is purely a CS1 book.  The final chapter covers dynamic data
  115.       structures.  There is no coverage of unconstrained array types;
  116.       generics are introduced at the halfway point to explain Text_IO,
  117.       then dropped until the final chapter.  The authors intended this
  118.       book to provide a painless transition to Ada for teachers of
  119.       Pascal; one wishes they had taken advantage of the chance to
  120.       show some of the interesting Ada concepts as well.  Program
  121.       examples from the text are available on disk, but only as part
  122.       of the instructor's manual; a solutions disk is available for a
  123.       fee from the authors.
  124.  
  125.       Skansholm, J.
  126.       Ada from the Beginning.
  127.       Addison Wesley, 1988.
  128.       This book was one of the first to use Ada with CS1-style
  129.       pedagogy.  There are excellent sections on the idiosyncracies of
  130.       interactive I/O (a problem in all languages), and a sufficient
  131.       number of fully-worked examples to satisfy students.  Generics,
  132.       linked lists and recursion are covered at the end; there is no
  133.       tasking coverage, but one would not expect this at CS1-level.
  134.  
  135.       Volper, D., and M. Katz.
  136.       Introduction to Programming Using Ada.
  137.       Prentice-Hall, 1990.
  138.       This book uses a heavily "spiraled" approach to Ada, and is
  139.       designed for a 2-semester course, covering nearly all of Ada
  140.       eventually.  There are lots of fully-coded examples, and good
  141.       pedagogical sections on testing, coding style, etc.  If you like
  142.       spiraling, you'll like this.  The down side is that you can't
  143.       find all you need on a given subject in one place.  It's at the
  144.       other end of the scale from the "Ada books" that follow the Ada
  145.       Language Reference Manual (LRM) order.
  146.  
  147.       Group 2: Other Books Intended for Undergraduate Courses
  148.  
  149.       Ben-Ari, M.
  150.       Principles of Concurrent and Distributed Programming.
  151.       Prentice-Hall 1990.  (OS/concurrency)
  152.       In my opinion, this is the best introduction to concurrency on
  153.       the market.  Ada notation is used for everything, but the focus
  154.       is on concurrency and not on Ada constructs per se.  I liked the
  155.       CoPascal notation of the first edition better, but this book is
  156.       still great.  A software disk is promised in the preface; I had
  157.       to work quite hard to get it from the publisher, which finally
  158.       had to express-ship it from England.  The software comes with a
  159.       tiny Ada-ish interpreter, complete with Pascal source code,
  160.       adapted from Wirth's Pascal/S via CoPascal.  There are also some
  161.       real Ada programs, most of which I've tested and found correct
  162.       and portable.
  163.  
  164.       Feldman, M.B.
  165.       Data Structures with Ada.
  166.       Prentice Hall, 1985 (now distributed by Addison-Wesley).
  167.       (CS2/data structures)
  168.       This book is a reasonable approximation to a modern CS2 book:
  169.       "big O" analysis, linked lists, queues and stacks, graphs,
  170.       trees, hash methods, and sorting, are all covered.  The Ada is a
  171.       bit old-fashioned, especially the lack of generics; the book was
  172.       published before compilers could handle generics.  The packages
  173.       and other programs are available free from the author.  The book
  174.       is currently under revision with Addison-Wesley and should
  175.       appear in 1993.
  176.  
  177.       Fischer, C., and R. LeBlanc.
  178.       Crafting a Compiler.
  179.       Benjamin Cummings, 1988.  (compilers)
  180.       This book uses Ada as its language of discourse and Ada/CS, a
  181.       usefully large Ada subset, as the language being compiled.  If
  182.       you can get the "plain Pascal" tool software by ftp from the
  183.       authors, you'll have a good translator-writing toolset.  Skip
  184.       the Turbo Pascal diskette version, which is missing too many
  185.       pieces to be useful.  I've used the book since it came out with
  186.       both undergrad and graduate compiler courses; it embodies a good
  187.       blend of theory and "how it's really done" coding.  Students
  188.       like it.  The authors have recently published a second version,
  189.       which uses C as its coding language but retains Ada/CS as the
  190.       language being compiled.
  191.  
  192.       Lomuto, N.
  193.       Problem-Solving Methods with Examples in Ada.
  194.       Prentice-Hall, 1987.  (algorithms)
  195.       Inspired by Polya's classic How to Solve It, this book can make
  196.       a nice addition to an Ada-oriented algorithms course.  It makes
  197.       too many assumptions about students' programming background to
  198.       use as a CS1 book, and doesn't teach enough Ada to be an "Ada
  199.       book."  But it makes nice reading for students sophisticated
  200.       enough to handle it.  I'd classify it as similar to Bentley's
  201.       Programming Pearls.
  202.  
  203.       Miller, N.E. and C.G. Petersen.
  204.       File Structures with Ada.
  205.       Benjamin/Cummings, 1990.  (file structures)
  206.       Designed for a straightforward ACM-curriculum file structures
  207.       course, this book succeeds at what it does.  There are good
  208.       discussions of ISAM and B-tree organizations.  The software can
  209.       be purchased a low cost from the authors; it seems to
  210.       approximate in Ada all those C-based file packages advertised in
  211.       programmer-oriented trade publications.
  212.  
  213.       Schneider, G.M., and S.C. Bruell.
  214.       Concepts in Data Structures and Software Development (with Ada
  215.       Supplement by P. Texel).
  216.       West, 1991.  (CS2/data structures)
  217.       This work is not, strictly speaking, an Ada book; rather, it is
  218.       a solid, language-independent approach to modern CS2.  The
  219.       language of discourse in the book is a Pascal-like ADT language
  220.       rather like Modula-2 in style; some examples are coded in legal
  221.       Pascal.  The Ada supplement makes it usable in an Ada-based
  222.       course, but the supplement is rather too terse (100 pages of
  223.       large type) for my taste, and insufficiently well keyed to the
  224.       book chapters.  The supplement's effectiveness would be greatly
  225.       enhanced by full translations to Ada of a large number of the
  226.       book's examples.
  227.  
  228.       Sebesta, R.W.
  229.       Concepts of Programming Languages.
  230.       Benjamin Cummings, 1989.  (comparative languages)
  231.       If you've been around for a while, you might remember the late
  232.       Mark Elson's 1975 book by the same title.  This is similar: a
  233.       concept-by-concept presentation, with -- in each chapter --
  234.       examples taken from several languages.  There is a nice
  235.       impartial presentation of Ada along with the others.  I
  236.       especially like the chapters on abstraction and exception
  237.       handling.  The book covers -- comparatively, of course -- most
  238.       of the lanuages you'd like to see, including C, Lisp, Smalltalk,
  239.       etc., with nice historical chapters as well.  The book is
  240.       readable; my students like it.  Our undergraduate and graduate
  241.       courses both use it as a base text.
  242.  
  243.       Group 3: A Selection of Other Ada-Related Books
  244.  
  245.       Barnes, J.
  246.       Programming in Ada.  (3rd edition)
  247.       Addison Wesley, 1989.
  248.       Barnes' work has been one of the most popular "Ada books."  Some
  249.       students find it hard to see how the pieces fit together from
  250.       Barnes' often fragmentary examples; it is difficult to find
  251.       complete, fully-worked out, compilable programs.  A version is
  252.       available with the entire Ada Language Reference Manual bound in
  253.       as an appendix.
  254.  
  255.       Booch, G.
  256.       Object-Oriented Design, with Applications.
  257.       Benjamin Cummings, 1991.
  258.       This is a good comparative introduction to the "object-oriented
  259.       (OO)" concept.  The first half gives a balanced presentation of
  260.       the issues in OO Design; the second half gives nontrivial
  261.       examples from Ada, Smalltalk, C++, CLOS, and Object Pascal.  The
  262.       author tries to sort out the difference between object-based
  263.       (weak inheritance, like Ada) and object-oriented (like C++)
  264.       languages.  My only real complaint is that Booch should have
  265.       worked out at least some of his case studies using several
  266.       different languages, to highlight the similarities and
  267.       differences in the language structures.  As it is, each case
  268.       study is done in only a single language.  The good news is that
  269.       the book is remarkably free of the hyperbolic claims one
  270.       sometimes finds in the OO literature.  I think this book could
  271.       be used successfully in a second- level comparative languages
  272.       course.
  273.  
  274.       Booch, G.
  275.       Software Components with Ada.
  276.       Benjamin Cummings, 1987.
  277.       This work is an encyclopedic presentation of data structure
  278.       packages from Booch's OOD point of view.  It is great for those
  279.       who love taxonomies.  It's not for the faint-hearted, because
  280.       the volume of material can be overwhelming.  It could serve as a
  281.       text for an advanced data structures course, but it's thin in
  282.       "big O" analysis and other algorithm-theory matters.  The book
  283.       is keyed to the (purchasable) Booch Components.
  284.  
  285.       Booch, G.
  286.       Software Engineering with Ada.  (2nd edition)
  287.       Benjamin Cummings 1987.
  288.       Another of the classical "Ada books."  Introduces Booch's OOD
  289.       ideas.  Not for use to introduce Ada to novices, in my opinion;
  290.       there are some nice fully-worked case studies but they begin too
  291.       far into the book, after long sections on design, philosophy,
  292.       and language elements.  The earlier chapters contain too much
  293.       fragmentary code, a common flaw in books that follow the LRM
  294.       order.
  295.  
  296.       Bryan, D.L., and G.O. Mendal.
  297.       Exploring Ada, Volumes 1 and 2.
  298.       Prentice-Hall, 1990 and 1992 respectively.
  299.       This is an excellent study of some of the interesting nooks and
  300.       crannies of Ada; it sometimes gets tricky and
  301.       "language-lawyerly."  Volume 2 takes up tasking, generics,
  302.       exceptions, derived types, scope and visibility; Volume 1 covers
  303.       everything else.  The programs are short and narrowly focused on
  304.       specific language issues.  If you like Bryan's "Dear Ada" column
  305.       in Ada Letters, you'll like this book.  It is certainly not a
  306.       book for beginners, but great fun for those who know Ada already
  307.       and wish to explore.
  308.  
  309.       Burns, A.
  310.       Concurrent Programming in Ada.
  311.       Cambridge University Press, 1985.
  312.       I used this book for years in my concurrency course.  It's
  313.       roughly equivalent to Gehani's book, but its age is showing.
  314.       Cambridge Press is not always easy to get books from, especially
  315.       in the US.
  316.  
  317.       Cohen, N.
  318.       Ada as a Second Language.
  319.       McGraw Hill, 1986.
  320.       This book is a quite comprehensive exploration of Ada which
  321.       follows the LRM in its presentation order.  My graduate students
  322.       like it because it is more detailed and complete than
  323.       alternative texts.  It's an excellent book for students who know
  324.       their languages and want to study all of Ada.  There are good
  325.       discussions of "why's and wherefore's" and many long,
  326.       fully-worked examples.
  327.  
  328.       Gauthier, M.
  329.       Ada: Un Apprentissage (in French).
  330.       Dunod, 1989.
  331.       I found this an especially interesting, almost philosophical
  332.       approach to Ada.  The first section presents Ada in the context
  333.       of more general laguage principles: types, genericity,
  334.       reusability.  The second section introduces testing and
  335.       documentation concerns, as well as tasking; the third considers
  336.       generics and variant records in the more general context of
  337.       polymorphism.  For mature Ada students in the French-speaking
  338.       world, and others who can follow technical French, this book can
  339.       serve as a different slant on the conventional presentations of
  340.       the language.  An English translation would be a real
  341.       contribution to the Ada literature.
  342.  
  343.       Gehani, N.
  344.       Ada: an Advanced Introduction (2nd edition).
  345.       Prentice-Hall, 1989.
  346.       I've always liked Gehani's literate writing style; he knows his
  347.       languages and treats Ada in an interesting, mature, and balanced
  348.       fashion.  This book comes with a diskette sealed in the back of
  349.       the book, which is advantageous because the book has numerous
  350.       nontrivial, fully-worked examples.
  351.  
  352.       Gehani, N.
  353.       Ada: Concurrent Programming (2nd edition).
  354.       Silicon Press, 1991.
  355.       This is a less formal, more Ada-oriented presentation of
  356.       concurrency than the Ben-Ari work.  I use both books in my
  357.       concurrency course; its real strength is the large number of
  358.       nontrivial, fully worked examples.  Gehani offers a nice
  359.       critique of the tasking model from the point of view of an OS
  360.       person.  The preface promises the availability of a software
  361.       disk from the publisher.
  362.  
  363.       Nyberg, K.
  364.       The Annotated Ada Reference Manual.  (2nd edition)
  365.       Grebyn Corporation, 1991.
  366.       This is the definitive work on Ada legalities, because it
  367.       presents not only the full text of the LRM but also the official
  368.       Ada Interpretations.  These commentaries, interleaved with the
  369.       LRM text, have been approved and promulgated by the Ada Board
  370.       and the various standards organizations, and are binding upon
  371.       compiler developers.  I recommend this book as an essential
  372.       volume in the library of every serious Ada enthusiast.
  373.  
  374.       Shumate, K.
  375.       Understanding Ada.  (2nd edition)
  376.       John Wiley, 1989.
  377.       This would make a CS1 book if it included more overall pedagogy,
  378.       independent of language constructs.  Otherwise it is a nice
  379.       introduction to Ada in fairly gentle steps.  Lots of completely
  380.       worked examples, right from the start.  Doesn't follow the LRM
  381.       order, which is great.
  382.  
  383.       Watt, D.A., B.A. Wichmann, and W. Findlay.
  384.       Ada Language and Methodology.
  385.       Prentice-Hall, 1987.
  386.       This work presents some interesting programming projects, and
  387.       the coverage of design and testing--at the level of a first-year
  388.       student--is quite good.  The first third of the book
  389.       concentrates heavily on classical control and data structures,
  390.       leaving exceptions and packages until the "programming in the
  391.       large" material in the second third.  CS2 teachers will find too
  392.       little concentration on algorithm analysis.  On the other hand,
  393.       tasking and machine-dependent programming are covered.  Like the
  394.       Shumate work, this book would make a suitable introduction to
  395.       Ada for students with a semester or so of programming
  396.       experience; it "jumps in" too quickly to satisfy the needs of
  397.       neophytes and is not well-tailored to CS1 or CS2 needs.
  398.  
  399. 21) Where can I get language translators?
  400.  
  401.       The AdaIC maintains a Products and Tools Database on its
  402.       bulletin board (703/614-0215), and one of the categories is
  403.       translators.  (The list of products should not be considered
  404.       exhaustive; if you wish to suggest additions, please contact the
  405.       AdaIC.)  Besides access to the database via the bulletin board,
  406.       you can also call the AdaIC (800-AdaIC-11 or 703/685-1477) and
  407.       ask for a customized search.
  408.  
  409.       In addition to all the usual caveats, however, it should also be
  410.       noted that translation itself is a controversial issue.
  411.  
  412.       When a project makes the transition to Ada from some other
  413.       language, one question that arises is whether to translate older
  414.       code into Ada.  Among the immediate considerations are how much
  415.       of the code can in fact be translated by a program intended for
  416.       that purpose, versus how much will still require re-coding by
  417.       hand.  And will the translated code suffer a significant loss in
  418.       speed of execution?  Further, a project must consider whether
  419.       the translated code will reflect sound software engineering and
  420.       be readily understandable and modifiable.  Or will the
  421.       translated code be merely "Fortranized Ada" or "Cobolized Ada",
  422.       or the like, possibly retaining limitations present in the
  423.       earlier code?  Portability is also a problem.
  424.  
  425.       The resolution of such issues will require an understanding of
  426.       the earlier code, an appreciation of the similarities and
  427.       differences between its language and Ada, and an evaluation of
  428.       the translation program under consideration.
  429.  
  430. 22) What is the status of the POSIX/Ada work?
  431.  
  432.       (from emery@mitre.org (dave emery))
  433.  
  434.       The IEEE approved IEEE Standard 1003.5-1992 in June 1992.  This
  435.       is the Ada Binding to the facilities defined in ISO
  436.       9945-1:1989/IEEE 1003.1-1990, the POSIX System Services.
  437.  
  438.       IEEE Standards Committee P1003.5 is now working on Ada bindings
  439.       to IEEE draft standards 1003.4, Real-Time Extensions and
  440.       1003.4a, Threads Extensions.  Current plans call for an IEEE
  441.       ballot in October 1993, with IEEE approval in September 1995.
  442.       For more information, contact the P1003.5 Chairman, Jim Lonjers
  443.       (lonjers@vfl.paramax.com, 805/987-9457).
  444.  
  445. 23) How can I get a copy of POSIX/Ada?  Is it available via FTP?
  446.  
  447.       (from emery@mitre.org (dave emery))
  448.  
  449.       You can buy a copy of the standard from the IEEE.  The order
  450.       number is "SH 15354", and the mailing address is "IEEE Service
  451.       Center, 445 Hoes Lane, Piscataway, NJ 08855-1331".  They will
  452.       accept credit-card orders at 1-800/678-4333.  The cost is $62.50
  453.       + $5.00 s/h ($43.75 + $4.00 s/h for IEEE Members).
  454.  
  455.       Current IEEE policy prohibits electronic distribution of IEEE
  456.       standards.  Proceeds from the sale of IEEE standards help
  457.       support the IEEE standards program.  However, The POSIX P1003.5
  458.       committee has been able to work out an arrangement with the IEEE
  459.       to make the POSIX/Ada package specifications available for
  460.       distribution via e-mail and anonymous FTP from the AJPO host
  461.       (ajpo.sei.cmu.edu).  Look in the public/dev-tool/POSIX
  462.       directory.  The AJPO files are also mirrored at the PAL.  (See
  463.       29) for more on the PAL, 25) for anonymous FTP.)
  464.  
  465. 24) Where can I get Ada benchmark programs?
  466.  
  467.       In addition to the information below, you may also wish to look
  468.       at the AdaIC flyer "How to Obtain Benchmark Performance Test
  469.       Suites and Results", flyer C15, file benchmrk.txt on the
  470.       AJPO host (ajpo.sei.cmu.edu).  For more on the AdaIC and
  471.       downloading files, see questions 14), 15), and 25).
  472.  
  473.       (from pd@SEI.CMU.EDU (Patrick Donohoe))
  474.  
  475.       a.  The Ada Evaluation System:
  476.  
  477.       The Ada Evaluation System (AES) may be obtained from the British
  478.       Standards Institute at the following address:
  479.  
  480.            Software Product Services
  481.            Software Engineering Department
  482.            BSIQA
  483.            P.O. Box 375
  484.            Milton Keynes MK14 6LL
  485.            United Kingdom
  486.            Tel: 0908 220908
  487.            UUCP: sed@bsiqa.uucp
  488.            (Internet: bsiqa!sed@uunet.uu.net)
  489.  
  490.       As of February 1993, the current version is the DIY-MAPSE-01
  491.       version.  It is available at a cost of 3,000 pounds sterling.
  492.       BSI also offers a validation service at a cost of 24,000 pounds
  493.       sterling.  Principal documents are a User's Manual, a Reference
  494.       Manual, and a Test Description Document.
  495.  
  496.       The Ada Evaluation System (AES) was merged with the Ada
  497.       Compiler Evaluation Capability (ACEC) under a joint agreement
  498.       between the Ministry of Defence of the United Kingdom and the
  499.       Department of Defense of the United States that was signed in
  500.       June of 1991.  The merged product has been released as the Ada
  501.       Compiler Evaluation System (ACES), which is the latest version
  502.       of the ACEC.
  503.  
  504.       b.  The Ada Compiler Evaluation Capability/Ada Compiler
  505.       Evaluation System:
  506.  
  507.       The Ada Compiler Evaluation System (ACES) may be obtained
  508.       from:
  509.  
  510.            Data and Analysis Center for Software (DACS)
  511.            Attn: Document Dataset Ordering
  512.            Kamen Sciences Corporation
  513.            P.O. Box 120
  514.            Utica, NY 13503-0120
  515.            Tel: 315/734-3696; Fax: 315/734-3699
  516.            Internet: dacs@kaman.com
  517.  
  518.       There are three documents: the User's Guide, the Reader's Guide,
  519.       and the Version Description Document.  The total cost for the
  520.       software (on 6250-bpi 9-track VMS Backup tape) and documentation
  521.       is 100 US dollars.
  522.  
  523.       ACES is also available for downloading via anonymous FTP from
  524.       the AJPO host computer, where it can be found in the
  525.       /public/aces directory.  It can also be downloaded from the
  526.       Public Ada Library (PAL -- see question 29).
  527.  
  528.       c.  Hartstone Benchmarks:
  529.  
  530.       Electronic-mail requests for Hartstone should be sent to the
  531.       following Internet address:
  532.  
  533.            hartstone-info@sei.cmu.edu
  534.  
  535.       The reply message will contain full details of how to obtain
  536.       source code and documentation by various means, including
  537.       anonymous ftp.  There is no charge for the Hartstone source
  538.       code.
  539.  
  540.       For people without Internet access, the address to send requests
  541.       to is:
  542.  
  543.            REST Transition Services
  544.            Software Engineering Institute
  545.            Carnegie Mellon University
  546.            Pittsburgh, PA 15213-3890
  547.            Phone: 412/268-7787
  548.  
  549.       Hartstone source code may also be retrieved from the PIWG
  550.       bulletin board.  (See below.)
  551.  
  552.       d.  The PIWG Benchmarks:
  553.  
  554.       The ACM Performance Issues Working Group (PIWG) benchmarks may
  555.       be obtained in one of three ways:
  556.  
  557.            1.  Via anonymous ftp from the ajpo.sei.cmu.edu machine.
  558.                Users should issue the command "ftp ajpo.sei.cmu.edu"
  559.                and log in using the word "anonymous" as the login name
  560.                and an identifying string (e.g., the user's e-mail
  561.                address) as password.  Change directory ("cd" command)
  562.                to the "public/piwg/piwg_11_92" directory and use the
  563.                ftp file-transfer commands to retrieve the files.  The
  564.                README file contains information about using the
  565.                benchmarks.
  566.  
  567.            2.  Via the PIWG bulletin board.
  568.                Ideally, users should access this from a PC (rather
  569.                than a dumb terminal) using a modem capable of sending
  570.                and receiving at 1200 baud or higher.  The number of
  571.                the bulletin board is 412/268-7020.  Once connected to
  572.                the bulletin board, users will be able to navigate
  573.                their way around the system using simple menus that the
  574.                system provides.  The point of contact for this service
  575.                is Gene Rindels, 412/268-6728.
  576.  
  577.            3.  Via a written request or telephone request to the
  578.                following service:
  579.  
  580.                    PIWG Distribution
  581.                    Software Engineering Institute
  582.                    Carnegie Mellon University
  583.                    Pittsburgh, PA 15213-3890
  584.                    Tel: 412/268-7787
  585.  
  586.                As of February 1993, the current release of the PIWG
  587.                suite is the one dated 11/92.  There is no charge for
  588.                the PIWG benchmarks.  Documentation for the PIWG
  589.                benchmarks consists principally of the READ.ME file
  590.                distributed with the suite and comments in the
  591.                individual test programs and command files.  There is
  592.                also additional information about the PIWG suite in the
  593.                Winter 1990 special edition of Ada Letters (Vol. X,
  594.                No. 3, special edition on Ada Performance Issues).
  595.  
  596. 25) The AJPO host has many Ada information files available for
  597.     downloading by anonymous FTP.  But I don't have FTP service on
  598.     the Internet host where I have an account.  Is there any way I
  599.     can get those files?
  600.  
  601.       The AJPO host, ajpo.sei.cmu.edu, will provide mail-server
  602.       capabilities on an experimental basis.  The available services
  603.       provided by this automatic mail server are: services, Re, help,
  604.       info, man, directory, and file-request.  To request a service,
  605.       send e-mail to "ftpmail@ajpo.sei.cmu.edu" and place its name in
  606.       the Subject line of the mail message, followed by any needed
  607.       parameters.  The mail server will respond to your request with
  608.       either the information you requested or an error message.
  609.  
  610.       The following are common examples on how to request services
  611.       from the AJPO host mail server:
  612.  
  613.       ----------------------------------------------------------------
  614.       1) To get "help" --
  615.  
  616.       To: ftpmail@ajpo.sei.cmu.edu
  617.       Subject: help
  618.  
  619.       ----------------------------------------------------------------
  620.  
  621.       2) To get "man" pages of a particular service, such as
  622.       "directory" --
  623.  
  624.       To: ftpmail@ajpo.sei.cmu.edu
  625.       Subject: man directory
  626.  
  627.       This service takes as a parameter the name of a service, and
  628.       returns a manual page on that service.
  629.  
  630.       ----------------------------------------------------------------
  631.  
  632.       3) To get a "directory" listing of the AJPO anonymous ftp area
  633.       (/public) --
  634.  
  635.       To: ftpmail@ajpo.sei.cmu.edu
  636.       Subject: directory
  637.  
  638.       The "directory" service takes as an optional parameter a file or
  639.       directory name, and returns the results of an "ls -l" on that
  640.       parameter.  For example, to get a listing of the
  641.       /public/compiler directory you would submit a message with the
  642.       Subject of:
  643.  
  644.       Subject: directory compiler
  645.  
  646.       The filename pattern may include wildcards as defined by the C
  647.       shell.  For example, to get a listing of the /public directories
  648.       beginning with "p" you would submit a message with the Subject
  649.       of:
  650.  
  651.       Subject: directory p*
  652.  
  653.       ----------------------------------------------------------------
  654.  
  655.       4) Use "file-request" to get /public/README file --
  656.  
  657.       To: ftpmail@ajpo.sei.cmu.edu
  658.       Subject: file-request README
  659.  
  660.       The "file-request" service takes as an optional parameter a
  661.       filename, and will return the contents of the file.  Text files
  662.       are returned verbatim, while binary files are encoded via the
  663.       Unix "uuencode" command.  Large files (greater than 1000 lines
  664.       long) will be split into multiple mail messages.  For example,
  665.       to get the file "README" in the /public/compiler directory you
  666.       would submit a message with the Subject of:
  667.  
  668.       Subject: file-request compiler/README
  669.  
  670.       ----------------------------------------------------------------
  671.  
  672.       Below is a sample response to a "help" request.
  673.  
  674.       From: FTP Mail Server <ftpmail@ajpo.sei.cmu.edu>
  675.       Message-Id: <9301141628.AA26473@ajpo.sei.cmu.edu>
  676.       To: adainfo@ajpo.sei.cmu.edu
  677.       Subject: Re: help
  678.       In-Reply-To: <9301141628.AA26462@ajpo.sei.cmu.edu>
  679.       Content-Type: text/plain; charset=us-ascii
  680.  
  681.       You have sent electronic mail to the Ada Joint Programs Office
  682.       automatic mail server.  This server is based on the
  683.       ServiceMail(tm) Toolkit from Enterprise Integration Technologies.
  684.  
  685.       In general, you may request a service by placing its name in the
  686.       Subject line of a mail message, followed by any needed
  687.       parameters.  The mail server will respond to your request with
  688.       either the information you requested or an error message.
  689.  
  690.       Here is a brief description of the available services:
  691.  
  692.       services:       This service returns a list of the available
  693.                       services.
  694.  
  695.       Re:             This service discards all messages with "Re:" in
  696.                       the subject line.  This is to prevent mail
  697.                       loops.
  698.  
  699.       help:           This service returns this help message.
  700.  
  701.       info:           This service returns this help message.
  702.  
  703.       man:            This service takes as a parameter the name of a
  704.                       service, and returns a manual page on that
  705.                       service.
  706.  
  707.       directory:      This service takes as an optional parameter a
  708.                       file or directory name, and returns the results
  709.                       of an "ls -l" on that parameter.  The root of
  710.                       the file structure is the AJPO anonymous FTP
  711.                       area.
  712.  
  713.       file-request:   This service takes as an optional parameter a
  714.                       file name, and will return the contents of the
  715.                       file.  The root of the file structure is the
  716.                       AJPO anonymous FTP area.  Text files are
  717.                       returned verbatim, while binary files are
  718.                       encoded via the Unix "uuencode" command.  Large
  719.                       files (greater than 1000 lines long) will be
  720.                       split into multiple mail messages.
  721.  
  722.       Try 'man <service>' to get more information on a particular
  723.       service.  Please report bugs and other problems to
  724.       ftpmail-request@ajpo.sei.cmu.edu.
  725.  
  726. 26) What is ASIS?
  727.  
  728.       The Ada Semantic Interface Specification is a layered
  729.       vendor-independent open architecture.  ASIS queries and services
  730.       provide a consistent interface to information within the Ada
  731.       Program Library created at compile time.  Clients of ASIS are
  732.       shielded and free from the implementation details of each Ada
  733.       compiler vendor's proprietary library and intermediate
  734.       representation.
  735.  
  736.       ASIS Version 1.1.0 is the latest version of the ASIS83 1.1 (Ada
  737.       83) de facto industry standard.  It differs from the previous
  738.       ASIS83 Version 1.1 in errata, clarifications, and two new
  739.       functions in Asis.Declarations (Implicit_Components and
  740.       Implicit_Variant_Components).
  741.  
  742.       ASIS Version 2.0.0 is the Ada 9x version of ASIS, called ASIS9X.
  743.       As errors, misunderstandings, and clarifications are discovered,
  744.       the ASIS Working Group will release new edited versions of the
  745.       specification.  The latest working draft for ASIS is ASIS 1.1.0,
  746.       dated July
  747.  
  748.       Your comments are welcome, if you wish to see replies to your
  749.       comments, please join the e-mail discussion group (discussed
  750.       below) first.
  751.  
  752. 27) How can I find out more about ASIS?  Can I take part in development?
  753.  
  754.       The following electronic mail forums now exist for the ASISWG.
  755.  
  756.       asiswg-technical@ajpo.sei.cmu.edu     technical discussions
  757.       asiswg@ajpo.sei.cmu.edu               high-level non-technical
  758.                                             discussions
  759.  
  760.       To have your email address added to these forums, send e-mail
  761.       to:
  762.  
  763.       asiswg-technical-request@ajpo.sei.cmu.edu
  764.       asiswg-request@ajpo.sei.cmu.edu
  765.  
  766.       Include your preferred e-mail address, name, telephone number,
  767.       and surface mail address.
  768.  
  769. 28) How can I get hold of ASIS?
  770.  
  771.       ASIS 2.0.0, 1.1.1, and 1.1.0 (along with the earlier version
  772.       1.1) are avaiable for anonymous FTP from ajpo.sei.cmu.edu.  They
  773.       can be found under the public/asis directory.
  774.  
  775.       If you have Internet FTP access, run your FTP program, a sample log
  776.       might look something like this:
  777.  
  778.          $ ftp ajpo.sei.cmu.edu
  779.          Name (ajpo.sei.cmu.edu:you): anonymous
  780.          331 Guest login ok, send your complete e-mail address as password.
  781.          Password:you@your-company.com
  782.          ftp> cd public/asis/v1.1.0
  783.          ftp> binary
  784.          ftp> get asis_1.1.0.asc
  785.          200 PORT command successful.
  786.          150 Opening BINARY mode data connection for /bin/compress.
  787.          (799382 bytes).
  788.          ....
  789.          ftp> bye
  790.  
  791.       (The "binary" command is not always necessary.  Some host ftp
  792.       programs drop form-feed characters.  The binary command will
  793.       prevent this behavior.)
  794.  
  795.       If you do not have Internet ftp access, the AJPO host provides
  796.       mail-server capabilities.  To get more information about the
  797.       mail-server, send e-mail to "ftpmail@ajpo.sei.cmu.edu", and
  798.       address your message as:
  799.  
  800.          To: ftpmail@ajpo.sei.cmu.edu
  801.          Subject: help
  802.  
  803.       To get a copy of the /public/asis/README file, address your
  804.       e-mail as:
  805.  
  806.          To: ftpmail@ajpo.sei.cmu.edu
  807.          Subject: file-request asis/README
  808.  
  809.       To get a "directory" listing of /public/asis/v1.1.0, address
  810.       your e-mail as:
  811.  
  812.          To: ftpmail@ajpo.sei.cmu.edu
  813.          Subject: directory asis
  814.  
  815.       To get any of the various files, e.g.,
  816.       /public/asis/v1.1.1/asis_1.1.1.asc.ps,
  817.       address your e-mail as:
  818.  
  819.          To: ftpmail@ajpo.sei.cmu.edu
  820.          Subject: file-request asis/v1.1.1/asis_1.1.1.asc.ps
  821.  
  822.       The filename pattern may include the "*" wildcard.
  823.  
  824.       Files have been compressed into .zip files.  On Unix hosts, you
  825.       can uncompress with unzip, and under DOS with PKUNZIP (at least
  826.       version 2.04).
  827.  
  828.       The files currently available for v1.1.1 include:
  829.  
  830.       asis_1.1.1.changes.zip    - listing of changes made by v1.1.1 to
  831.                                   v1.1.0
  832.  
  833.       asis_1.1.1.changes.ps.zip - Postscript version of the .changes
  834.                                   file
  835.  
  836.       asis_1.1.1.ada.zip        - full interface, includes all
  837.                                   Annexes, in a form suitable for
  838.                                   compilation with an Ada 83 compiler
  839.  
  840.       asis_1.1.1.asc.zip        - full interface listing, includes all
  841.                                   Annexes, line-numbered, 7-bit ASCII,
  842.                                   369 pages
  843.  
  844.       asis_1.1.1.asc.ps.zip     - Postscript version of the .asc file
  845.  
  846.       asis_1.1.1.index.zip      - line-number/function-name
  847.                                   cross-index for interface, 7-bit
  848.                                   ASCII
  849.  
  850.       asis_1.1.1.index.ps.zip   - Postscript version of the .index
  851.                                   file
  852.  
  853.       asis_1.1.1.decom.zip      - just the Data Decomposition Annex
  854.                                   interface
  855.  
  856.       asis_1.1.1.decom.ps.zip   - Postscript version of the .decom
  857.                                   file
  858.  
  859.       asis_1.1.1.bnf.ps.zip     - "ASIS/LRM Crossreference", Ada 83
  860.                                   LRM BNF notation correlated with
  861.                                   ASIS interfaces (Postscript)
  862.  
  863.       asis_1.1.1.imp.ps.zip     - "ASIS: Detailed Semantics and
  864.                                   Implementatation Requirements",
  865.                                   additional discussion of the ASIS
  866.                                   interface semantics, implementation
  867.                                   considerations, and requirements,
  868.                                   should be read by application
  869.                                   programmers as well (PostScript)
  870.  
  871. 29) Are there any free, public-domain, or other general-access software
  872.     repositories that contain Ada source code and information on reuse?
  873.  
  874.       There are a number of them, among them AdaNet and the Public Ada
  875.       Library.
  876.  
  877.       Public Ada Library (formerly Ada Software Repository):
  878.  
  879.       Formerly the Ada Software Repository (ASR), the Public Ada
  880.       Library (PAL) is a collection of programs, components, tools,
  881.       general information, and educational materials; taking up more
  882.       than 100 megabytes, it contains the source code for
  883.       approximately 355 distinct items as documented in its Master
  884.       Index.  Previously housed on the SIMTEL20 host computer, it is
  885.       now located at Washington University at St. Louis's host
  886.       (wuarchive.wustl.edu -- which had been a mirror site for the
  887.       ASR).  The PAL is available for anonymous ftp.
  888.  
  889.       The PAL has its own FAQ, a copy of which is stored on the AJPO
  890.       host (ajpo.sei.cmu.edu, in directory public/comp-lang-ada, file
  891.       name public-ada-library).  It is also available on rtfm.mit.edu,
  892.       which stores FAQ files posted to news.answers.
  893.  
  894.       AdaNet:
  895.       (from mprice@rbse.Mountain.Net (Margie Price))
  896.  
  897.       AdaNET is a component of the Repository Based Software
  898.       Engineering (RBSE) Program sponsored by NASA's Technology
  899.       Utilization Division.  It is a public-domain reuse library
  900.       containing value-added software from ASR (PAL), STARS, JPL, many
  901.       educational institutions, and various other sources.  Our
  902.       non-software information includes relevant research papers,
  903.       standards, and technical reports.
  904.  
  905.       AdaNET also distributes components on floppy disks.  All of its
  906.       services are free of charge.
  907.  
  908.       For more information, contact AdaNET Client Service at
  909.       1-800/444-1458 or lacey@rbse.mountain.net.
  910.  
  911. ====================================end=======================================
  912.  
  913.