 An example based on

 'Enhancing Data Interoperability with Ontologies, Canonical Forms, and Include Files'

 by Roger L. Costello costello@mitre.org August 10, 2003

 (http://www.xfront.com/interoperability/CanonicalForms.html)
someagent measures somequantity in someunit
not : the canonical measure of thatquantity is thatunit
one unit of thatquantity measured in thatunit converts to a canonical somenumber somestandardunit

thatagent sending one unit of thatquantity in thatunit should first convert it to thatnumber thatstandardunit
thisagent measures thisquantity in thisunit
===============================================
Agent A length kilometers
Agent A time seconds
Agent A speed kph
Agent B length miles
Agent B time hours
Agent B speed mph
one unit of somequantity measured in someunit converts to a canonical somenumber somestandardunit

the canonical measure of thatquantity is thatstandardunit
one unit of thisquantity measured in thisunit converts to a canonical thisnumber thisstandardunit
======================================================================================================
length miles 1.609344 kilometers
length meters 0.001 kilometers
time minutes 60 seconds
time hours 3600 seconds
one unit of length measured in miles converts to a canonical somenumber1 kilometers
one unit of time measured in hours converts to a canonical somenumber2 seconds
thatnumber1 / thatnumber2 = somequotient
thatquotient rounded to 5 places after the decimal point is somenumber

one unit of speed measured in mph converts to a canonical thatnumber kph