Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
An introduction to discrete mathematics and formal system specification
Ince D. (ed), Clarendon Press, New York, NY, 1988. Type: Book (9789780198596677)
Date Reviewed: Jan 1 1990

As indicated by the title, this text takes the interesting approach of presenting both the usual topics of discrete mathematics and a formal specification language at the introductory level. The text is divided into three parts, followed by an appendix on the specification language Z, usually pronounced “zed” in the British style. Part 1 is a brief description of the traditional software life cycle and a general discussion of the usual approaches to the requirements definition and system specification phases, with emphasis on the inadequacies of natural language for these phases. Part 1 is used primarily to stimulate interest in Part 2, which deals with discrete mathematics, and Part 3, which deals with Z and its application.

Part 2 covers standard topics of discrete mathematics, including propositional and predicate calculus, sets, relations, functions and sequences, induction, and recursive specification. The examples and exercises are primarily applications to system specification, however, which makes for a somewhat minimal and unusual presentation from the mathematical standpoint. Also, some of the notation seems to be derived from Z notation, which makes it less comprehensible than more traditional notation. An example is the linear form of general operators such as summation and set union and intersection.

Part 3 introduces about 80 percent of the Z specification language and applies Z to the specification of systems ranging from small examples illustrating particular operators to moderately complex examples. The applications are diverse but oriented more to data processing than to science. For example, the final and largest application is the specification of a small university library system. Those with a background in discrete math may read Part 3 with only occasional references to Part 2. The appendix containing definitions of Z operators is helpful when reading the larger examples at the end of Part 3.

The author anticipates use of the text in introductory discrete mathematics courses and second- or third-year courses in formal specification, or by professional software developers interested in learning and applying formal methods. Because of the nontraditional features of Part 2 and the coverage of only a minimal set of topics, widespread use as the primary text in discrete mathematics courses seems doubtful. Analogously, the lack of treatment of approaches other than Z would militate against using the text as the sole source of material in a course on formal specification. With appropriate supplementary material, the text would be very appropriate for a course centered on Z with only a general treatment of other methods. Software developers who intend to use Z should be well served by the text. As a final note, it seems strange that credit is not given to J. R. Abrial, who originated the Z specification language.

Reviewer:  J. Mack Adams Review #: CR113804
Bookmark and Share
 
Specification Techniques (F.3.1 ... )
 
 
Z (D.2.1 ... )
 
 
General (G.2.0 )
 
 
Mathematical Logic (F.4.1 )
 
Would you recommend this review?
yes
no
Other reviews under "Specification Techniques": Date
Compatibility problems in the development of algebraic module specifications
Ehrig H., Fey W., Hansen H., Löwe M., Jacobs D., Parisi-Presicce F. Theoretical Computer Science 77(1-2): 27-71, 1990. Type: Article
Oct 1 1991
Transformations of sequential specifications into concurrent specifications by synchronization guards
Janicki R., Müldner T. Theoretical Computer Science 77(1-2): 97-129, 1990. Type: Article
Jul 1 1991
Regularity of relations
Jaoua A., Mili A., Boudriga N., Durieux J. Theoretical Computer Science 79(2): 323-339, 1991. Type: Article
Apr 1 1992
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