Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Ada
Lynch B. (ed)  Ada,Dublin, Ireland,Jun 12-14, 1990,1990.Type:Whole Proceedings
Date Reviewed: Jun 1 1992

Ada has proven itself well suited to a variety of projects, though not without difficulty. This book contains the proceedings of the 1990 Ada-Europe conference, including a number of papers by US authors. It creates a useful snapshot of Ada in late 1990. The majority of the papers report on specific applications, principally to military systems but also to other areas such as telephony, air traffic control, and software development. These papers devote most of their attention to the application rather than to Ada itself, and therefore are not worth reading in detail. Nevertheless, a brief scan of them yields an informative composite picture, interesting as much for what it omits as for what it includes. While the usefulness of Ada for large-scale programming is well demonstrated, its usefulness for small-scale programming is not--at least not by the papers in this volume.

The support provided by Ada for software reuse through packages and generics was particularly valuable in many of the applications described here, although achieving the full benefits of reuse seems elusive. A package can provide both the specification and implementation of an abstract data type, including both the supporting data structures and the operations of the type. A generic entity (which can be a package but can also be a procedure or task) provides reuse through parameterization; generic parameters can be, among other things, types and procedures. Jazaa and Brereton report on a Prolog implementation of a database for recording useful facts about Ada packages to make it easy to retrieve packages with specific characteristics. Johnston reports on an expert system, also written in Prolog, for choosing among packages that provide different implementations of high-level abstract data types such as sets and sequences.

A difficulty with Ada discussed in several papers is the inadequacy of its rendezvous mechanism for dealing with practical problems of real-time programming, particularly in systems with hard real-time deadlines. Two causes of the inadequacy are the FIFO ordering of entry queues and the arbitrary choice of a selection by a select statement. Programmers have dealt with this inadequacy in two ways: by providing alternative packages of operating system interfaces and by modifying the treatment of the Ada rendezvous itself. Sorensen describes one solution of the latter kind: changing the rules so that entry queues are priority ordered, select statements always select the highest priority task, and high priorities are inherited by low-priority tasks that are blocking high-priority tasks.

The papers reflect a strong interest in object-oriented design within the Ada community, coupled with a recognition of Ada’s inadequacy for object-oriented programming in the Smalltalk style. In particular, run-time selection of a method is extremely difficult to achieve in Ada. The paper by Duncan shows why Ada records and subtypes are not well adapted to expressing inheritance and describes a preprocessor that helps to compensate for these deficiencies. The paper by Ambrose and Rogers explores the use of object-oriented design with Ada. This paper and several others cite the work of Grady Booch in this area. The European Space Agency has developed a standard method for object-oriented design using Ada called HOOD (hierarchical object oriented design). Three papers report on its use, with generally favorable conclusions.

Interest in software engineering methodology within the Ada community is strong, and the papers in this book reflect that. The paper by Anderson and Dahlke points out the need to reconcile Ada with the madcap (my term, not theirs) DoD 2167A standard for software development. They show how Ada packaging can introduce nonhierarchical dependencies in a system and describe the diagramming methods they have used to cope with these dependencies.

Apparently, many Ada users are looking to Ada 9X for the solution to their difficulties; several papers address the improvements being sought. Antonelli and Volz discuss improved exception handling for tasks that would allow exceptions to propagate from tasks in a disciplined manner;  Gargaro,  Goldsack, Volz, and Wellings describe fault-tolerant distributed systems; and Wichmann discusses insecurities in the current version of Ada and how these insecurities might be overcome.

Reviewer:  P. Abrahams Review #: CR115472
Bookmark and Share
 
Ada (D.3.2 ... )
 
 
Conference Proceedings (A.0 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Ada": Date
Ada programmer’s handbook
Gonzalez D. (ed), Benjamin-Cummings Publ. Co., Inc., Redwood City, CA, 1991. Type: Book (9780805325294)
Jul 1 1991
Ada
Gehani N. (ed), Silicon Press, Summit, NJ, 1991. Type: Book (9780929306087)
Jun 1 1992
Ada programming with applications
Vasilescu E., Allyn&Bacon, Inc., Needham Heights, MA, 1987. Type: Book (9789780205087440)
Dec 1 1987
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy