Automated Trouble Shooting
So, I had a discussion with my dad about automated troubleshooting and came up with some cool ideas: An automated guide to teach how to effectively troubleshoot. It would basically be a wizard typing thing that would go through some basic strategies, e.g.
- Make a lit of straightforward/obvious things to check for errors: Is it plugged in, can all the equipment be pinged, is their fuel/ink in it, etc.
- Based on things checked, what could be wrong? Make hypothesis
- Determine how to test each hypothesis
- Test hypothesis, accept/reject hypothesis based on test. If necessary, refine hypothesis and test again (repeat)
- Problem is now isolated.
This could be expanded into a wizard to generate expert systems for automated troubleshooting, especially if it’s a wizard through a programming interface (something like a bash shell or command line interface). It could be really useful if we keep track of how often each problem turns out to be the problem, then we can use Bayesian inference to determine the most likely problems and which experiments/tests will narrow down our problem.
Of course, the most useful place to use this type of system would be a heterogeneous networked system (like the type of stuff I do at work). Yet another Master’s thesis idea…