Thursday, February 15, 2007
Process Query Systems
Software is not generally known for being user-friendly in face of faults. Even mass-market software will often fail with mysterious error boxes. When a complex system, build upon mechanical parts, optical devices, electronic board (not to mention cables and junction boxes) and software fails, providing sensible diagnostics can be rather hard.
An interesting approach has been recently presented in IEEE Computer, January 2007 (Process Query Systems, by George Cybenko and Vincent H. Berk). The underlying idea makes a lot of sense: for complex systems, situational awareness can't be a function of the current state only; you need a track, or a sequence of model states. A track can be explained by one or more hypotheses, as a sequence of events can be associated to different transitions among internal states. A longer track usually reduces the set of reasonable hypotheses.
If you like the idea, you can find more details on the PQS net. Needless to say, the concept is not limited to system diagnostics, but it has also been applied to other complex problems, like motion detection.
Curiously enough, when the underlying model is based on a nondeterministic finite state machine, once you define a reference model for most system failures the problems looks a lot like strong bisimulation in CCS. Old stuff keeps coming back :-).



