Nothing Special   »   [go: up one dir, main page]

skip to main content
article
Open access

CIRCAL and the representation of communication, concurrency, and time

Published: 01 April 1985 Publication History

Abstract

The CIRCAL calculus is presented as a mathematical framework in which to describe and analyze concurrent systems, whether hardware or software.
The dot operator is used to compose CIRCAL descriptions, and it is this operator which permits the natural modeling of asynchronous and simultaneous behavior, thus allowing the representation and analysis of system timing properties such as those found in circuits.
The CIRCAL framework uses an abstraction operator to permit the modeling of a system at different levels of detail. Behavioral complexity of real systems makes abstraction crucial when producing a tractable model, and we illustrate how abstraction introduces nondeterminisim into system representations.
An operational semantics, acceptance semantics, is introduced, and it is in terms of this active experimentation that meaning is given to the CIRCAL syntax, thus allowing proof of system properties to be constructed.

References

[1]
}3OCHMANN, G. Hardware specification with temporal logic: An example. IEEE Trans. Comput. C-31, 3 (1982), 223-231.
[2]
CAMPBELL, R., AND HABERMANN, A. The specification of process synchronization by path expressions. Lecture Notes in Computer Science, vol. 16. Springer-Verlag, New York, 1974.
[3]
GORDOn, M. A very simple model of sequential behavior of nMOS. In proceedings VLS! 81 (Edinburgh, Scotland, 1981). Academic Press, New York.
[4]
HENNESSY, M., AND MILNER, R. On observing nondeterminism and concurrency. Lecture Notes in Computer Science, vol. 85. Springer-Verlag, New York, 1980.
[5]
HOARE, C. A.R. Communicating sequential processes. Commun. ACM 21, 8 (1978), 666-677.
[6]
HOARE, C. A. g., BROOKES, S., AND ROSCOE, W.A. A theory of communicating sequential processes. Tech. Rep. PGR-16, Oxford Univ. Prog. Research Group, Oxford, 1981.
[7]
MANNA, Z., AND PNUELI, A. The modal logic of programs. Rep. STAN-CS-79-751, Computer Science, Stanford Univ., Stanford, Calif., 1979.
[8]
MEAD, C., AND CONWAY, L. Introduction to VLSI systems. Addison-Wesley, Reading, Mass., 1980.
[9]
MILNE, G., AND MILNER, R. Concurrent processes and their syntax. J. ACM 26, 2 (1979), 302- 321.
[10]
MILNE, G. A mathematical model of concurrent computation. Ph.D. dissertation, University of Edinburgh, Edinburgh, Scotland, 1978.
[11]
MILNE, G. Modelling distributed database protocols by synchronization processes. Rep. CSR- 34-78, Computer Science, University of Edinburgh, Edinburgh, Scotland, 1978.
[12]
MILNE, G. The representation of communication and concurrency. Rep. 4088, Computer Science, California Institute of Technology, 1980.
[13]
MILNE, G. CIRCAL: A calculus for circuit description. INTEGRATION, the VLSIJournal 1, 2 and 3 (1983), 121-160.
[14]
MILNE, G. The correctness of a simple silicon compiler. In Proceedings 6th Int. Symp. Computer Hardware Description Languages and Their Applications (Pittsburgh, Pa., May 1983), Elsevier North-Holland, New York.
[15]
MILNE, G. Abstraction and nondeterminism in concurrent systems. In Proceedings 3rd Int. Conf. Distributed Computing Systems. IEEE Computer Society Press, New York, 1982.
[16]
MILNE, G. A model for hardware description and verification. In Proceedings 21st Design Automation Conference (Albuquerque, N. Mex., June 1984). IEEE Computer Society Press, New York.
[17]
MIL~ER, R. A calculus of communicating systems. LNCS 92, Springer-Verlag, New York, 1980.
[18]
MILNER, R. Calculi for synchrony and asynchrony. Theor. Comput. Sc~ 25, 3, 267-310.
[19]
MOSZKOWSKI, B. A temporal logic for reasoning about hardware. In Proceedings 6th Int. Conf. Computer Hardware Description Langauges (Pittsburgh, Pa., May 1983). North-Holland, New York.
[20]
SCOTT, D., AND STRACHEY, C. Towards a mathematical semantics for computer languages. In Proceedings Syrup. Computers and Automata (Microwave Res. Inst., Polytechnic Institute of Brooklyn, New York, 1971).
[21]
TRAUB, N. A Lisp based CIRCAL environment. Rep. CSR-152-83, Computer Science, University of Edinburgh, Edinburgh, Scotland, 1983.

Cited By

View all

Index Terms

  1. CIRCAL and the representation of communication, concurrency, and time

                          Recommendations

                          Reviews

                          Martin Rem

                          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.

                          Access critical reviews of Computing literature here

                          Become a reviewer for Computing Reviews.

                          Comments

                          Please enable JavaScript to view thecomments powered by Disqus.

                          Information & Contributors

                          Information

                          Published In

                          cover image ACM Transactions on Programming Languages and Systems
                          ACM Transactions on Programming Languages and Systems  Volume 7, Issue 2
                          Lecture notes in computer science Vol. 174
                          April 1985
                          175 pages
                          ISSN:0164-0925
                          EISSN:1558-4593
                          DOI:10.1145/3318
                          • Editor:
                          • Susan L. Graham
                          Issue’s Table of Contents

                          Publisher

                          Association for Computing Machinery

                          New York, NY, United States

                          Publication History

                          Published: 01 April 1985
                          Published in TOPLAS Volume 7, Issue 2

                          Permissions

                          Request permissions for this article.

                          Check for updates

                          Qualifiers

                          • Article

                          Contributors

                          Other Metrics

                          Bibliometrics & Citations

                          Bibliometrics

                          Article Metrics

                          • Downloads (Last 12 months)40
                          • Downloads (Last 6 weeks)6
                          Reflects downloads up to 29 Sep 2024

                          Other Metrics

                          Citations

                          Cited By

                          View all

                          View Options

                          View options

                          PDF

                          View or Download as a PDF file.

                          PDF

                          eReader

                          View online with eReader.

                          eReader

                          Get Access

                          Login options

                          Full Access

                          Media

                          Figures

                          Other

                          Tables

                          Share

                          Share

                          Share this Publication link

                          Share on social media