This is an old revision of the document!
Data Integrity is the completeness, accuracy and consistency of data throughout the entire data lifecycle of the data as well as when the Data is at Rest, Data-in-Motion and Data-in-Use.1)
Figure 1 shows the five levels Automation Pyramid and the functionality usually associated with each one. There is Data-at-Rest at each level of the pyramid. As the data transitions up and down from level to level within the pyramid, the Data is in Motion. Within each level, the data will most likely be accessed therefore, the Data is in Use.
Automation Level | Description |
---|---|
Field Level | The Field Level where products are produced. In other words, this is where the physical work plus monitoring occur. Electric motors, hydraulic and pneumatic actuators to move machinery, proximity switches used to detect that movement or certain materials, photoelectric switches that detect similar things will all play a part in the field level. |
Control Level | The Control Level uses the the control devices to “run” the devices in the Field Level. The Control Devices make decisions based on information provided by sensors, switches, and other input devices to complete the programmed task. |
Supervisory Level | The Supervisory Control and Data Acquisition (SCADA) is combines the Field and Control Levels to provide oversight from a single location. This is usually accomplished using Graphical User Interface (GUI), or Human-machine interface (HMI), to remotely control operations. For example, water plants often employ this technology to control remote water pumps. |
Planning Level | The Planning Level uses Manufacturing Execution System (MES) to monitor the entire manufacturing process. For example, in a factory to plan for everything from raw materials to the finished products. This allows management to visualize the current state of operations and aids them in making decisions and adjust raw material orders or shipment plans based on real data received from Supervisory, Control and Field Levels. |
Management Level | The management level uses the companies integrated management system such as as Enterprise Resource Planning (ERP). Corporate management visualize and control operations. This level allows the businesses monitor all levels (i.e., manufacturing, to sales, to purchasing, to finance and payroll). The integration of an ERP promotes efficiency and transparency within a company by helping to communicate the levels. |
At each level, the Data at Rest can be categorized as one of two kinds of data integrity both of which are a collection of processes and methods intended to enforce Data Integrity.
Data Distribution Service (DDS) Systems are Distributed Systems and are generally architected so Data Integrity is almost an after thought.
It is important to remember that systems using DDS are distributed by definition. These systems are actually a network of DDS Nodes. Each node provides functionality at an appropriate automation level (i.e., Field Level through Management Level) of the Automation Pyramid). For example:
A well defined system also provides for multiple nodes that provide redundant functionality. For example, in a Chemical Mixing Process, there may be multiple Sensors (i.e., nodes) providing temperature for the mixing vat and publishing to the same Topic. There are also multiple nodes listening (i.e., Subscriber to the data being published). If the data being published at the sensors were not identical in structure, format, and content then the redundancy creates more work for the subscribers. In DDS, if one of the publisher were to fail, the subscribers would automatically get the data from the second sensor.
In a like way, there can be multiple subscribers at any particular automation level, or the subscribers could be at different levels in the automation pyramid. For example, one subscriber at the Field Level, and one at the Control Level, etc. Each level may be using a different programming language. For example, the Field Level might be using C/C++, the Control Level might use Java, the Supervisory Level might use Python or R, the Planning level might use SQL or Javascript, and the Business Logic might use executable Business Process Model and Notation (BPMN). As long as there is a mapping between the programming language and the idl data structures, Data Integrity is preserved and there is no problem with each language using the same Topic.