skip to main content
article
Free Access

Tools for teaching CCRs, monitors, and CSP concurrent programming concepts

Authors Info & Claims
Published:01 June 1995Publication History
Skip Abstract Section

Abstract

This paper describes three preprocessors that, respectively, convert conditional critical region (CCR) notation, monitor notation, and Communicating Sequential Processes (CSP) notation into equivalent programs written in the SR concurrent programming language. Our goal is to allow students to experiment and to obtain hands-on experience with these notations. Together with native SR, the three preprocessors provide a teaching tool for a wide spectrum of synchronization mechanisms. This paper also describes the favorable experience obtained in using the preprocessors in several courses. The preprocessors are part of the standard SR distribution, which runs on most UNIX systems; they are in the public domain and available via ftp.

References

  1. [1] G.R. Andrews, R.A. Olsson, M. Coffin, I. Elshoff, K. Nilsen, T. Purdin, and G. Townsend, An overview of the SR language and implementation, ACM Trans. on Prog. Languages and Systems, vol. 10, no. 1, pp. 51-86, January 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. [2] G.R. Andrews, Concurrent Programming: Principles and Practice, Redwood City, CA: The Benjamin/ Cummings Publishing Company, Inc., 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. [3] G.R. Andrews and R.A. Olsson, The SR Programming Language: Concurrency in Practice, Redwood City, CA: The Benjamin/Cummings Publishing Company, Inc., 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. [4] P. Brinch Hansen, Structured multiprogramming. Comm. ACM, vol. 15, no. 7, pp. 574-578, July 1972. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] P. Brinch Hansen, Operating System Principles, Prentice-Hall, Englewood Cliffs, NJ, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. [6] P. Brinch Hansen, Concurrent programming concepts, ACM Computing Surveys, vol. 5, no. 4, pp. 223-245, December 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. [7] K.M. Chandy and J. Misra, The drinking philosophers problem, ACM Trans. on Prog. Languages and Systems, vol. 6, no. 4, pp. 632-646, October 1984. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. [8] H.M. Deitel, Operating Systems (Second Edition), Reading, MA: Addison-Wesley, 1990.Google ScholarGoogle Scholar
  9. [9] S.J. Hartley, Experience with the language SR in an undergraduate operating systems course, Proc. SIGCSE Technical Symposium, Kansas City, pp. 176-180, March 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. [10] S.J. Hartley, Operating Systems Programming: The SR Programming Language, Oxford University Press, (to be published) 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. [11] J.S. Herman, A comparison of synchronization mechanisms for concurrent programming, Master's thesis, CSE-89-26, University of California, Davis, September 1989.Google ScholarGoogle Scholar
  12. [12] C.A.R. Hoare, Towards a theory of parallel programming, In Operating Systems Techniques C.A.R. Hoare and R.H. Perrott, Academic Press, New York 1972.Google ScholarGoogle Scholar
  13. [13] C.A.R. Hoare, Monitors: an operating system structuring concept, Comm. ACM, vol. 17, no. 10, pp. 549-557, October 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. [14] C.A.R. Hoare, Communicating sequential processes, Comm. ACM, vol. 21, no. 8, pp. 666-677, August 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] R.A. Olsson, "Implementation Notes for CCR, Monitor, and CSP Preprocessors for SR", CSE-94-10, Dept. of Computer Science, University of California, Davis, 1994.Google ScholarGoogle Scholar
  16. [16] R.A. Olsson, "Experience Using the C Preprocessor to Implement CCK, Monitor, and CSP Preprocessors for SR", CSE-94-11, Department of Computer Science, University of California, Davis, 1994.Google ScholarGoogle Scholar
  17. [17] A. Silberschatz and P.B. Galvin, Operating System Concepts (Fourth Edition), Reading, MA: Addison-Wesley, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. [18] A.S. Tanenbaum, Operating Systems: Design and Implementation, Englewood Cliffs, NJ: Prentice-Hall, 1987. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Tools for teaching CCRs, monitors, and CSP concurrent programming concepts

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in

          Full Access

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!