Thinking outside the ... hardware
Qualitygoddess,
You are definitely asking some thought-provoking questions here. That's good - keep it up. It's good for us to strech our minds out and think outside the ... hardware.
qualitygoddess said:
1. we program a firmware onto a microcontroller using three types of programming devices that "automatically" verify that the program has been placed on the microcontroller. In one case, the supplier of the programming device provides a calibration service. I get a calibration cert after their visit. In another case, the supplier of a different programming device does not provide a calibration service. Suggestions on how to calibrate in-house??
I suppose the first question is, what is actually being done during this calibration. The programming devices are electronic and can be calibrated in the traditional sense of verifying that voltages, signal timing and so on are within published specifications. I have seen a few things like this. If this is what is done, then a trained technician with calibrated instruments could do it in-house.
As for verifying that the program was loaded properly, the new programmed chip can be simply read out and compared with the source file. The comparison may be either bit-for-bit (slower but exact) or by matching checksums (fast but less exact). That is the sort of mind-numbing job that computers are excellent at.

The source file would have been verified earlier by methods discussed below ...
qualitygoddess said:
2. we have programmers who write software, specifically software drivers that control the computer's communication with the microcontrollers. When we do product validation during either beta site testing, or with internal testing, is this calibration? Or to rephrase -- do we need to calibrate the software??
Consider that we can describe the essence of calibration as the process of providing a known stimulus to an object, reading the object's output or other response, and comparing the result to a performance standard. Then the question becomes, does it matter if it is a hardware object (which we are all used to) or a software object?
Is the performance standard the specification that the software object is supposed to meet? Is the specification sufficiently detailed so that it covers all known cases and interactions? (Including null, exactly on the limits, out of range, incorrect type and so on as well as the "expected" values?) If all of this is true, then it could be possible to consider this type of software validation as a form of calibration. (
I will allow that a number of us may have to stretch our minds a little to get around this -- self included!

) Carrying the analogy further, then "recalibration" is based on the version change schedule, and configuration management equates to calibration seals.
Another problem may be in claiming metrological traceability. When calibrating the programming machine (#1 above) that's not a problem - the measurements I mentioned trace to the SI Volt and Second. In most cases, the performance of a software object has to, by necessity, be traceable to the customer requirements and the design specifications agreed to by the customer. In effect, the "measurement standard" is an agreeement between your customer and you, the supplier. In other cases, such as when you are creating a communication layer DLL to handle a specific protocol, then the published standard (document) for that protocol can be considered a measurement standard for the external inputs and outputs, and the other design requirements are still the measurement standard for linking the communication layer with the top layer application.
As for "need to", of course the software object has to meet the specified requirements, in the same manner that a physical object such as a micrometer has to meet its specified requirements. If it does not, then the customer would not be pleased, right?
Does this help, or should I stop digging the hole?
-----------------------------------------------------------
I just read over what I wrote earlier, and I started wondering if I was still in the measurement science forum or had warped over to the philosophy and metaphysics one!
Oh well, life is like that sometimes.