Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
CIRCAL and the representation of communication, concurrency, and time
Milne G. ACM Transactions on Programming Languages and Systems7 (2):270-298,1985.Type:Article
Date Reviewed: Oct 1 1985

CIRCAL is, like CCS [1], a calculus of communicating components. Different components can be assembled to form larger components. Communication is instantaneous and has no direction. CIRCAL distinguishes itself primarily from CCS in that it contains multipoint communication and, thus, multipoint synchronization. This introduces two kinds of concurrency: simultaneous events and unordered events. In CIRCAL these are different from each other: a component can be required to react differently to two stimuli if they occur simultaneously than if they occur one after the other.

CIRCAL has four operators for the construction of components: guarding, deterministic choice, nondeterministic choice, and termination. A component constructed with the operator for deterministic choice can nevertheless be nondeterministic, since it may involve a choice between alternatives with equal guards. Components may be assembled into systems using an operator for concurrent composition. Internal communications in systems can be hidden by applying an abstraction operator. There is also a hiding operator, but that operator does not hide communications: it disallows them. The usefulness of this operator is not made clear.

A number of simple examples of components and systems thereof are presented. The examples illustrate the calculus well. It is shown how CIRCAL can be used to demonstrate that systems meet their specifications. One expects, however, that the amount of formal manipulation required in such a demonstration will make more complicated examples rapidly undoable. Milne suggests resorting to mechanical verification--based on CIRCAL--for complex systems.

Reviewer:  Martin Rem Review #: CR109506
1) Milner, R.A calculus of communicating systems (Lecture notes in computer science, no. 92), Springer-Verlag, New York, 1980.
Bookmark and Share
Security and Protection (K.6.5 )
Lambda Calculus And Related Systems (F.4.1 ... )
Parallelism And Concurrency (F.1.2 ... )
Verification (B.7.2 ... )
Concurrent Programming (D.1.3 )
Design Aids (B.7.2 )
Mathematical Logic (F.4.1 )
Modes Of Computation (F.1.2 )
Network Operations (C.2.3 )
Semantics Of Programming Languages (F.3.2 )
Would you recommend this review?
Other reviews under "Security and Protection": Date
Computer security risk management
Palmer I., Potter G., Van Nostrand Reinhold Co., New York, NY, 1989. Type: Book (9780442302900)
Apr 1 1991
Computers at risk
, National Academy Press, Washington, DC, 1991. Type: Book (9780309043885)
Oct 1 1991
Computer security basics
Russell D., G. T. S., O’Reilly & Associates, Inc., Sebastopol, CA, 1991. Type: Book (9780937175712)
Jul 1 1992

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 2004™
Terms of Use
| Privacy Policy