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