Long time readers of Oil IT Journal may recall my 2004 editorial A million miles of spaghetti eaten every day where I reported from a plenary meeting of the W3C Semantic Web Interest Group. I will spare you a complete reprise of the editorial, just say that I asked a question of the assembled semantic web folks as follows…
‘[computer] data typing is important but what about units of measure? IT looks after its own with ‘strong typing’ of data pigeonholes, and then throws caution to the wind when the value of say, ‘3.75’ is stored in a precise floating point representation without recording if the length is feet, miles or meters. This causes spacecraft to crash, bridges to fall down and wells to be drilled in the wrong place’.
At the time I did not get a satisfactory answer. I had the impression that the UoM issue had dropped down a crack between the W3C and ISO. But the issue did not appear to trouble the community unduly.
I was reminded of all this when I received an announcement from the Industrial Internet Consortium for V2.3 of the Industrial Internet Vocabulary Technical Report, ‘one of six IIC technical reports that serve as de-facto industry guidelines on vocabulary, architectures, security, analytics, connectivity, and business strategy’. The report is said to specify common definitions for communication within the industrial internet ecosystem and is ‘the foundation for the collective body of work from the IIC’.
OK I thought, if you want to be able to talk to a connected device on another network, you had better be sure that you know what units the device is using. You may be interested in a whole slug of other metadata from the device but let’s keep it simple for the moment.
I downloaded the Report and scanned for units of measure. Zilch! So, I quizzed (trolled?) the IIC with the following: ‘I am curious that there is no reference in the vocabulary to “units of measure” or “engineering units”. This begs the question of how a remote IoT device can be interrogated and return a value with unambiguous units. Perhaps this issue is handled elsewhere in the IIC specs?’
First reply was a bit of a brush off viz. ‘Units of measure are part of an implementation and not part of an architecture’. When I hear ‘architecture’ I think of arm waving and PowerPoints. The most egregious example being the long-forgotten Mura, Microsoft’s upstream reference architecture. I prefer code to architecture. So, I got back to the IIC asking for pointers as to how units are ‘implemented’. We have had some good feedback from IIC members which is ongoing. For now, I can report that there is clearly a recognition that UoM issues are important but that they are relegated to lower level ‘implementation’ issues. Having said that, our interlocuters at the IIC seem to think that it would be a good idea to look at how UoM implementation could be standardized.
So where might the IIC look for inspiration on the Units issue? A starting point might be the IIC’s own website and a paper on Usage of Standards in the Smart Factory Web Testbed, An Industrial Internet Consortium White Paper. Here we learn that the IIC Smart Factory (or its Industrie 4.0 cousin) is built on three ‘principal pivotal standards’ viz, OPC Unified Architecture (OPC UA), AutomationML and the Open Geospatial Consortium’s (OGC) SensorThings API. It would appear that Industrie 4.0 relies on the OGC for its standard units ontology*. So we can now trace the units of the IIC to the OGC’s Sensor Things, which seems to make sense.
But where did the OGC units work come from? The original 2002 OGC OpenGIS Recommendation Paper, Units of Measure Use and Definition Recommendations was authored by one John Bobbit from Energistics’ predecessor POSC. This built on prior art including POSC’s Epicentre data model and the API/Schlumberger’s RP66/DLIS spec. So now we have a traceback from the IIC to Energistics/POSC which is cool. Looking forward in the direction of OSDU it appears that OSDU embeds the Energistics UoM work which is even cooler.
Of course, it is not enough to have a UoM standard someplace in your portfolio. What is important is that it is actually used. For the IoT this means a mechanism for broadcasting sensor metadata from a local part of the network in a machine-readable way. For OSDU, given that the data layer is Schlumberger’s OpenDES, it depends on whether this exposes a UoM service. For both IoT and OSDU, it also supposes that developers use the service in ‘deployment’.
* Although it could have relied on OPC UA which I understand has its own UOM spec although this would not appear to be machine readable.
© Oil IT Journal - all rights reserved.