Getting Started: Models and Instances

What Does This Article Cover?

  • What is Modeling?
  • Modeling considerations
  • Building Models
  • Building Instances
  • Other related material

What is Modeling?

Data modeling is the process by which the data set is standardized to meet the project’s business goals, transforming raw industrial data into usable rich information. The concept of data modeling is central to the Intelligence Hub and enables a hub and spoke data transfer design pattern. An Intelligence Hub Model defines the specific payload of data to be transferred. Modeling differentiates the scalable Intelligence Hub DataOps solution from a typical point-to-point integration. An Instance of the Intelligence Hub usually contains data from multiple data sources configured as Intelligence Hub Connections. It also allows the Output of an Intelligence Hub Connection to be abstracted from the underlying data sources.

The Intelligence Hub separates Models and Instances. An Intelligence Hub Model forms the basis for standardizing data across a wide range of raw input data. A Model is comprised of a collection of attributes that are common to a logical item. An Intelligence Hub Model is typically a standardized representation of an asset, process, product, or system. The Model is used to define the shape of the data independent of data sources. One or more Instances are created from a single Model. Connection Inputs are mapped to attributes in an Instance.

For example, a Model for a filling machine might including attributes for “Line”, “Filler Name”, “Current Speed”, “Current Volume”, “Current Production Order”, and “Current Product”. A factory with eight filling machines each would be modeled as a unique Instance.

Modeling Considerations:

When modeling consider the following

  • Keep it simple. Do not try to create the perfect Model. Intelligence Hub is flexible and the Model can be changed over time.
  • Assume that the Model will change, so start by modeling the minimum data payload for the respective use case. It is easier to add to a Model than to remove or change existing attributes.
  • Model asset hierarchy as attributes in a Model rather than creating many Models to define a hierarchy. For example, rather than creating a “Site” Model, with a single attribute, simply put a “Site” attribute in the machine Model. Excessive hierarchy will make creating and maintaining integrations more difficult.
  • Keep data types simple and uniform. To mitigate complexity, keep type information simple. When possible, treat numbers like integers or floats.
  • Consider templating Instances. Dynamic and Static Templates can be configured in the Intelligence Hub to ease the creation of many Instances.
  • Consider limiting the number of Instances. For example, if data is being obtained from a SQL query and each row is a single machine, then multiple Instances are not necessary. A single Instance that queries the rows is sufficient. Data may also be merged in a Pipeline as well as an Instance.
  • Consider using a single timestamp. It is often best to deliver the model with a single timestamp that is UTC and in epoch (milliseconds since midnight, January 1970).
  • OPC UA quality considerations. By default, the HighByte Intelligence Hub will not send data for an Instance if one of its required attributes has poor data quality.

Building Models:

  1. Navigate to Models and click the New Model button in the upper right corner

  2. Within the Details screen, specify the following:

    Name (Required): Component Object name as it will be displayed in the Intelligence Hub (Example Motor_Model)

    Description (Optional): Brief description of the Component Object

    Tags (Optional): Used to group like Component Objects together

    Group As: Used to organize Models

  3. Click the Next button

  4. On the Attributes screen enter the name of the attribute and optionally specify the following:

    Type: the data type of the attribute

    Array: specifies that the attribute value is an array

    Required: specifies whether the attribute must be mapped to an input

  5. Click the New Attribute button to create additional attributes

  6. When finished click the Submit button

Building Instances:

  1. Navigate to Instances and click the New Instance button in the upper right corner

  2. Within the Details screen, specify the following:

    Name (Required): Component Object name as it will be displayed in Intelligence Hub (Example Motor_123_Instance)

    Description (Optional): Brief description of the Component Object

    Tags (Optional): Used to group like Component Objects together

    Group As: Used to organize Instances

    Expand Arrays: Used to expand all arrays against an Instance’s attributes.

  3. Click the Next button

  4. On the Models screen, select the Model to be used as a reference for the Instance then Click the Next button

  5. On the Attributes screen, map the Attributes to Expressions using the drag and drop from the References

    Select the Reference Type

    Select the Reference Connection

    Select a specific Reference and drag into the Expression field

  6. When finished, click the Submit button

Instances can be templated to quickly create many Instances that have the same configuration.

Other related material:

Models

Instances

Templating