Modula-2 and the monitor concept

  title={Modula-2 and the monitor concept},
  author={David A. Sewry},
  journal={ACM SIGPLAN Notices},
  • D. Sewry
  • Published 1 November 1984
  • Computer Science
  • ACM SIGPLAN Notices
The monitor concept [Hoa74] is one approach towards ensuring a reliable concurrent programming environment. Although the processes constituting a concurrent program may declare individual data areas, a frequent occurrence is the declaration of a common data area to be accessed by several processes. If the processes execute asynchronously, it is possible that more than one process will attempt to access this shared data area simultaneously, with chaotic results. Clearly a form of manager is… 
5 Citations
A modula‐2 kernel for supporting monitors
  • P. Terry
  • Computer Science
    Softw. Pract. Exp.
  • 1986
This paper discusses an implementation of monitors using a kernel written in Modula‐2, and finds the monitor concept has been found suitable for the design of several practical operating systems.
Signalling regions: Multiprocessing in a shared memory reconsidered
This paper will re‐examine the monitor concept in its original context and proposes a language structure called a signalling region that together with the notion of encapsulation by modules solves the immediate resumption problem and avoids the nested monitor problem.
Introductory concurrent programming with Modula-2
A description is given of how Module-2 may be used to provide a concurrent programming environment to give practical support to an undergraduate course in operating systems.
CC-modula: a modula-2 tool to teach concurrent programming
The present work shows an educational experience at University level in the field of concurrent programming as well as a contribution to the development of methods to implement concurrent mechanisms, in the frame of centralized and distributed operating systems.


Monitors: an operating system structuring concept
This paper develops Brinch-Hansen's concept of a monitor as a method of structuring an operating system. It introduces a form of synchronization, describes a possible method of implementation in
Report on The Programming Language Modula-2
Modula-2 grew out of a practical need for a general, efficiently implementable systems programming language for minicomputers and has inherited the name, the important module concept, and a systematic, modern syntax, from Pascal most of the rest.
Implementing data abstractions and monitors in UCSD Pascal
This paper discusses practical techniques for realizing these programming constructs in the UCSD dialect of Pascal in order to implement both data abstractions and monitors.
Pascal‐plus—another language for modular multiprogramming
Pascal‐Plus is an extended version of Pascal, incorporating the envelope construct which is an aid to program modularization and data abstraction, the process, monitor and condition constructs, and a simulation monitor which provides pseudo‐time control facilities for multiprocessing programs.
On the design of monitors with priority conditions
This paper investigates the implementation of priority conditions for monitors under UCSD Pascal and proposes two such status queries which are both useful and efficient and it is shown that the Implementation of Hoare's "alarmclock" monitor is made simpler and more efficient through the use of these queries.
Modula : A Language for Modula Multiprogramming
  • Structured System Programming
  • 1980
SAGE II User's Manual section IV.4.6 System Clock Access" *) BEGIN UnitWrlte(ClockDevice
  • EventINumber, {StopClock } ) ; Detach(Clock Wetter) ; ClearVector(NIL, NIL, ClockIVeetor) END CLKterm ; BEGIN (" monitor ') Set~nvelope(CLKinit, CLKtem, FirstCall) END monitor
The Monitor and Synchroniser Concepts in the programming language Clang
  • M.Sc. thesis,
  • 1984