From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=0.7 required=5.0 tests=BAYES_00,CTE_8BIT_MISMATCH, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII X-Google-Thread: 103376,d022f21143c4fc82,start X-Google-Attributes: gid103376,public X-Google-Thread: f7ded,d022f21143c4fc82,start X-Google-Attributes: gidf7ded,public X-Google-Thread: 100062,d022f21143c4fc82,start X-Google-Attributes: gid100062,public From: Magnus.Kempe@di.epfl.ch (Magnus Kempe) Subject: Ada FAQ: comp.lang.ada (part 2 of 3) Date: 1996/04/22 Message-ID: <4lg7ch$2o6@disunms.epfl.ch> X-Deja-AN: 150810699 distribution: world sender: magnus@lglsun4.epfl.ch (Magnus Kempe) followup-to: poster content-type: text/plain; charset=iso-8859-1 summary: comp.lang.ada Frequently Asked Questions (and answers), organization: None keywords: Ada, comp.lang.ada mime-version: 1.0 reply-to: Magnus.Kempe@di.epfl.ch (Magnus Kempe) newsgroups: comp.lang.ada,comp.answers,news.answers Date: 1996-04-22T00:00:00+00:00 List-Id: Archive-name: computer-lang/Ada/comp-lang-ada/part2 Comp-lang-ada-archive-name: comp-lang-ada/part2 Posting-Frequency: monthly Last-modified: 15 April 1996 Last-posted: 9 March 1996 comp.lang.ada Frequently Asked Questions (FAQ) Recent changes to this FAQ are listed in the first section after the table of contents. This document is under explicit copyright. This is part 2 of a 3-part posting; part 1 contains the table of contents. Part 3 begins with question 7; it should be the next posting in this thread. Part 1 should be the previous posting in this thread. 4: Compilers 4.1: Is there a list of validated Ada compilers? Yes, indeed, there is. The latest list can be retrieved by anonymous FTP. For Ada 83, it is in ftp://sw-eng.falls-church.va.us/public/AdaIC/compilers/83val/83vcl.txt (if the list is updated during the month, the previous one is replaced). And there is also a (non-empty!) list of validated Ada 95 compilers at ftp://sw-eng.falls-church.va.us/public/AdaIC/compilers/95val/95vcl.txt 4.2: Is there a free Ada compiler (or interpreter)? There ARE indeed free Ada systems, and there is even choice: Ada/Ed for Ada 83, and AVLAda9X and GNAT for Ada 95. A complete list is available at http://lglwww.epfl.ch/Ada/Resources/Compilers/Free_Ada.html (Strictly speaking these are free to distribute but NOT "public-domain". They are "free"--under copyright conditions known as "GNU Copyleft". In short: there is no warranty, and you are allowed to copy, modify, and distribute them; but you can't charge anyone for the software itself, and if the software (necessarily including source code) is further distributed, it must be done under the same conditions--i.e. copyable, with sources and modifications, available to everyone else, etc.) 4.2.1: GNAT, The GNU NYU Ada Translator -- An Ada 95 Compiler GNAT is a compiler for Ada 95 that accepts Ada 95 source code and generates executable (machine) code (GNAT is a compiler and does not, repeat: DOES NOT, generate C code). It is based on the Free Software Foundation (FSF)'s gcc, a portable compilation system for a variety of languages. GNAT generates relatively good code, and is expected to improve further as its developers transition from developing initial functionality to optimizing it. GNAT supports tasking for many computer platforms, but it does NOT support tasking on MS-DOS at this time. For tasking with GNAT and a PC platform, consider using other operating systems such as Linux or OS/2 (while we're at it, if you use DOS, consider using a real operating system :-). GNAT is available from the New York University host, in directory ftp://cs.nyu.edu/pub/gnat. There are versions for UNIX-based systems (Sun, DEC, IBM, Next, ...), and versions for DOS, OS/2, and NT 386/486 systems. Usually the latest version is made available for both Sun SPARC (SunOS 4.1) and OS/2 systems. It is also available in the Public Ada Library (PAL -- formerly the Ada Software Repository), under directory ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/gnat (Internet address: 128.252.135.4). A mirror site of the PAL also carries GNAT, directory: ftp://ftp.cdrom.com/pub/languages/ada/compiler/gnat. You can also get a copy from the AdaIC Bulletin Board. But this is a dial-up operation (703/614-0215), and since the files sizes are large, connect times may be lengthy. The bulletin board is best used as a back-up source for those who don't have Internet/FTP access. General (excerpted from "Free Source Code for GNAT 9X Compiler to be Available on Internet", by Robert Dewar and Edmond Schonberg, New York University, Ada Information Clearinghouse Newsletter August 1993) The Computer Science Department of the Courant Institute of Mathematical Sciences at New York University received a contract from the Ada 9X Project Office, under the direction of Christine M. Anderson, to develop a GNU/Ada system. The work was co-sponsored by ARPA and the Ada Joint Program Office. The final delivery was a full Ada 95 implementation with as much of the core language and annexes implemented as possible. Here is the official GNAT e-mail address: report@gnat.com This address is to be used specifically to report problems with the currently available version of the GNAT system. Please be as specific as possible in reporting problems. OS/2 Version The executables and sources for the OS/2 version of GNAT are split and compressed into two files, each of which can fit on one 3.5-inch high-density diskette. Although it is possible to install GNAT on an OS/2 machine on FAT (MS-DOS-compatble) partition, such an installation will not be fully functional. In fact, GNAT does not support installations on FAT partitions. You will need about 8.5 MB of free disk space after you have copied the appropriate files to your hard drive. About half of this amount is taken up by the source code. In case you want to modify and re-compile GNAT, you will need about 24 MB of free disk space after you have installed GNAT for OS/2 and copied the necessary source files to your hard drive. Ports Several ports of GNAT have been produced by volunteers for a number of additional platforms (e.g. SPARCStations Solaris 2.1, i386/i486 Linux, DECstation (MIPS chip) Ultrix, DOS, SCO Unix). Users should allow time for the volunteers to catch up with the new releases. Note: The DOS version requires installation of DJGPP, DJ Delorie's port of GCC, GNU loader (ld), and GNU assembler (as) to DOS. DJGPP also includes the GO32 memory extender, which works with both VCPI and DPMI standards, which allows working in a Microsoft Window. There is information on DJGPP stored together with GNAT. 4.2.2: Ada/Ed -- An Interpreter for Ada 83 Ada/Ed is available for PCs, Unix-based machines, Amiga, and Atari systems. The Ada/Ed interpreter for Ada 83 is available from the New York University host, in directory ftp://cs.nyu.edu/pub/adaed (Internet address 128.122.140.24). There you will find a version for UNIX-based machines, and a version for 386/486 DOS machines. Ada/Ed is a translator-interpreter for Ada. It is intended as a teaching tool, and does not have the capacity, performance, or robustness of commercial Ada compilers. Ada/Ed was developed at New York University, as part of a long-range project in language definition and software prototyping. The project produced the first validated translator for Ada, in the form of an executable definition of the language written in SETL. The SETL system served as design document and prototype for the C version. Ada/Ed was last validated under version 1.7 of the ACVC tests. Therefore it is not currently a validated Ada system, and users can expect to find small discrepancies between Ada/Ed and currently validated compilers. Apart from the 100-odd tests of ACVC 1.11 that Ada/Ed currently fails, the major deficiency of the system is that, being an interpreter, it does not implement most representation clauses, and thus does not support systems programming close to the machine level. 4.2.3: GW-Ada/Ed -- a souped-up version of Ada/Ed for 386/486 DOS and Macintosh machines GW-Ada/Ed is available from the PAL, by anonymous FTP. The files are located in subdirectories "dos" and "mac" of directory ftp://wuarchive.wustl.edu/pub/languages/ada/compiler/adaed/gwu This project was sponsored by The George Washington University, and in part by the United States Advanced Research Projects Agency (ARPA). This distribution contains the executables for GWAda, which consists of the NYU Ada/Ed translator/interpreter system together with an integrated editor developed by Prof. Arthur Vargas Lopes of the Pontifical University at Porto Alegre, Brazil. Lopes began his work on GWAda while he was a doctoral student at The George Washington University. There is also in the DOS version a very nice extended runtime facility, with interesting kinds of source tracing. GWAda is being freely distributed at no charge. In the near future the developers will make the source code available under the GNU General Public License. Source code is not being provided because the system is still in the developmental stage. Source code for Ada/Ed itself is available from NYU (see above) and from PAL (see questions 9.1 and 9.3). Note that under DOS you do not have to use the GWAda integrated environment, but can execute the various parts of NYU Ada/Ed from the DOS command line, as described in the NYU instructions. System requirements: * IBM PC Compatible, 386 or 486, running MS-DOS or PC-DOS, with at least 3.6 MB available extended memory, and at least 5 MB free hard-disk space. * any Mac, System 7, with at least 2.5 MB of RAM, and around 10 MB free hard-disk space. Note that the new version is PowerPC native and blindingly fast (8-20 times faster than the 1.1 release). 4.3: What cheap (<500$) Ada compilers are available? What follows is absolutely *not* exhaustive, but inexpensive compilers are available, and some vendors offer educational discounts or free programs for educational sites. Among those offering educational discounts are DDC-I, Encore, Harris, IBM, Irvine Compiler, OC Systems, Rational, R.R., Tartan, and Thomson Software Products (ex-Alsys). OC Systems: OC Systems will distribute PowerAda free to educational institutions wishing to use the product for teaching purposes. Contact by email info@ocsystems.com Rational: Rational provides free software (Rational Apex) to accredited educational institutions, including military academies, in the United States and Canada. This is under its Software Engineering for Educational Development (SEED) program. To receive information on the program, send your contact information via e-mail to SEED_Info@Rational.com Rational also offers OpenAda for $99. (Rational Software Corporation, 2800 San Tomas Expressway, Santa Clara, CA 95051-0951; tel: 1-800-RAT-1212) R.R. Software: R.R.'s Janus/Ada Professional Development System -- 80386 MS-DOS -- regularly goes for $500. (R.R. Software, P.O. Box 1512, Madison, WI 53701; contact: Randall Brukardt 608/251-3133; e-mail: rbrukardt@bix.com) Thomson Software Products (US pricing only): FirstAda for 286 DOS is $595. It will run on 286 and higher, and will generate applications for any x86 PC. Comes with a full toolset. Thomson Software Products does run specials on it periodically. Call Pat Michalowski at 619/457-2700 for more info. Thomson Software Products offers the same compilation system for $144 to qualified educational institutions under its LEAP program. The program also offers substantial educational discounts on other Thomson Software Products products, as well as site license arrangements. Contact Kathy Ruggiero at 617/270-0030 for more info. 4.4: Is there an Ada compiler for common machine X/common operating system Y? There are hundreds of Ada compilers available on the market. Some answers for Frequently Asked Compilers are listed below. If your specific question is not answered here, check the comprehensive list of validated Ada compilers (see 4.1). 4.4.1: For the Macintosh It depends on whether you want a compiler for serious development or just a learning tool. The free GW-Ada/Ed-Mac (see question 4.2.3) is the latter; it works on all Mac architectures. GW-Ada is a nice learning tool with an easy-to-use IDE, but it generates interpreted virtual code, not Mac apps. Other than that there is the Rational (ex-Meridian) OpenAda. OpenAda is an Ada 83 compiler with a Toolbox binding and MPW 3.2, but Rational has dropped it and is not going to upgrade it to Ada 95. It has one limitation for large programs: Packages which contain more than 32K bytes of data will compile, but not link. It works with System 7, and has been reported both as working and not-working on PowerPCs (maybe due to a problem with Inits). It can be ordered from D.C. Heath (price Mac version 12 disks plus documentation (35630-1) PC versions Five 3 1/2" disks plus documentation (35629-8) Nine 5 1/4" disks plus documentation (34139-8) A GNAT for Macintosh is in the works. 4.4.2: Native compilers for OS/2 There are several good fully validated compilers. E.g. Thomson Software Products (ex-Alsys) has one, and has a partial Ada 95 compiler for Windows; RR Software specializes in the Intel x86 architecture (AETECH repackages and distributes their compilers as IntegrAda) -- and they advertise a partial Ada 95 compiler. GNAT is available for OS/2. 4.5: How can I contact Ada compiler vendors? Here is a non-exhaustive list (possibly out-of-date, for the moment) of email and phone contacts for questions and/or sales. Active Engineering Technologies, Inc. WWW http://www.pcada.com/pcada/ sales email: ada_info@pcada.com Tel: (619) 414-9001 Fax: (619) 414-9192 Ada Core Technologies (ACT) WWW http://www.gnat.com/ questions email: support@gnat.com Tel: (212) 620-7300 Fax: (212) 807-0162 AETECH, Inc.: see Active Engineering Technologies Alsys: see Thomson Software Products Convex WWW http://www.convex.com/ questions allison@convex.com (Brian Allison) Tel: (214) 497-4346 Cray WWW http://www.cray.com/ questions det@cray.com (Dave Thersleff) Tel: (612) 683-5701 sales svc@cray.com (Sylvia Crain) Tel: (505) 988-2468 DEC WWW http://www.digital.com/home.html DDC-I WWW http://www.dknet.dk/ddci/ sales sale@ddci.dk Tel: (602) 275-7172 Tel: +45 45 87 11 44 Green Hills Software Inc. WWW http://ghs.com/ghs.html questions support@ghs.com sales eric@ghs.com (Eric Schacherer) Tel: (805) 965-6044 Harris WWW http://www.harris.com/ questions jeffh@ssd.csd.harris.com (Jeff Hollensen) IBM: see OC Systems Inc. Intermetrics WWW http://www.inmet.com/ questions ryer@inmet.inmet.com (Mike Ryer) Irvine Compiler Corp (ICC) questions info@irvine.com Meridian: see Rational Software Corporation OC Systems Inc. WWW http://ocsystems.com/ questions Email: info@ocsystems.com sales Tel: (703) 359-8160 Fax: (703) 359-8161 Rational Software Corporation WWW http://www.rational.com/ sales product_info@rational.com Tel: (408) 496-3600 or (800) RAT-1212 R.R. Software sales Tel: (800) Pc-Ada-4u or (800) 722-3248 rBrukardt@bix.com (Randy Brukardt) Tartan questions customer-support@tartan.com Tel: (412) 856-3600 (ext 150) sales info@tartan.com Tel: (800) 856-5255 or (412) 856-3600 TeleSoft: see Thomson Software Products Thomson Software Products (ex-Alsys) WWW http://www.thomsoft.com/ questions adasupport@thomsoft.com sales marketing@thomsoft.com Tel: (619) 457-2700 (800) 833-0042 (ActivAda only) Verdix: see Rational Software Corporation Note: The AdaIC's Validated Compiler List (see 4.1) now contains addresses, usually including e-mail, for compiler-vendor points of contact. 4.6: Are Ada 95 compilers compatible with Ada 83? Yes, absolutely. Ada 95 is very close to upwards compatible with Ada 83, so you will find that an Ada 95 compiler is in practice "compatible" with the Ada 83 compiler you have used or are using. The compatibility really depends on what kind of code you have written, so one should understand what has evolved, what was considered broken and is now fixed, as well as what is new. There are two excellent documents that will help immensely in that respect: * Changes to Ada -- 1987 to 1995, in a Postscript 362KB file: ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat /v6.0/chg83.ps also available in a text-only 207KB file: ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat /v6.0/chg83.doc * Ada 9X Compatibility Guide, by Bill Taylor, in directory ftp://sw-eng.falls-church.va.us/public/AdaIC/docs/compat-guide Furthermore, GNAT has a -gnat83 switch which enforces most of the Ada 83 restrictions, and other compilers have similar 95/83 modes. _________________________________________________________________ 5: Organizations that deal with Ada and Ada issues 5.1: Ada Joint Program Office (AJPO) The AJPO is part of the Department of Defense; it facilitates the implementation of the DoD's Software Initiative (Ada) throughout the Services, and maintains the integrity of the Ada language. The AJPO sponsors the AdaIC (see below). The address is: AJPO CODE JEKS 5600 Columbia Pike Falls-church, VA 22041 phone: (703) 681-2459 email: ajpo@sw-eng.falls-church.va.us The current staff are: Chief Dr. Charles B. ("Chuck") Engle, Jr. -- engle1c@sw-eng.falls-church.va.us Acting AJPO Program Manager Ms. Joan McGarity -- mcgarity@sw-eng.falls-church.va.us Contracts Liaison Mr. Gary Shupe -- shupeg@sw-eng.falls-church.va.us 5.2: Ada Information Clearinghouse (AdaIC) The Ada Information Clearinghouse (AdaIC) provides a full spectrum of information on Ada to anyone interested in finding out more about the programming language. IIT Research Institute operates the AdaIC for the Ada Joint Program Office (AJPO). The address is: Ada Information Clearinghouse P.O. Box 1866 Falls Church, VA 22041 phone: (703) 681-2466 fax: (703) 681-2869 or (800) Adaic 11 (232-4211) email: adainfo@sw-eng.falls-church.va.us WWW: http://sw-eng.falls-church.va.us The AdaIC publishes a quarterly newsletter, which contains current news, Ada conference reports, announcements from the AJPO Director, and articles on projects using Ada. If you would like to receive a copy of the AdaIC newsletter, call and request a subscription. There is no charge. The AdaIC also regularly updates and publishes more than 70 separate information flyers. Flyer topics include: * Ada Validated Compilers * Ada News and Current Events * Ada Usage * Ada 9X Project * On-line sources of Ada Information * Ada Bibliographies * Ada Compiler Validation and Evaluation * Resources for Ada Education and Training * Ada Software, Tools, and Interfaces * Ada Regulations, Policies, and Mandates * Ada Historical Information One of the most commonly requested flyers is the Validated Compilers List. This list, which is updated monthly, contains Ada compilers that have been validated by the AJPO. For the most current information on validated Ada compilers, contact the AdaIC. Practically all AdaIC flyers are available via anonymous FTP from their host, in directory ftp://sw-eng.falls-church.va.us/public 5.3: Association for Computing Machinery's Special Interest Group on Ada (ACM SIGAda) SIGAda's bimonthly publication is Ada Letters. Price for non-members: $55 (Annual ACM membership dues, $82; students, $25). Otherwise it costs $20 per year to ACM members; $10 per year to ACM student members. The address is: Association for Computing Machinery, Inc. 1515 Broadway New York, NY 10036 212/869-7440 SIGAda also has a number of committees and working groups on a variety of topics. 5.4: ISO Working Group 9 (ISO-IEC/JTC1/SC22/WG9, WG9 for short) This is a working group that deals with Ada within the International Standardization Organization. For more information, you can find online information about WG9 at http://lglwww.epfl.ch/Ada/Ammo/Associations/WG9.html There are several Rapporteur (rap) groups with WG9: * ARG: Ada Rapporteur Group -- Comments and Interpretations * CRG: Character Rapporteur Group -- International Character Sets * IRG: Information Systems Rapporteur Group -- Decimal Arithmetic * NRG: Numerics Rapporteur Group -- NUMWG packages * RRG: Real-Time Rapporteur Group -- ExTRA * SRG: SQL Interfaces Rapporteur Group -- SAMeDL * URG: Uniformity Rapporteur Group -- Portability through Uniformity * XRG: Ada 9X Rapporteur Group Ada Rapporteur Group (ARG): This is the group responsible for evaluating comments on the Ada standard. Officially, the group is only developing a technical report addressing comments and questions concerning the ISO standard for Ada. (Arcane ISO rules prevent the ARG or WG9 from issuing "official" interpretations of a standard.) In practice, when a response to a comment is approved by WG9, the response is taken into account by the Ada Validation Office and affects the test suite. The documents containing comments on the standard and ARG responses are called "Ada Commentaries" and are given numbers of the form AI-ddddd/vv, where vv is a version number. Comments and questions about the Ada standard should be sent to ada-comment@sw-eng.falls-church.va.us, using the format specified in the Ada standard. You can receive e-mail notification of an update to a commentary (optionally including the text of the commentary) by sending a request to ada-comment@sw-eng.falls-church.va.us. Commentaries are generally updated only a few times each year. The text of all commentaries is available by anonymous FTP from the AJPO site in the account public/ada-comment. A detailed discussion of ARG procedures and the format of commentaries can be found in the ada-comment account in the file arg-procedures.doc. A reformatted copy of the Reference Manual that includes WG9-approved commentaries used to be available from Karl Nyberg (karl@grebyn.com), but note that distribution of the Ada 83 AARM has been transferred by Grebyn Corporation to the Ada Resource Association (3.1.1). Uniformity Rapporteur Group (URG) Responsible for evaluating Uniformity Issues (UIs). UIs specify/recommend specific choices for the compiler implementor, where the language permits implementation freedom. The "canonical example" is UI-8, on integer types. This UI recommends that integers be at least 32 bits, and provides names for the other predefined integer types. The goal of the URG and the UI's is to further Ada portability by providing uniform implementations of implementation-dependent features commonly used by Ada applications. _________________________________________________________________ 6: Tools 6.1: Is there an Ada-mode for Emacs? There are 3 Ada modes for Emacs: * the most recent and powerful one is available by FTP in the file emacs-ada-mode-2.12.tar.gz in directory ftp://cs.nyu.edu/pub/gnat This is still work under development but it is already quite usable. The main features are: + compile and parse the errors (with the cursor at the right line AND column) + highlight keywords and comments + create skeletons for all Ada constructs (both 83 and 9x) + goto next (previous) subprogram/package/task + goto beginning of syntactic construct + name completion (works across file boundaries, if the Xref output from gnatf is available) + TAB ---> indent (almost always correctly) + untabify, remove trailing spaces automatically before saving + C-c C-f ---> format subprogram specs in GNAT style + and much more to come... The 2 main developers are Markus Heritsch (who works under the direction of Franco Gasperoni at ENST, Paris) and Rolf Ebert (Munich, Germany). * electric-ada, by Steven D. Litvintchouk of Mitre Corp (available from?--NO INFORMATION); and * gnu-ada mode. Here is a small description of the features of this mode: Compile programs within emacs Run compiler as inferior of Emacs, and parse its error messages. NOTE: I believe that this feature will only work with VADS, but it might have been tailored to work with other compilers. Ada dired It supplies a form of dired that helps manage the VADS environment, and it adds ADA vads commands into ada mode. Unlike a previous dired-ada implementation, this version uses the existing dired mode functions except where there is unresolvable conflict. Thus, this is more like a minor mode to dired. Very important because on actual version of emacs 19(beta), in fact lemacs (lucid emacs), dired has changed and we can no longer use gnu-ada mode :-( you can consult the Ada Language Reference Manual (*) during parsing error message. (*)You can get one in e.g. the Public Ada Library. smart indentation Tries hard to do all the indenting automatically. Emphasizes correct insertion of new code using smart templates. Smart template commands (bnf) This is essentially a bnf processor/language-sensitive editor. The next message will give you an ada bnf file that you can use within ada-mode to expand nonterminals. But you can roll your own grammars (e.g., your design grammar or an ADL) and put them in *.bnf files ... The BNF rule set is stored as a list of rules. debugging Ada programs within emacs A facility is provided for the simultaneous display of the source code in one window, while using a.db to step through a function in the other. A small arrow "=>" in the source window, indicates the current line. Move from procedure to procedure or package to package tags Ada and other things ... You can find the gnu-ada mode in where did it go? as well as in the PAL, under directory ftp://wuarchive.wustl.edu/pub/languages/ada/swtools/emacs/adamode. 6.2: Are there versions of lex and yacc that generate Ada code? The Arcadia project produced the tools aflex and ayacc, both written in Ada and producing Ada code. They can be found in directory ftp://liege.ics.uci.edu/pub/irus (Internet address: 128.195.1.5, 128.195.13.1). 6.3: Where can I get a yacc/ayacc grammar to read Ada code? A yacc and lex grammar for Ada 83 is available via FTP from the comp.compiler archives at primost.cs.wisc.edu and via e-mail from the compilers server at compilers-server@iecc.cambridge.ma.us . A yacc grammar for Ada 95 is available in file ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat/grammar9x.y and a lex grammar for Ada 95 is available in file ftp://sw-eng.falls-church.va.us/public/AdaIC/standards/95lrm_rat/lexer9x.l 6.4: What is Anna, and where can I get it? Anna is a language for formally specifying Ada programs. It extends Ada with various different kinds of specification constructs from ones as simple as assertions, to as complex as algebraic specifications. A whole lot of tools have been implemented for Anna, including: 1. The standard DIANA extension packages, parsers, pretty-printers. 2. Semantic checker (very similar to standard semantic checkers for programming languages). 3. Specification analyzer -- this is a tool used to test a specification for correctness before a program based on the specification is written. 4. Annotation transformer -- this transforms Anna specification constructs into checks on the Ada program that is developed based on the specification. This tool is currently in the process of being enhanced so that it can handle at least all the legal Ada programs in the ACVC test-suite. 5. Runtime debugger -- The instrumented program output by the annotation transormer can be run with a special debugger that allows program debugging based on formal specifications. All tools have been developed in Ada and are therefore extremely portable. Anna has been ported to many platforms, details of which can be obtained from the person who handles Anna releases. You can send e-mail to anna-request@anna.stanford.edu for answers to such questions. Actually, there is also a mailing list -- anna-users@anna.stanford.edu. Send e-mail to the earlier address if you want to get on this list. One could view Anna and its toolset as a *very* significant enhancement of assertions that are provided in languages such as C (using the assert statement). The enhancements are in the form of both (1) many more high level specification constructs; and (2) more sophisticated tool support. However, there are those who would not even wish to compare Anna with C assertions! :-) The Anna tools may be found in directory ftp://anna.stanford.edu/pub/anna. 6.5: What is DRAGOON, and where can I get it? DRAGOON is a language, implemented as an Ada preprocessor (i.e., it generates pure Ada). DRAGOON is truly object-oriented, including complete support for multiple inheritance. A very nice feature of DRAGOON not found in many OO languages is the concept of "behavioral" inheritance. This allows you to keep the concurrent behavior of object separated from the object class hierarchy. The book by Colin Atkinson, "Object-Oriented Reuse, Concurrency and Distribution: An Ada-Based Approach" (ACM Press, 1991, ISBN: 0201565277), is very well written and describes the language succinctly and completely. For a copy of the preprocessor, contact: Mr. Andrea Di Maio TXT Ingegneria Informatica S.p.A. Via Socrate, 41 20128 Milan, ITALY phone: + 39-2-2700 1001 6.6: Where can I get language translators? The AdaIC maintains a Products and Tools Database on its bulletin board (703/614-0215), and one of the categories is translators. (The list of products should not be considered exhaustive; if you wish to suggest additions, please contact the AdaIC.) Besides access to the database via the bulletin board, you can also call the AdaIC (800-AdaIC-11 or 703/685-1477) and ask for a customized search. Should I? In addition to all the usual caveats, however, it should also be noted that translation itself is a controversial issue. When a project makes the transition to Ada from some other language, one question that arises is whether to translate older code into Ada. Among the immediate considerations are how much of the code can in fact be translated by a program intended for that purpose, versus how much will still require re-coding by hand. And will the translated code suffer a significant loss in speed of execution? Further, a project must consider whether the translated code will reflect sound software engineering and be readily understandable and modifiable. Or will the translated code be merely "Fortranized Ada" or "Cobolized Ada", or the like, possibly retaining limitations present in the earlier code? Portability is also a problem. The resolution of such issues will require an understanding of the earlier code, an appreciation of the similarities and differences between its language and Ada, and an evaluation of the translation program under consideration. 6.7: What is ASIS? The Ada Semantic Interface Specification is a layered vendor-independent open architecture. ASIS queries and services provide a consistent interface to information within the Ada Ada compilation environment. Thus it is envisioned that tool makers should be able to create ASIS clients--shielded and free from the implementation details of each Ada compiler vendor's proprietary compilation environment and intermediate representation(s). ASIS Version 1.1.1 is the last version of the ASIS83 (Ada�83) de facto industry standard; it was finalized, together with the corresponding test suite for ASIS implementations, in June 1994. The current version of ASIS 95 is ASIS 2.0.E (November 1995). As errors, misunderstandings, and clarifications are discovered, the ASIS Working Group will release new edited versions of the specification. For more information, there is an ASIS WWW server at http://info.acm.org/sigada/WG/asiswg/asiswg.html ASIS versions are available in directory ftp://sw-eng.falls-church.va.us/public/AdaIC/work-grp/asiswg