Issue No. 04 - July/August (2006 vol. 23)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MS.2006.98
When things go right, software hums along like well-oiled machinery--receive an event, twiddle with inputs, send a flurry of messages, change the system state, interact with the environment or users, then wait for the next chunk of work. Smooth. Mechanical. Predictable. But what happens when something goes wrong? How should you design your software to detect, react, and recover from exceptional conditions?
software recovery, failing fast
Rebecca Wirfs-Brock, "Designing for Recovery", IEEE Software, vol. 23, no. , pp. 11-13, July/August 2006, doi:10.1109/MS.2006.98