Asset Service

1. Introduction

Assets are real world objects that are part of our environment, place of work, economic activity or business process. In IoT paradigm assets are simply termed as thing that can produce value e.g. people can be assets because of the value they bring to organization. Assets can be classified as:

  • Tangible Asset: Tangible assets are those assets that have a physical form and can be seen/ touched e.g. a building is a tangible asset.

  • Intangible Asset: Intangible assets are non-physical and often intellectual in nature, e.g. design blueprint, patents, trademarks etc.

TCUP Asset Service is a sophisticated platform for modelling of assets, their relationship with other assets, their properties and mapping of asset properties with IoT devices and sensors. This allows the digital representation of physical entity.

Asset service provides Asset Life-cycle Management by allowing to create, update and delete assets during its lifecycle.

1.1 Intended Audience

The intended audience of this document is anyone who wants to have an overview of TCUP Asset Service. After going through this document, the user will understand the capability of TCUP Asset Service in IoT platform.

2. Key Concepts

In order to use the Asset Service and modelling application in terms of asset, a user needs to understand some of the basic concepts and building blocks of Asset Service. Please refer to the following section for the concepts:

2.1 Asset Domain

Asset Domain is logical grouping of projects that are related to a common single business domain. Everything on Asset Service must belong to a domain. For example, all manufacturing related projects can be grouped under a domain called “Manufacturing”. User can create domain using API by specifying the domain name. Image can also be uploaded against a domain.

2.2 Project

Project consists of logically associated asset types and asset definition within an organization. Projects are created by calling API by specifying the project name and the domain name under which the project is to be created.

This allows easy navigation and query of asset definitions within an organization. Geofence boundaries can be declared under project level and later assets under corresponding geofencing boundaries can easily be fetched.

2.3 Asset Type

Asset Type is an abstract definition of Asset in terms of its properties which are created inside a project. We can think this as an equivalent to a class definition in an object oriented language. User has to define the asset type property in the JSON. The JSON can accept the following asset type properties:

  1. User defined - Will accept any value for the custom property defined by user for example the length of a building.

  2. Lookup list - When creating asset property of this type, then comma (,) separated list must be given. Value of this property for any asset must be from that list.

  3. Observation - An attached sensor can send values to this property.

  4. Aggregate - Value will be calculated from other properties.

  5. External - Any external URL can be referred for this property to be updated.

  6. Script - Script expressions will be executed at runtime and updates that asset property. This expression contains other asset property names but their data types should be numeric for the expression.

Any number of asset properties can be defined for an Asset Type. Meta property for a property of an asset type can be defined. Also the user has the option to set some properties to be mandatory or optional, editable or non-editable, viewable or non-viewable etc. There is also an option to create asset type template and use that template to create different asset types.

There are also facilities to export/ import asset type with /without assets to/ from excel files

2.4 Asset Type Template

Templates are predefined abstract definitions of Asset Types. Common base properties of similar Asset Types can be defined as Templates. This allows easy definition of Asset Types. From one asset template multiple asset types can be derived.

User has the option to create Asset Type template by setting ‘istemplate’ parameter as ‘true’ while creating Asset Type.

2.5 Asset

Asset are concrete instances of a particular asset type. Under a particular asset type, users can create assets individually or they can upload csv/excel file to create bulk assets.

If asset’s property is of OBSERVATION type then users need to associate external sensor to that asset. Each observation asset property will be mapped with a sensor’s observed property. User can do this mapping during asset creation or after asset creation. If this mapping is not present, then external sensors won’t be able to update the observation data of the asset.

Apart from creating the asset, user has option to update, query and delete an asset.

2.6 Asset Type Relationship

Any number of relationships can be created between any two pair of Asset or Asset Types using this feature. Time series stress of all relationship created and updated can be maintained. This can be used to create complex graphs of Asset and Asset Type.

2.7 Asset Event Type

Anything that happens on an asset is called an event. These events are categorized into various types which in TCUP is defined as ‘event types’. An event type needs to be created before recording any event. Various examples of event types are ‘car start’, ‘sudden braking’, ‘over speeding’ etc. Events for each event type can be recorded in two ways:

  1. Event Rules - Event rules are defined on asset property level. This is done by defining logical expressions using different properties of that asset. The logical expression gives a binary output. When the expression evaluates to “True”, an event is recorded along with the timestamp.

Example – If we want to record the times when the temperature of asset A went above 30 degree centigrade, we create an event type - “Temp above 30”. We then create an event rule on asset A with formulae “Temp>30”. Whenever the temperature of asset A goes beyond 30 degree centigrade, an event is recorded with event type “Temp above 30” and corresponding time.

  1. Event Triggers (External) - Event identified by external applications for a pre-defined event type can be recorded on Asset Service by triggering API

Example – If any external system similar to CEP and MR, or CEP and MR themselves are detecting event types based on sensor data, the same can be recorded as asset event. This can either be done directly posting to API or via Action service.

2.8 Asset Event

Anything planned or unplanned that happens on an asset, is called an event. User can create event on asset and query the events that has occurred. Events recorded on asset service for each asset is a time series data and can be represented graphically.

Example – When the engine of a car starts, the event can be recorded as ‘car start’. Similarly when the engine stops, the event can be recorded as ‘car stop’.

3. Functional Capabilities

