Software Event Subsystem
Original Publication Date: 1995-Dec-01
Included in the Prior Art Database: 2005-Mar-31
Davis, RA: AUTHOR [+2]
Within a real-time software system it is necessary for various components of the system to know when various events occur, typically polling is done until the event occurs. Polling wastes time and processing power. The Software Event Subsystem provides a mechanism by which to distribute knowledge of events without wasting time and processing power.
Software Event Subsystem
real-time software system it is necessary for various
components of the system to know when various events occur, typically
polling is done until the event occurs. Polling wastes time and
processing power. The Software Event Subsystem provides a mechanism
by which to distribute knowledge of events without wasting time and
computer environment, knowing when something has
happened or has completed is essential. Interrupts are used to
notify various hardware components when an operation can start or has
completed, yet a mechanism does not exist to do the same with various
controlling a manufacturing line, atomic force
microscope, or a high tech game, the software developer needs to know
when certain things occur prior to starting something else. The
Software Event Subsystem provides this capability and more.
Event Subsystem provides a mechanism by which
software applications can notify others when noteworthy things
happen. Any application can raise or monitor events, even on a
physically different machine across a network. With this distributed
processing capability, an event can occur on one machine and another
machine (on the network) react accordingly.
Event Subsystem consists of a server which handles
and manages event definitions and distribution, and a library of
functions that are linked into client applications wishing to make
event information available or receive event information.
shows interaction between an application making
event information available, an application receiving event
information, and the Software Event Subsystem server. Consider the
current tip logging component of the Atomic Force Microscope.
Information is logged when the tip or any of it's characteristics is
changed. An event could be defined for when scan length (a
characteristic) is set, the Software Event Server would be notified
of this event, and then propagate the information to any application
registered to receive that particular event (whether located on the
same physical computer or not).
Now, to complete the example a fictitious application
"Maintenance" must be introduced. This application is concerned with
monitoring various aspects of the Atomic Force Microscope, one of
which is tip scan length. The Maintenance Application would register
to be notified of the scan length event and perhaps keep track of the
total scan length. Assuming scan length directly effects the tip
life expectancy, some statistical processing could then be performed
to predict a typical tip life based on scan length. If the latest
scan length indicated tip life expiration, the application could
notify maintenance or service to have it replaced, thus minimizing or
even eliminating potential future inaccuracies in scan data.
This is just one exam...