The George Washington University
School of Engineering and Applied Science
Department of Computer Science

CSci 190 -- Real-Time Computer Systems -- Spring 2001
Prof. Michael B. Feldman

Getting (Back) Up to Speed with Ada 95

One of your programming exercises in this course is a "sort race" in Ada 95. Since most students here either haven't done Ada 95 before, or studied it in course a while ago, here is a guide to some materials designed to help you out, in addition to the Ada material in Burns & Wellings.

The website http://www.seas.gwu.edu/~adagroup contains a wealth of information on Ada and the GNU Ada 95 (GNAT) compiler, including searchable versions of

  • Ada 95 Language Reference Manual
  • Ada 95 syntax charts
  • GNAT user guide
  • GNAT reference manual
Here are some things you can download.
  • a PDF file, handbook.pdf, containing Feldman's Ada 95 tutorial, Ada 95 in Context, which is adapted from his chapter in the 1998 Macmillan publication, Handbook of Programming Languages
  • a PDF file, generics.pdf, containing Chapter 5, Generic Subprograms and Packages, from Feldman, Software Construction and Data Structures, published 1996 by Addison-Wesley. This chapter contains a lot of examples of generic templates in Ada 95, and will help you understand the software in the sorting directory (see below).
  • a software distribution, adasource.zip. Unzipping this will produce a directory adasource, containing 3 subdirectories, each with a README.txt file:
    • handbook - all the source code from the handbook chapter
    • diners - Feldman's implementation of Dining Philosophers in Ada 95
    • sorting - generic sort routines and other supporting software that you can use as a basis for your sort race.
If you are working on hobbes, it's easier just to copy the whole source directory into your own file system:

cp -p -r ~csci190/adasource .

which will recursively copy the "official" copy to your current directory.

Finally, to get set up to use the GNAT compiler on hobbes, add this line to your .profile file in your hobbes account:

. ~csada/setup-gnat

First add this line, then log out and back in. Now you'll be set up for the compiler every time you log in.

If you have a Windows PC and wish to install GNAT on it, you can download the Windows version from the "official" public distribution site:

ftp://cs.nyu.edu/pub/gnat/3.13p/winnt

A very nice multiwindow editor, AdaGIDE, is in that directory also. Another great Windows editor is PC GRASP, which you can download from its home site at

http://www.eng.auburn.edu/department/cse/research/grasp/

This editor is "smart" and "understands" the syntax of many languages, including both Ada 95 and Java.