Asset Service provides the following functional capabilities:

  • Create and maintain Asset Type definitions

    • Create, update, delete and query Asset Type definitions.

    • Define relationships between different Asset Types.

    • Associate/ de-associate an Event Rule with an Asset Type.

    • Create Asset Type template and use this to create Asset Type instances.

    • Query asset counts per asset types for a particular project.

    • Upload images to an asset type.

    • Create property meta for an assettype property and search, delete operations can be done.

    • Export assettypes (with/without assets) to excel file for export/import.

    • Search facility among assettypes based on various parameters.

    • Ability to share assettypes to other users.

  • Create and maintain Asset definitions

    • Define and register Asset instances in the system. Create relationship between assets and update and delete assets.

    • Asset Service provides a rich query capability on registered asset based on value of asset properties. A user can query an asset based on different search criteria such as Asset Type ID or name, creation time, update time, location, asset ID/ name, asset domain ID, property name names (with/without values), meta property names (with/without values), sensor name, relationshiptype name, business Keys, relation names, parent assetid, created by etc. It is possible to navigate to the root of an asset hierarchy and also navigate and query all the child assets in an asset hierarchy down to the lowermost leaf node in the hierarchy.

    • Map an asset property to an external data source such as a sensor or an external web service URL.

    • Read and/ or update the latest values of all asset properties

    • Asset Service supports aggregate function such as sum, minimum, maximum, average and count operations on asset properties.

    • Export and import assets from external files – excel and csv

    • Ability to locate asset in a hierarchy at any level.

    • Export/Import assets to/from excel/csv format.

    • Recursively children assets delete capability from parent asset.

    • Ability to export/import a complete asset hierarchy with required types, relations, sensor mapping under a domain to/from zip file across tenant.

    • Ability to share assets to other users.

  • Record events associated with an Asset instance

    • Asset service enables creation of event objects and store event specific data and metadata along with time stamp as a time series.

    • Asset service provides query capabilities to retrieve events recorded against an asset instance

4. Purpose/Usage

TCUP Asset Service forms the foundation for building smart IoT and industrial IoT applications and digital twins. It provides an asset or “Thing” centric view of an IoT applications and its associated data. Users can view and navigate the asset hierarchy and understand the asset domain clearly. Users can use this service to define, describe and share information about the real-word assets involved in any IoT application.

Asset Service provides capability to converge the Information Technology and Operational Technology aspect by mapping sensor data to asset models. It allows linking of actual asset data (in IT systems) and its corresponding time series data in OT systems. This includes linking of asset property data to sensor observation data stored in TCUP Sensor Observation Service.

Many applications can be built simply using Asset Service as modelling tool.

5. Examples

5.1 Energy Usage Monitoring

Consider an example where we are trying to build a remote energy usage monitoring application for an office building. Asset service is used to model the building.

Asset Types are defined for the building locations (cities) and buildings. The definition of a building will have the property definitions for height, number of floors, zones, area, temperature, aggregate temperature, resource consumption values etc. Some of the properties can be mapped on to sensor observations and some properties are defined as aggregation of actual values and some are calculated using user defined scripts. The table below shows an example “Building” Asset Type definition

Property Name

Property Type

Height

USER_DEFINED

Width

USER_DEFINED

Area

SCRIPT (Height * Width)

Zone

LOOKUP (EAST, WEST, SOUTH, NORTH)

Temperature

OBSERVATION

AggregateTemp

AGGREGATE

Link

AGGREGATE

Once the Asset Type has been defined, concrete asset instances can be created. For example a building called ‘Victoria Building’ can now be created based on the Asset Type called “Building”.

The Area will be calculated at run time based on the value of the provided height and width.

The value of the temperature will come from an external sensor attached with the asset.

Aggregate value (say average) will be calculated at the building level as an aggregate of all the floor level temperature measurements.

For Link property an URL will be provided and at run time the URL will be executed and value will get stored.

In Addition user can create a rule on the ‘Building’ type. A specific rule is to be executed when for example the ‘Temperature’ of each asset of building types exceeds 50 degree Celsius.

5.2 Industrial Use Case - Smart Factory

Asset Service can be used for Industry 4.0 uses cases such as Smart Factory. Consider an example where data from CNC machines in a factory is collected and analyzed for tracking operational efficiency metrics. The objective is to determine Overall Equipment Effectiveness, Availability, Performance and Quality of the CNC machines. Additionally there is a need to record all machine alerts and determine cost of operations based on data captured.

Such a use will make use of various TCUP services such as Asset Service, Sensor Observation Service, Message Routing, Complex Event Processing and Action Service. Asset Service is used to model the factory, work cell, and machines in each work cell within the factory. Asset Types can be created to model the organization, division, plant, work cell CNC Machine, Job Card, etc.

An Asset Type created for defining CNC Machines can have the following properties:

Property Name

Property Type

Inv_No

USER_DEFINED

IP_Address

USER_DEFINED

Type

USER_DEFINED

Make

USER_DEFINED

Number_of_Axis

USER_DEFINED

Image

USER_DEFINED

Controller

USER_DEFINED

Number_of_Spindle

USER_DEFINED

Machinestatus

USER_DEFINED

The properties recorded under Axis of CNC Machine are as below:

Property Name

Type

Name

USER_DEFINED

Status

Script

Feedrate

OBSERVATION

Absolute_Position

OBSERVATION

Machine_Position

OBSERVATION

Distance_to_Go

USER_DEFINED

Servo_Load

OBSERVATION

Tool_Tip_Absolute_Position

OBSERVATION

Axis_Speed

OBSERVATION

For the above CNC Machine type definition, properties whose data needs to come from OT systems are mapped to sensor/ tag values as recorded in a data historian. The CNC machines were setup to post sensor data to the historian (e.g. TCUP SOS service) and mapped to asset property data. The historical data can be processed using a custom application built on TCUP. Overall equipment effectiveness, availability, performance and quality can be calculated using user provided logic and scripts. The historical data for the same can be visualized, charted and plotted using a time series visualization tool such as TCUP Data Explorer.

6. Reference Document

Please refer to the following documents for more details about this service:

  1. User guide.

  2. API Guide