Thursday, June 4, 2015

Interface control documents and crashing satellites

Mars Climate Orbiter, RIP. Image from wikimedia commons.
Ok, this is outside the main purview of this blog, but in the general spirit of transferring information from point A to point B, let me take on this common trope about the metric system.

Vox has an article up about the appearance of the metric system as a campaign issue:
As Susannah Locke explains, the vast majority of the world uses metric, and the existence of two systems is a hindrance for international cooperation, especially on science and medicine. A $125 million Mars orbiter was lost because of a failure to convert from English to metric.

No. The failure can't be blamed on a failure to convert units. This exact same mistake could happen if one piece of software interpreted the units as µN and the other as kN. The problem might have beem a mistake on the part of the software engineer but was more likely a bad Interface Control Document (ICD). It's not illogical English units; this was bad systems engineering.

This is a particular pet peeve because just yesterday I had to fix a problem where I had coded to the ICD, but the other piece of software hadn't. And it was their ICD! The software engineers working on the Mars Orbiter must have been from MIT, too.

It's also trivial to convert units these days. Try this! Data should always be accompanied by metadata that gives its units and there are lots of existing software packages out there that can handle them. We're not living in the 19th century so units don't have to be so rigid anymore.

No comments:

Post a Comment

Comments are welcome. Please see the Moderation and comment policy.

Also, try to avoid the use of dollar signs as they interfere with my setup of mathjax. I left it set up that way because I think this is funny for an economics blog. You can use € or £ instead.