wtwolfe@hubcap.UUCP (Bill Wolfe) (12/25/88)
In response to e-mailed queries regarding the addresses of vendors for Ada ADTs and other reuseable software components, here is a summary: 1) Wizard Software 835 S. Moore Street Lakewood, CO 80226 USA Wizard sells the collection of ADTs described by Grady Booch in his book, "Software Components with Ada" (or words to that effect). A wide spectrum of implementations is provided, covering variations such as whether the ADT is of finite or infinite capacity, whether the ADT has been hardened such that it can cope with the shared-variable environment (in which a single instance of the ADT is subject to simultaneous demands for service from an arbitrary number of tasks), etc. Booch's book also describes ADT construction techniques in sufficient detail to enable any reasonably intelligent programmer to construct his/her own toolbox of ADTs, and that approach is not without its advantages. 2) Lib Systems, Inc. P.O. Box 18173 Anaheim, CA 92817 USA Lib Systems provides software in the following categories: Mathematical Algorithms, Real-Time Control Systems, Graph Algorithms, Board Support Packages, Business Packages, String Processing, Sorting Algorithms, Searching Algorithms, Geometric Algorithms, and Miscellaneous. Appropriate ADTs are provided for use with these packages, where appropriate; for example, both sparse and dense representations of a graph ADT are provided. However, they do not appear to provide the depth of coverage available in the Booch components; judging from the Lib Systems catalog, I would doubt that their graph ADTs would survive long in a multitasking environment. As I mentioned in comp.lang.ada earlier, I prefer to construct my own ADTs, and I therefore have absolutely no experience with, and in no way do I endorse, the products of either vendor. I have summarized the knowledge available to anyone who reads the vendor catalogs and the "Software Components with Ada" book. It is recommended that anyone who is considering purchasing products from either vendor become familiar with objective reviews of those products; perhaps someone who knows of the existence of such reviews could summarize the results. Other reuseable software sources which I have heard of but have no specific information on include the GRACE library from EVB, and the RAPID library of MIS software. Anyone having knowledge of these or other sources should feel free to contribute a followup article. Bill Wolfe wtwolfe@hubcap.clemson.edu
Jerome_V_Vollborn@cup.portal.com (12/27/88)
I have used the GRACE package from EVB and it did implement the ADT's well. The test programs and documentation are excellent. The design methodology used was Grady Booch's version of object oriented design as filled in by Ed Berard. The modules furnished were worth the price ($50 000 for a site license which I understand is no longer available) as examples of object oriented design. BTW EVB Software Engineering furnishes a warranty with the product (apparently Ed doesn't like to be considered legally insane (i.e., not responsible for his actions)).
Jerome_V_Vollborn@cup.portal.com (01/04/89)
Bill Wolfe sent a note saying that I should clarify my previous posting. EVB Software Engineering has a package of ADT's that generally follow Grady Booch's taxonomy. They are a family of generic packages for stacks, lists, queues, ... There are versions of each ADT for managed/unmanaged, single user/ multi-user, balking/non-balking, ... Write to EVB and they will supply a sales brochure with all of the details. Each of the components has three major pieces: a design description, a test program, and the Ada code. The design description and test cases will answer Dr. McKay's questions (what services are provided, how well are the services provided, and under what circumstances) without having to reference the code itself. The most impressive things about the GRACE package (to me at least) are (1) the design documentation is complete for all of the components; (2) the components are consistantly well commented, documented and tested; (3) the code is very clean and a very good example of what Ada code should look like (e.g., exceptions are only used for exceptional conditions not as sneaky goto's as in Grady Booch's book on reusable components); and (4) Ed Berard envisions these components as the equivalent of SSI IC's in the hardware world. Note that the GRACE components have the three elements necessary to be truly reusable: a design document element, test cases, and source code. The address for EVB is: EVB Software Engineering, Inc. 5303 Spectrum Drive Frederick, Maryland 21701 301-695-6960 I don't have the name of the lady who handles the orders and shipping. I have changed companies recently and her name got lost.