Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Type checking concurrent I/O
Carlisle W. ACM Transactions on Programming Languages and Systems17 (3):448-460,1995.Type:Article
Date Reviewed: Apr 1 1996

Carlisle addresses the problem of defining the type of a communication channel that can be concurrently accessed by multiple processes. Fisher has used regular expression notation to define the type of an Occam channel [1]. Using this notation, a channel’s type is defined as an ordered sequence of types that can be read from or written to a channel. Furthermore, Fisher describes an algorithm by which a compiler can type-check processes that access a channel defined by a regular expression. In this context, a channel is shared by only two processes--one that writes to the channel and one that reads from it. This paper extends the regular expression notation to include a concurrency operator that allows for defining and type checking of data structures that are concurrently accessed by multiple processes.

The author reviews Fisher’s work and then introduces the extension with examples. In addition to type checking, the author briefly addresses data-routing issues and synchronization semantics that are introduced with the concurrent reading and writing of shared data structures. A formal definition of the concurrency operator is given in the context of a regular expression type-checking formalism. The author also compares the resulting type-checking algorithm with two other concurrent-event recognizers, one that uses predecessor automata and another based on augmented transition networks.

This work is an important contribution to concurrent programming, where it is necessary to specify the behavior of concurrent I/O to shared resources. The mechanism as described will not extend to physically parallel I/O to shared resources, however.

Reviewer:  S. K. Andrianoff Review #: CR119385 (9604-0279)
1) Fisher, A. J. A critique of Occam channel types. Comput. Lang. 13, 2 (July 1988), 95–105.
Bookmark and Share
 
Concurrent Programming Structures (D.3.3 ... )
 
 
Concurrent, Distributed, And Parallel Languages (D.3.2 ... )
 
 
Data Types And Structures (D.3.3 ... )
 
 
Language Classifications (D.3.2 )
 
 
Language Constructs and Features (D.3.3 )
 
Would you recommend this review?
yes
no
Other reviews under "Concurrent Programming Structures": Date
Wait-free synchronization
Herlihy M. ACM Transactions on Programming Languages and Systems 13(1): 124-149, 1991. Type: Article
Jan 1 1992
Parallel expression in the APL2 language
Willhoft R. IBM Systems Journal 30(4): 498-512, 1991. Type: Article
Dec 1 1993
Actors: a conceptual foundation for concurrent object-oriented programming
Agha G., Hewitt C., MIT Press, Cambridge, MA, 1987. Type: Book (9780262192644)
Jul 1 1989
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