Topic: monitored statements and events

topics > computer science > Group: parallel processing

aspect-oriented programming
concurrency control by monitors
event controlled processing
exception handling with resumption
function call
interrupt handler
logging data and events
monitored variable
parallel control statements


A monitor is an asynchronous procedure which interrupts a program but does not modify its control flow. It responds to changes in some program element. Variables are frequently monitored for debugging and statistical collection. But so can statement execution, process performance, queue lengths, scheduling changes, and event occurrences. A resumption exception handler, such as PL/1's 'on' statement, can be seen as a monitor; as can an interrupt handler. Each monitor procedure is associated with a program component and an initiating condition. A particularly interesting monitor may be used in algebraic theorem databases. This monitor generates all corollaries when a theorem is defined, and removes these corollaries when the theorem is deleted. (cbb 5/80)
Subtopic: advising up

Quote: advising is adding code for execution at procedure entrance or exit; independent of implementation; used for Interlisp debugging [»johnMS2_1982]
Quote: reconfigurable connections between modules allow debugging facilities to be spliced in, and adaptors that change a modules behavior [»lampBW_1974]
Quote: Spy allows a user to patch the supervisor program; no wild branches, no loops, short, stores only into statistic memory [»lampBW10_1983]

Subtopic: mix-in up

Quote: a Ruby mix-in is an interface that includes code; e.g., 'find' for 'Enumerable'; implemented as a module

Subtopic: statement monitoring up

Quote: in Simscript, can annotate statements with operations to perform before or after statement [»simscrip_1971, OK]
QuoteRef: goodJB12_1975 ;;685 exceptions may be used for monitoring an operation (resume ability) for additional information
QuoteRef: hansDR3_1978 ;;125 "Statement execution associations are made by modifying the compiled code for the affected statement.

Subtopic: event sampling up

Quote: use event counts instead of event traces when sampling over a large user base [»liblB6_2003]

Subtopic: event association up

Quote: use futures for concurrent return values, event objects, and macro-dataflow programming; wait until value is assigned; assign-once [»chriTW2_2002]
QuoteRef: hansDR3_1978 ;;117 Event associations made with CONNECT function applies to event-name, event-type, procedure-name , procedure-active?, and level
QuoteRef: baglPR_1969 ;;27 "Standing orders" eg PL/1 ON statement or in data definition a range check for reasonableness

Subtopic: condition up

Quote: conditions are first-in, first-out await queues

Subtopic: monitor up

Quote: synchronize through monitors with explicit await queues; insures mutual exclusion of access to monitored variables [»brinP4_1999]
Quote: a monitor is a scheduler for a resource with associated data and procedures; serves only one program at a time; organizes the critical regions [»hoarCA10_1974]
Quote: use wait and signal operations inside a monitor to wait for other resources [»hoarCA10_1974]
Quote: each context level acts as a single mutex lock and thus prevents cycles in the invocation structure

Related Topics up

Topic: aspect-oriented programming (2 items)
Topic: concurrency control by monitors (24 items)
Topic: debugger (37 items)
Topic: event controlled processing (46 items)
Topic: exception handling with resumption (31 items)
Topic: function call (28 items)
Topic: interrupt handler (20 items)
Topic: logging data and events (17 items)
Topic: monitored variable (28 items)
Topic: parallel control statements
(12 items)

Updated barberCB 3/06
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.