Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The Modula-2 software component library: vol. 1
Lins C., Springer-Verlag New York, Inc., New York, NY, 1988. Type: Book (9789780387968674)
Date Reviewed: Oct 1 1990
Comparative Review

While hardware becomes ever more cost-effective with the passage of time, the production of software continues to be plagued with cost overruns, late deliveries, and incorrect code. One approach to improving programmer productivity employs reusable software. This four-volume series is an example of this approach using Modula-2; other modern languages that allow the same approach are Ada and C++. Volume 1 covers the abstract data types (ADTs): stacks, strings, and sets. Volume 2 covers lists, queues, and deques. Volume 3, which has been reviewed separately (see <CR> Rev. 9005-0362), covers trees and graphs.

The organization of volumes 1 and 2 is roughly the same, except that volume 1 contains more introductory material--a chapter titled “Reusable Software Components” and one on “Generic Items.” The chapter on “Reusable Software Components” gives a brief discussion of ADTs and a scheme for naming the various modules. This scheme uses four major properties of a software component, based on terminology due to Booch [1]:

  • the degree of (non)concurrency

  • whether the data structure is bounded

  • the type of memory management

  • whether an iterator is provided

For example, SetSBMI stands for Sequential Bounded Managed Iterator Set. Sequential indicates that the semantics of the object are preserved only in the presence of one thread of control. Bounded denotes that an object’s maximum size, once created, remains fixed. Managed means that the component itself provides garbage collection.

Although the author gives references on different approaches to define generic reusable modules and states that each technique has its own advantages and disadvantages in terms of such factors as simplicity, safety, and ease of reuse, he does not apprise the reader of his reasons for choosing the particular method used in the series. A brief discussion of the considerations involved in the decision would have been useful and interesting to the reader.

Each volume contains two chapters titled “Specification” and “Module Guide.” These describe a standard specification format due to Liskov and Guttag [2] and cover further properties of a module such as “secrets,” which are hidden by the module. The source code for both definition and implementation modules follows the introductory chapters; the source code chapters are organized hierarchically. For example, a separate chapter covers “The List Abstraction,” followed by chapters on the “Singly-Linked Unbounded List,” the “Doubly-Linked Unbounded List,” and so on. Each chapter ends with a list of references. Since Modula-2 does not support exception handling, the author provides a definition module for the error handling module used throughout the series; he expects users to provide their own corresponding implementation module.

The software components described in these volumes, in both source and object form, will clearly be useful to programmers writing applications in Modula-2. The source code is available on diskettes for both the Macintosh and the IBM PC. I did not have access to source code in this form, however. These volumes can also be used to complement material studied in courses on data structures and algorithms.

Reviewer:  B. Leavenworth Review #: CR113435
1) Booch, G. Software components with Ada: structures, tools, and subsystems. Benjamin/Cummings, Menlo Park, CA, 1987.
2) Liskov, B. and Guttag, J. Abstraction and specification in program development. MIT Press, Cambridge, MA, 1986.
Comparative Review
This review compares the following items:
  • The Modula-2 software component library: vol. 1:
  • The modula-2 software component library:
  • Bookmark and Share
     
    Modula-2 (D.3.2 ... )
     
     
    Modules, Packages (D.3.3 ... )
     
     
    Reusable Software (D.2.m ... )
     
     
    Software Libraries (D.2.2 ... )
     
     
    Design Tools and Techniques (D.2.2 )
     
     
    Language Constructs and Features (D.3.3 )
     
      more  
    Would you recommend this review?
    yes
    no
    Other reviews under "Modula-2": Date
    Abstract data types and Modula-2
    Mitchell R., Prentice Hall International (UK) Ltd., Hertfordshire, UK, 1992. Type: Book (9780130060815)
    Mar 1 1994
    MODULA-2 for PASCAL programmers
    Gleaves R., Springer-Verlag New York, Inc., New York, NY, 1984. Type: Book (9789780387960517)
    May 1 1985
    A second course in computer science with Modula-2
    McCracken D., Salmon W. (ed), John Wiley & Sons, Inc., New York, NY, 1987. Type: Book (9789780471631118)
    Jun 1 1988
    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