Abstract
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 language | English |
---|---|
Pages (from-to) | 471-500 |
Number of pages | 30 |
Journal | Concurrency Computation Practice and Experience |
Volume | 18 |
Issue number | 5 |
DOIs | |
Publication status | Published - 25 Apr 2006 |
Keywords
- 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