Group: exception handling
Topic: actor machines
Topic: aspect-oriented programming
Topic: asynchronous processing
Topic: change notification
Topic: communicating sequential processes
Topic: concurrent while in parallel processing
Topic: conditional control by guards
Topic: conditional statement language
Topic: event loop for a user interface
Topic: events
Topic: logging data and events
Topic: model checker
Topic: monitored statements and events
Topic: parallel programming languages
Topic: path expression
Topic: production systems
Topic: program execution
Topic: reflex circle
Topic: shared information for collaborative work
Topic: state machine
Topic: waitfor condition in parallel processing
| |
Summary
A process can be suspended until an event, a number of events, or a combination of events occurs. Then the process continues execution. Alternatively a process may test an event, processing may be event initiated, or control flow may be guarded by an event; as in 'loop until event A occurs'. The delay between event occurrence and program reaction may be critical. One language, CONTROL, is organized by event initiated processes with state change monitored every 1/10 second. A more formal approach is Brinch Hanson's transition commands, where delay guards show the explicit state changes needed for continuation. (cbb 5/80)
Subtopic: organize by event
Quote: retrieve documents by calendar appointment; used 10x more often then traditional searches [»hullJJ3_2001]
| Subtopic: events initiate action
QuoteRef: adamEN1_1973 ;;15 statements are future imperatives (Whenever x do statement)
| Quote: 1/2 of children used event-based rules in their paper solution to a programming task; no programming experience [»paneJF2_2001]
| Quote: an event-action language asynchronously invokes an action when certain events occur [»brueB8_1983]
| Quote: define a robot event by effects, initiation and continuation conditions; system, not robot model, is responsible for event invocation and duration [»saltRM_1980]
| Quote: a demand function includes the events that invoke it; specify maximum delay between request (event) and action [»heniKL1_1980]
| Quote: CONTROL triggers a set when a logic input changes state; inputs scanned every 0.1 second [»ruhlRC11_1976]
| Quote: DELTA events occur when an action's condition no longer holds; proceeds to next action in the object's sequence [»handP_1981]
| Quote: a planbox is a stereotypical method of attempting a goal; it has preconditions, an action, and a goal; e.g., ASK whose action is MTRANS [»schaRC_1981]
| Quote: in CSP, x->P describes an object engaging in event x and then doing process P [»hoarCA_1985]
| Quote: program mobile robots in unstructured environment by independent reactions to events [»brooRA_1987]
| QuoteRef: ruhlRC11_1976 ;;32 sets may be triggered by: change in logic input, explicit TRIGGER action from another set, from the keyboard, when a timer or counter goes to zero. when a MEASURE or POSITION operation completes
| QuoteRef: simscrip_1971 ;;102 define events routine to generate event notices (with optional parameters) default is notice destroyed when used
| Subtopic: UI events
Quote: Cedar user interface by a notifier that initiates asynchronous procedures that match input events in a TIP table [»swinDC7_1985]
| Quote: a Cedar TIP table defines procedures for input events or event sequences [»swinDC7_1985]
| Subtopic: wait for event
Quote: in Mesa when a process establishes a condition, it notifies waiting processes; a waiting process retries the guard before continuing [»lampBW2_1980]
| Quote: in NIL, a 'select' will wait until an input port has a true guard [»stroRE5_1985]
| QuoteRef: sammJE_1969 ;;574 Wait (for event list true) (wait for n events to be true)
| QuoteRef: cbb_1973 ;;4/24/74 Waitfor storage and Signal storage to implement conditions
| QuoteRef: zahnCT_1974 ;;174 until no_more_data do ... if eof then no_more_data ... this does the event exiting
| QuoteRef: rtl2 ;;waitfor (key, mask, [tid])
| Subtopic: publish/subscribe
Quote: Acme reports changes to a window/file after the change is made; allows multiple agents to make changes in response to changes
| Quote: a CLR event includes methods for issuing, registering, and deregistering event notifications; like properties but with different, conventionally named methods [»hamiJ2_2003]
| Quote: .NET's common language specification (CLS) is a subset of its type system; unique, Unicode names, no static and instance methods or fields, properties, events, predefined types, closed
| Subtopic: event handler
Quote: a discipline type requires an event handling function for managing handles, disciplines/methods, and errors; necessary for memory management [»voKP2_2000]
| Quote: exported SPIN procedures are events; the event dispatcher uses a procedure call if there is only one handler [»bersBN12_1995]
| Quote: in SPIN, the primary event handler verifies handler requests and adds guards or closures [»bersBN12_1995]
| Quote: programs are stored in Handy's thought bubble as a collection of event handlers; e.g., when any bee collides with any flower // subtract 1 from the flower's nectar [»paneJF9_2002]
| Quote: event associations cause function execution at events such as variable reference, statement execution [»hansDR3_1978]
| QuoteRef: polsPG_1972 ;;562 When testing for state change, searched list for true condition each time an interrupt comes in
| Subtopic: breaking ties
QuoteRef: simscrip_1971 ;;62 Break event-name ties by high/low attribute-name-to-be-compared then by high/low... for scheduling priority when two events of same class at same time
| Subtopic: event vs. up-call
Quote: CycleFree methodology creates hierarchy of object contexts; use events instead of upcalls; only events run concurrently [»maysD5_2002]
| Subtopic: call-back function
Quote: a hook is a function invoked by an event; e.g., on loading a library or modifying a variable [»stallRM6_1981]
| Subtopic: state machine
Quote: event-driven state-machine programming (ESP) for programmable devices; generates a C program and SPIN model; 90% fewer lines of code, low overhead [»kumaS6_2001]
| Quote: ESP language for writing firmware using event-driven state machines; fast, easily programmed, easily debugged, memory management [»kumaS6_2002]
| Quote: use @-format to implement control states in event-driven software; labels to suspend and resume execution
| Quote: synchronize processes by transition commands, i.e., a list of state transitions of which one must occur [»brinP9_1978]
| Quote: have used transition commands to specify major parts of a message buffering scheme and the Solo operating system [»brinP9_1978]
| Subtopic: event queue
Quote: the RC 4000 include wait and get event for implementing an event queue; wait for arrival of a message or an answer [»brinP4_1969]
| Quote: within a critical region, use 'await' to join an event queue and 'cause' to invoke the event [»brinP7_1972]
| Subtopic: event log
Quote: the 'event' file for an Acme window records all changes, execute, and search events for the window [»pikeR1_1994]
| Subtopic: monitoring events
Quote: an eventcount counts events in a particular class, i.e., a set of state changes [»reedDP2_1979]
| Quote: a process can read an eventcount or block until an eventcount reaches some value ('await') [»reedDP2_1979]
| Subtopic: problems with events
Quote: Smartcom for Windows abandoned concurrent programming due to difficulties with Smartcom III; problems remained with efficiency, non-reentrant message handlers, and unbounded message recursion [»maysD5_2002]
| Quote: the parallel composition of guarded microsteps has confusing semantics and multiple interpretations; used by VHDL, Verilog, and others [»benvA1_2003]
| QuoteRef: brinP12_1973 ;;234 momentary events not useful cause timing (before-after) very important
|
Related Topics
Group: exception handling (12 topics, 314 quotes)
Topic: actor machines (2 items)
Topic: aspect-oriented programming (2 items)
Topic: asynchronous processing (30 items)
Topic: change notification (19 items)
Topic: communicating sequential processes (33 items)
Topic: concurrent while in parallel processing (5 items)
Topic: conditional control by guards (17 items)
Topic: conditional statement language (5 items)
Topic: event loop for a user interface (11 items)
Topic: events (44 items)
Topic: logging data and events (17 items)
Topic: model checker (49 items)
Topic: monitored statements and events (16 items)
Topic: parallel programming languages (14 items)
Topic: path expression (14 items)
Topic: production systems (10 items)
Topic: program execution (8 items)
Topic: reflex circle (20 items)
Topic: shared information for collaborative work (36 items)
Topic: state machine (67 items)
Topic: waitfor condition in parallel processing (20 items)
|