Peter F Brown - Information Architecture

Copyright Notice | Privacy Statement | Contact Me
Introduction | Biography | Résumé | Blog / Pensieve
Personal | Professional
Information Architecture | Interoperability | e-Administration | Semantic Interoperability | Data Standards | "semantic web" | XML
Personal | Collaborative | Professional - European Union | Professional - Academic
Academic | Professional | Others
Site Architecture | Policies Used | Technologies Used
visual display element visual display element
Meshing Cogs

Interoperability

The story of the 1999 Mars Climate Orbiter Mission has passed into folklore amongst XML specialists, and with reason. That this important NASA mission ended with the orbiter crashing on the surface of the red planet as a result of computational error is not in dispute but the origins and causes of the expensive mistake are telling.

Spelling it out

According to reports on the investigations after the crash, scientists in Mission Control had been sending instructions - to control the small booster rockets - using the Imperial measure of feet per second, but these instructions were interpreted by the on-board computing systems using... the metric systems of Newtons! As the official report stated (page 6) "the root cause for the loss of the MCO spacecraft was the failure to use metric units in the coding of a ground software file...".

This costly experience highlights a vital principle in information architecture: information about how data should be understood, interpreted, and used must be made explicit. An application that has certain values passed to it (in the above example, regarding required rocket thrust) needs to be told explicitly how to interpret those values - it is not left to assumptions as to their intended meaning (in this case, costing NASA more that $250 million…). There is clearly a cost to 'spelling it out', but these are relatively small when put alongside the benefits, or indeed - as in the above case - the cost of not being clear enough.

Role of XML

XML has been offered as the solution to these problems, by providing markup "tags" that explicitly label data content. It is a fallacy, however, to imply that any machine will actually 'understand' the markup - 'Newtons' or 'feet per second' are both just strings of characters as far as a compuetr is concerned. What XML does provides however is a standardised mechanism by which such semantic constructs ('understand this term in this way') are exposed and made available to processors.

What is vital, therefore, is prior agreement as to the meaning to be attached to particular markup. This is easier when the 'tags' used for the markup are human-readable. XML allows you to draw up a 'contract' in which a particular term 'abc' means this and not that. This is done in particular with XML Schemas. At an even more basic level, the ebXML "Core Components" specification allows industries to explicitly define basic data constructs, together with their meanings and intended uses, in order to provide re-useable building blocks for developing information systems.

Copyright Notice | Privacy Statement | Contact Me | © 2004 Peter F Brown