Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
A mathematical approach to nondeterminism in data types
Hesselink W. ACM Transactions on Programming Languages and Systems10 (1):87-117,1988.Type:Article
Date Reviewed: Sep 1 1988

Nondeterminism has been useful as a high-level expression of parallelism, as in pure logic programming, and in control structures that avoid explicit choices between different but acceptable alternatives, as in Dijkstra’s if-fi. Similarly, nondeterminism may be useful in expressing data types that avoid specification of one concrete representation among many that are acceptable. Unfortunately, a theory of nondeterministic data types is somewhat tedious for operations that result in Cartesian products and that involve coupling of nondeterministic choices on components of products. This paper develops such a theory using a generalization of term algebras. The generalization is based on a rather involved extension of arrows of signatures, which the author calls accumulated arrows. This extension is the tedious part of the generalization of term algebras, but Hesselink feels that it may have general utility in deterministic as well as nondeterministic data types.

Using input/output behavior as an intuitive basis, definitions of implementation and implementation equivalence of nondeterministic data types are given, providing a correctness criterion for implementations. Examples are given, and one example shows that implementation-equivalent models may have different input/output behavior. This seems strange, but perhaps it is only the case with a fairness assumption of the type used in the example. In any event, the point needs clarification.

Using his theory of nondeterministic data types, the author defines variations of extraction equivalence of values, observable equivalence of values, and two other equivalence relations of interest for nondeterministic types. These four notions are equivalent for deterministic data types but are distinct in the nondeterministic case, as is shown by a thorough comparison.

In general, the paper is quite sound and evokes interest in applying nondeterministic data types. However, applications that are more convincingly useful than those given in the paper are needed.

Reviewer:  J. Mack Adams Review #: CR112636
Bookmark and Share
 
Semantics (D.3.1 ... )
 
 
Abstract Data Types (D.3.3 ... )
 
 
Alternation And Nondeterminism (F.1.2 ... )
 
 
Type Structure (F.3.3 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Semantics": Date
The semantics of programming languages: an elementary introduction using structural operational semantics
Hennessy M., John Wiley & Sons, Inc., New York, NY, 1990. Type: Book (9780471927723)
Jul 1 1991
Logic of domains
Zhang G., Birkhäuser Boston Inc., Cambridge, MA, 1991. Type: Book (9780817635701)
Mar 1 1993
A linear-history semantics for languages for distributed programming
Francez N., Lehmann D., Pnueli A. Theoretical Computer Science 32(1-2): 25-46, 1984. Type: Article
Jul 1 1985
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