A robust monitor construct with runtime fault detection

Jiannong Cao, Alvin T.S. Chan, Stephen C.F. Chan, Nick K.C. Cheung

Research output: Journal article publicationJournal articleAcademic researchpeer-review

1 Citation (Scopus)


The monitor concept provides a structured and flexible high-level programming construct to control concurrent accesses to shared resources. It has been widely used in a concurrent programming environment for implicitly ensuring mutual exclusion and explicitly achieving process synchronization. This paper proposes an extension to the monitor construct for detecting runtime errors in monitor operations. Monitors are studied and classified according to their functional characteristics. A taxonomy of concurrency control faults over a monitor is then defined. The concepts of a monitor event sequence and a monitor state sequence provide a uniform approach to history information recording and fault detection. Rules for detecting various types of faults are denned. Based on these rules, fault-detection algorithms are developed. A prototypical implementation of the proposed monitor construct with runtime fault detection mechanisms has been developed in Java. We shall briefly report our experience with and the evaluation of the robust monitor prototype.
Original languageEnglish
Pages (from-to)471-500
Number of pages30
JournalConcurrency Computation Practice and Experience
Issue number5
Publication statusPublished - 25 Apr 2006


  • Concurrent programming
  • Monitor construct
  • Reliability
  • Runtime checking

ASJC Scopus subject areas

  • Theoretical Computer Science
  • Software
  • Computer Science Applications
  • Computer Networks and Communications
  • Computational Theory and Mathematics

Cite this