Codification, interoperability, and total lifecycle systems management:

these are the three concepts that we tied together at the NATO Codification Forum in Copenhagen, November 6th and 7th , 2013.

More than 150 people from all over the world attended this forum, most of them being representatives of the National Codification Bureaus of the NATO countries. Our US partners at Nexus sponsored this well organized event, and they kindly invited us to show the “Data as a Service” concept that we developed together.


When I planned my trip to Copenhagen, I was asked by my mother what “codification” means. I had a bottle of water in front of me and I gave her the following example. I described the bottle in natural language, saying it was 1) a bottle, 2) in plastic and 3) 25 cm high. What if I was able to describe this same bottle with a simple string, instead of using a full sentence?


Codification is the capability of categorizing things based on criteria (single or multiple), assigning a string to that category, and describing the things by assigning them the string that corresponds to the category they belong to.


These strings can be meaningless (e.g., the bottle is codified as “47rt888”), or “talkative” (e.g., the bottle is codified as “BP25”, where the first digit represents the kind of object, the second represents the material, and the third/forth represent the height).

In the codification world, codification is used as a synonym of interoperability: if you are a bar owner and I want a particular bottle of water, I can simply ask for BP25. Since we both agreed on what BP25 means, then we can talk to each other and you know how to satisfy my need.


Codification = interoperability… how much is this statement true?

Well, half true, and things get much more complicated when instead of a bottle I am describing a complex system during its whole lifecycle.  Codification definitely makes life easier but it is not sufficient. Why?

First, because we can’t codify all the data related to a complex system, it would just take too much effort. Going back to the example of the bottle, it would be too hard to codify the process that is required to dispose of the bottle, or the kinds of the different taps that fit with that bottle.

Second, because the criteria you can use to categorize things are infinite, you would end up with the problem of describing how the different codifications are related to each other (which is a problem that cannot be solved by codification itself). Going back again to the example of the bottle, you could codify that same bottle as BP25, or as a water container, and then as an object produced in Italy, or as an object that you can find in a bar….Things get even more complicated when we take into consideration product structures, but this is something I will discuss in a future article.


Could we do interoperability without codification?

Yes, with a model-based approach, but we might end up using complexity when it is not needed.

A model-based approach allows expressing, in an organized model, the semantics of our description. The bottle would be expressed as a product, with an assigned material (plastic), and with a value (25) assigned to a particular geometric characteristic (height). The problem is that, with the model-based approach, asking for a bottle in a bar might become a trivial exercise…


Data as a Service

With the “Data as a Service” concept, we proposed an approach where items are described through both semantic models (PLCS) and codification (UII, Part Numbers and NSN). “Data as a Service” allows building web links between these concepts. In our demonstration, we established links between two simulated ERPs, the US DoD UID Registry, WebFlis (the US NSN registry) and the DLA database for the CAGE codes. The scenario included the request and execution of repair activities over items marked with UII and scanned by the in-field personnel through a mobile application.

Most of the people attending the Codification Forum were not aware of the UID policy and the PLCS standard, since they are embraced by different NATO AC (UID and PLCS come from NATO AC 327, while codification is established within NATO AC 135). Our demonstration showed how to build a bridge between the codification world and the “UID + PLCS” world. DaaS is built on top of emergent technology (e.g., ontologies and semantic languages), mature standards (e.g., ISO 10303-239 PLCS and UID), and consolidated means (e.g., the Web and the HTTP protocol).

“Data as a Service” enables the building of this bridge with an approach that allows to:

  • perform processes with the current applications;
  • define the master data in one application and re-use it many times without data replication;
  • re-use existing infrastructure;
  • use smart devices;
  • optionally use a cloud network.