Tuesday, June 02, 2015
Level 3 Diagnostics
Early in my career I worked on military flight data recorders, including the development of the software for the F-22's "black box". Those systems have SBIT, IBIT, PBIT and MBIT sub-systems were BIT is "built in test" and S = startup, I = initiated, P = periodic and M = maintenance. I remember making the Star Trek diagnostic joke myself when I was assigned the SBIT work.
Each BIT does varying level of testing based on it's runtime budget but there are a lot of very basic tests that don't make much sense until you see your first field report of some register bit "sticking". Its much better to ground a plane that can't add 1+1 than to find that out in mid- flight.
This comment (one out of many comments about testing critical software) really hit home, especially given the testing currently going on here in the Ft. Lauderdale Office of The Corporation (with the Monopolistic Phone Company, who's mantra seems to be “it's your fault we're not ready for testing!”). While I would love to order a Level 3 Diagnostic, alas, our software is not written with such diagnostics in mind (and given the difficulty we've seen from the other side it's clear their software isn't either).
In fact, I'm having a hard time even figuring out what a “Level 3 Diagnostic” would even mean in the compoent I wrote, much less every other component involved with “Project: Sippy- Cup.”
Reading up on SBIT, IBIT, PBIT and MBIT sub-systems, it seems that it's really only applied to avionics and possibly automotive computer systems. The closest thing to it is the POST that most PCs do when powered on, which seems to be the functional equivelent of SBIT. The rest, IBIT, PBITand MBIT, not so much.
Out of all the components in “Project: Sippy-Cup,” only mine has an explicit “health-check” function built in (which just basically says, “Yes, I'm running” and that's it) which is close to PBIT(from my understanding); everything else is queried for known data at fixed intervals. But diagnostics seem to be “search the logs and/or configuration for for anomalous behavior.”
Sigh.