The use of event processing for error handling might substantially reduce the cost of the software life cycle. RTInsights International Technology Editor Dr. Opher Etzion explains.
Event processing can be used in the software world where any error in the software can be considered an “event.” In fact, in several old programming languages such as my mother tongue Programming Language One (PL/1), the name “event” was related to an exception or error that occurs during the execution of a program and invokes an “error handling” module.
The effort dedicated to error handling in software may account for 80 percent of the development cost. The use of event processing for error handling might substantially reduce the cost of the software life cycle. The representation of as an event opens the way into using event processing within the software engineering process.
The design phase is extended to design the rules of a monitor that observes the software execution in a nonintrusive way. Events that may occur during the execution as well as rules based on them can be embedded inside the design. The monitor is event-driven and receives events both from the running software and from the outside world. The event-driven monitor can issue observations and be embedded in a debugger. Moreover, it can take an active role concerning error correction and not only error identification.
A correction example is a case in which the error is a result of a violation of a logical integrity constraint such as when a salary raise event exceeds the department budget or violates the constraint that an employee’s salary may not exceed the salary of the employee’s manager. In this case, the error handling can be expressed as policies that determine how to repair the error and then send a correction input to the system. The monitor can also invoke a new task in a workflow or stop running tasks within a workflow.
The separation of the monitoring from the code (and the ability to define event-driven rules that include the ability to view a combination of errors as an error) is an application of event processing in software. Event processing also participates in other software engineering processes such as software verification and program analysis. (I will write about those in one of my future blogs.)
An event-driven debugging can also apply to event-based systems. One example of this is documented in “Errors and Error Handling in KRL,” a recent blog by RTInsights contributor Phillip J. Windley.
So many articles, so little time. Luckily, our content is edited for easy web reading! Read more:
Research from Gartner: Real-Time Analytics with the Internet of Things
From the Center to the Edge: The IoT Decentralizes Computing
Becoming an ‘Always On’ Smart Business
Urgency of Present and Past in IoT Analytics
Liked this article? Share it with your colleagues using the links below!