Last time I detailed the concept of value chain traceability. By now we have looked at traceability from high altitude. Now it’s time to come down to earth to look closer at the model used to make traceability usable by computer programs.
Value chain traceability works at two levels – at the global level as we have already seen, and at an internal level which we will look at here. Companies need internal traceability that creates relationships between incoming and outgoing goods. Without this traceability would be broken. So what does it take for a business to be traceable?
The company’s IT solution must be able to supply information telling which ingredients (as traded units) went into the product and which outgoing products that contain ingredients from the raw material. This amounts to so called “one-up” and “one-down” traceability.
Tracetracker has a model for describing traceability that can convey the needed information to GTNet. This model centers around:
- traceable entities – things that can be traced
- transformations that traceable entities can go through – to change from raw materials to finished products
- stations where traceable entities can be exposed “to the environment” – so that critical influence from the surroundings can be recorded
Traceable entites are objects that have traceability information associated with them. There are three main types (the graphical elements in parenthesises are the symbols used by Tracetracker Navigator – the web-based GUI of GTNet):
- trade units () are used to describe goods sent between different parties in a global value chain. This means that they are visible globally.
- batches () are used to describe the flow of products internal to a production line. This means that batches are invisible to anyone outside the company’s traceability solution.
- production batches () are batches with a special attribute that makes them visible globally. This is typically used to indicate the last batch before outgoing trade units are made. In unfortunate situations like a recall, production batches are often at the center of attention.
Clusters are collections of trade units that are most commonly used to model logistics units. For example, a pallet of products (trade units) shipped between partners would be modelled as a trade unit cluster. The directives entercluster and leavecluster are used to pack and unpack clusters.
Transformations are used to describe the steps raw material is exposed to in the process of becoming products. They all apply to batches and the most important ones are:
- mix is used to combine multiple sources at once
- join is used to combine multiple sources over time
- split is used to divide a large volume into multiple, smaller parts
Station is a concept for locating traceable entities over time and associated them with environmental parameters like temperature, humidity and pressure. A station may be a mobile object like a container, storage at a factory, or a production line. Batches and trade units may enter and leave stations, and a station’s properties may apply to the traceable entities found “inside”. Unlike clusters, which are created as needed and disposed of when the contents is split up, a station has a long lifespan and can be re-used to hold many different groups of traceable entities.
Together, these building blocks comprise a generic framework for describing traceability, not just for food or feed but for things like cosmetics or automotive parts as well. Since we aimed at a general framework we ended up with concepts that may seem unfamiliar to some. Therefore it worth trying to speak the customer’s lingua rather than insisting on Tracetracker’s generic terms when visiting a customer.
A simple example
Consider the somewhat trivial task of making cowberry jam.
The illustration above shows three aspects of the process;
- the receipe;
- a graph that implements the receipe in terms of transformations; and;
- a graph identifying the traceable entities in the process, with trade units on the edges and batches inside.
The graph in the lower part of the illustration defines the traceable entities in the system. These, together with properties are captured in a file that we call a Traceable Resource Definition, or TRD for short. A possible property of the sugar above could be the type of raw material, i.e. sugar canes or sugar betes. The properties attached to different traceable entities are important aspects of the purpose of the traceability solution, business objectives, etc. The boiling and the stirring processes can be modelled as stations, with checks for reaching 100 °C (boiling) and sufficiently long stirring period.
Clusters can be used to model in and outgoing shipments of multiple trade units.
Each time production takes place data should be sent from the company to GTNet. Such data must talk the “language” defined in the TRD. Both the TRD and production data must be encapsulated in XML.
A particular feature of the GTNet is that movements of trade units must be acknowledged by both sender and receiver. The mechanism for doing this consists of the following two parts:
- Trade units sent downstream must be identified by a so called SentTo-message containing the identity of the trade unit, the identity of the receiver and a time stamp. This message is the responsibility of the company that shipped the trade unit.
- Trade units received from upstream must be identified by a so called ReceivedFrom-message containing the identity of the trade unit, the identity of the sender and a time stamp. This message is the responsibility of the company that received the trade unit.
It is then the job of GTNet to find SentTo and ReceivedFrom-messages that match each other. When matches have been found, the icon for the corresponding trade unit in the various graphs will be equipped with the rhombuses that we saw in the graph for the cowberry jam.