When you return back to work, one of your programmers, who had been in contact with the hospital as you went to visit, approaches you nervously. She says,
I was talking to the KAREL operator on duty when she went haywire and I think we might have a small problem. I'd suggest that we try to develop a patch as soon as possible to fix it, or else next time, KAREL might cause some harm.
You are perplexed, KAREL seemed only to have been a minor nuisance this morning, but nothing more. Intrigued, you ask for more details.
Apparently, the infinite loop KAREL got stuck in this morning was due to an oversight on our part concerning one of the beeper deadlock cases. The gist of it is that KAREL has trouble when you tell it to find two beepers that don't exist. The chances of that happening are very low, but today, KAREL must have tried to page two non-existent beepers at the same time. KAREL couldn't find either one, and kept bouncing back and forth aimlessly, in an infinite loop. The problem is, the beeper routines are closely coupled with the lifesigns monitoring equipment, and for the fraction of a second which it normally takes to access a beeper, it turns off the monitoring equipment routine. Unfortunately, when KAREL gets deadlocked, the monitoring equipment is totally ignored until she's reset. So this whole morning, none of the lifesigns monitoring equipment was being watched, and if anyone had any troubles, the beeper-paging routine had no way of knowing that.
Just as she finishes, the phone rings and a cold shiver runs through your body. It's the hospital lawyers, and they are bringing a lawsuit against you for being negligent in the development of KAREL. Apparently, everything your programmer had just told you could happen, really did happen this morning.
Continue...