CCSR: A calculus for communicating shared resources

  • Richard Gerber
  • Insup Lee
Selected Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 458)


The timing behavior of a real-time system depends not only on delays due to process synchronization, but also on the availability of shared resources. Most current real-time models capture delays due to process synchronization; however, they abstract out resource-specific details by assuming idealistic operating environments. On the other hand, scheduling and resource allocation algorithms used for real-time systems ignore the effect of process synchronization except for simple precedence relations between processes. To bridge the gap between these two disciplines, we have developed a formalism called Communicating Shared Resources, or CSR. This paper presents the priority-based process algebra called the Calculus for Communicating Shared Resources (CCSR), which provides an equational characterization of the CSR language. The computation model of CCSR is resource-based in that multiple resources execute synchronously, while processes assigned to the same resource are interleaved according to their priorities. CCSR possesses a prioritized strong equivalence for terms based on strong bisimulation. The paper also describes a producer and consumer problem whose correct timing behavior depends on priority.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    R. Cleaveland and M. Hennessy. Priorities in Process Algebras. In Proc. of IEEE Symposium on Logic in Computer Science, 1988.Google Scholar
  2. [2]
    N. Francez, D. Lehmann, and A. Pnueli. A Linear History Semantics for Distributed Programming. Theoretical Computer Science, 32:25–46, 1984.Google Scholar
  3. [3]
    R. Gerber and I. Lee. Communicating Shared Resources: A Model for Distributed Real-Time Systems. In Proc. 10th IEEE Real-Time Systems Symposium, 1989.Google Scholar
  4. [4]
    R. Gerber and I. Lee. The Formal Treatment of Priorities in Real-Time Computation. In Proc. 6th IEEE Workshop on Real-Time Software and Operating Systems, 1989.Google Scholar
  5. [5]
    C.A.R. Hoare. Communicating sequential processes. Communications of the ACM, 21(8):666–676, August 1978.Google Scholar
  6. [6]
    C.A.R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.Google Scholar
  7. [7]
    C. Huizing, R. Gerth, and W.P. de Roever. Full Abstraction of a Denotational Semantics for Real-time Concurrency. In Proc. 14th ACM Symposium on Principles of Programming Languages, pages 223–237, 1987.Google Scholar
  8. [8]
    R. Janicki and P. Lauer. On the Semantics of Priority Systems. In Proc. of Int. Conf. on Parallel Processing, 1988.Google Scholar
  9. [9]
    R. Koymans, R.K. Shyamasundar, W.P. de Roever, R. Gerth, and S. Arun-Kumar. Compositional Semantics for Real-Time Distributed Computing. In Logic of Programs Workshop '85, LNCS 193, 1985.Google Scholar
  10. [10]
    I. Lee and V. Gehlot. Language Constructs for Distributed Real-Time Programming. In IEEE Real-Time Systems Symposium, 1985.Google Scholar
  11. [11]
    R. Milner. Calculi for synchrony and asynchrony. Theoretical Computer Science, 25:267–310, 1983.Google Scholar
  12. [12]
    R. Milner. A Calculus for Communicating Systems. LNCS 92, Springer-Verlag, 1980.Google Scholar
  13. [13]
    R. Milner. Communication and Concurrency. Prentice-Hall, 1989.Google Scholar
  14. [14]
    Gordon Plotkin. A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, Computer Science Dept., Aarhus University, 1981.Google Scholar
  15. [15]
    A. Salwicki and T. Müldner. On the Algorithmic Properties of Concurrent Programs. In Proceedings of Logic of Programs, LNCS 125, 1981.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1990

Authors and Affiliations

  • Richard Gerber
    • 1
  • Insup Lee
    • 1
  1. 1.Department of Computer and Information ScienceUniversity of PennsylvaniaPhiladelphia

Personalised recommendations