SIGS DATACOM Fachinformationen für IT-Professionals

The Conference for Software Architecture
Munich, 21 - 25 January 2019


Talk: Do 2.3
Date: Thu, 24.01.2019
Time: 14:30 - 15:30

JSR-385: Learning from the 125 Million Dollar Mars Climate Orbiter Mistake

Time: 14:30 - 15:30
Talk: Do 2.3


In 1999, NASA lost the $125 million Mars Climate Orbiter as it went into orbital insertion. Due to a mismatch between US customary and SI units of measurements in one of the APIs, the spacecraft came too close to the planet, passed through the upper atmosphere and disintegrated.
Do you have variable names like lengthInMeters? If you are, you have the same problem as Lockheed Martin and NASA had. Join this talk to learn how JSR-385 can help you avoid $125 million mistakes, and discover the immeasurable world of dimensions, units and quantities.

Target Audience: Software Developers dealing with quantities, units and dimensions
Prerequisites: Basic knowledge of Java is an advantage, but not an absolute requirement
Level: Practicing

Extended Abstract
JSR-385 is a Java Specification Request to handle units of measurements. Using primitive types to represent quantities is a risky business, cfr. what happened to the Mars Climate Orbiter. In addition, one could argue that not including the unit of measurement in a variable represents a loss of information and is therefore in conflict with e.g. Domain-Driven Design.
Note that although JSR-385 is Java specific, the problem is relevant for other programming languages too.