Topic: aspect-oriented programming
Topic: concurrency control by monitors
Topic: debugger
Topic: event controlled processing
Topic: exception handling with resumption
Topic: function call
Topic: interrupt handler
Topic: logging data and events
Topic: monitored variable
Topic: parallel control statements
| |
Summary
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
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
Quote: a Ruby mix-in is an interface that includes code; e.g., 'find' for 'Enumerable'; implemented as a module
| Subtopic: statement monitoring
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
Quote: use event counts instead of event traces when sampling over a large user base [»liblB6_2003]
| Subtopic: event association
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
Quote: conditions are first-in, first-out await queues
| Subtopic: monitor
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 [»maysD5_2002]
|
Related Topics
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)
|