Go to ...[Main Page] [Speeches] [Documents] [What's new] [Feedback]

Programming the Internet in Ada 95

by S. Tucker Taft


Email: stt@dsd.camb.inmet.com
URL: http://inmet.com/~stt

Abstract: Periodically in the computer industry, a major shift occurs and the kind of computing being done changes in character. Accompanying such a shift, there is generally the emergence of a new "platform" on which this new computing takes place. In the 70's, the move was to minicomputers and workstations, and the "platforms" for this were generally Unix and VMS. In the 80's, the move was to PC's, and the predominant platform for this was the IBM PC running some variant of DOS or Windows. In the 90's, it looks like the move is to the Internet and the World Wide Web. The platform for this new kind of computing could very well be the Java(tm) technology recently announced by Sun.

Sun's Java technology includes a new object-orieted programming language called Java, a platform-independent representation for Java programs called Java "class" or "byte-code" files, an interpreter for this byte-code implementing what is called the Java "virtual machine" (VM), and a set of standard Java classes which support the development of graphical, networking, multithreaded, platform-independent "applets." Once compiled into a class file, an applet can be automatically downloaded by a Java-enabled Web browser, and run on the client's machine, interacting directly with the user, and possibly communicating back to the original server for additional data.

As it turns out, once an applet is compiled into a Java-compatible class file, it is irrelevant to a Web browser in what source language the applet was originally written. The definition of the Java VM imposes some limitations on what kinds of language can be supported, but fortuitously, the Java VM maps extremely closely to the semantics of Ada 95. Recognizing this, we at Intermetrics embarked on adapting our validated Ada 95 compiler front end, called "AdaMagic(tm)", to directly generate Java-compatible class files. This presentation will detail the mapping we have chosen between Ada 95 features and the capabilities of the Java VM at the byte-code level, as well as the mechanisms and conventions we use for achieving full interoperability between Ada 95 packages/types and Java packages/classes at the source code level.



Biography: S. Tucker Taft is Chief Scientist in the Intermetrics Software Technology Division and is currently Technical Director for development of Intermetrics' Ada 95 technology, called "AdaMagic"(tm).

Mr. Taft graduated from Harvard College in 1975 with a bachelor's in Chemistry, Summa Cum Laude, and then worked four years for Harvard in the student computer center, managing the first Unix system that was installed outside of AT&T. Thereafter he worked one year as a private consultant, and then in 1980 joined Intermetrics. While at Intermetrics, he participated in the development of the Ada Integrated Environment for the Air Force, a commercial C cross-compiler, the Common APSE Interface Set (CAIS), and an Ada binding to SQL (SAME). From 1990 to 1995, Mr. Taft led the Ada 9X language design team, culminating in the February 1995 approval of Ada 95 as the first ISO standardized object-oriented programming language.