Jump to: navigation, search

Entity Data Model


Revision as of 15:18, 18 June 2013 by KNO (Talk | contribs) (MetaClass & Inheritance)

Introduction

Objectives

In an industrial environment we quite often need to

  • describe an industrial plant consisting of a bunch of different parts, each having a certain purpose and set of properties, and which are related in various ways
  • manage process or maintenance data of the plant and its features
  • do a high-performance cost-benefit analysis and create key performance indicators

Therefore we need to

→ „Dissemble“ the system into theoretical blocks representing the real as well as intangible parts of the system.

→ Identify the necessary properties of the blocks.

→ Think about how blocks are possibly related to each other.

→ Think about the functions and features of blocks.

Plant picture

Parts of a plant
Example plant and parts

Lets start with a simple picture and assume that our plant consists of a pump and an armature. Both equipments exhibit certain technical or other properties, which our datamodel must contain in some form. Additionally the datamodel has to provide mechanism to indicate the circumstances that both equipments are parts of the plant and maybe even be related to each other.

In this first exemplary plant, we take account of a pump and armature and find definitions as shown in the picture on the right. Looking closer at the PUMP block reveals its properties and property values, this information is explicitely depicted as

PUMP block details

Of course, a real plant consists of multiple pumps, each described with the same set of properties (TAG, vendor, power, maintenance data). The real pumps in the plant are distinguished by different property values as given in the table.

Pump TAG Vendor Power Maintenance
#1 P0815 Andritz 2 kW Yearly
#2 P0816 Andritz 5 kW Monthly
#3 P0817 Sulzer 4 kW Yearly

We can redefine or extend our objectives by

  • Design a descriptive model including all required blocks and properties of the system
  • An object in this model specifies possible properties for a certain part of the real system

From the plant picture to UBIK®

Transition

Transition plant picture
Transition from plant picture into data model

The transition from the plant picture into an object- / data - model logically happens via an intermediate layer and finally leads to our first definition


UBIK® MetaModel
A descriptive model, where objects provide information about the aspects of the data, is also called “Metamodel”.


So far we have identified

Checked Theoretical blocks representing the parts of the system

Checked Necessary properties of these blocks

An important aspect of the datamodel has not been discussed yet, namely how are the blocks (=MetaClasses) related to each other?

Relating objects

Relations of plant parts
Possible relations between parts of plant

Assuming that all three pumps are clearly parts of the plant „UBIK1“, the descriptive model has to be extended in order to include this information as well. In our "table" view we account for this by adding a property to the „Pump“ block refering to the plant. This additional property represents the link information between the pumps #1 - #3 and the plant „UBIK1“.

"Relation pump and plant"    IC ArrowGreenRight.png   
Pump TAG Vendor Power Maintenance Plant
#1 P0815 Andritz 2 kW Yearly UBIK1
#2 P0816 Andritz 5 kW Monthly UBIK1
#3 P0817 Sulzer 4 kW Yearly UBIK1



UBIK® MetaModel
Add a metaproperty „Plant“ to the MetaClass „Pump“, where the values of the MetaProperty refer to the plant „UBIK1“.



Now we introduce two armatures with the properties from the descriptive model above. Assume that, due to the piping, pumps #1 and #2 are controlled by both armatures, whereas A200 regulates pump #3 only. This situation is depicted below already indicating, that the implementation of the relation requires a more complex structure. We find three pumps on the left side and two armatures on the right side of the relation, respectively. Managing this control relation in the Metamodel requires to introduce a relation block „CONTROL“ with two MetaProperties „Armature#“ and „Pump#“

IL DOM 006.png IC ArrowGreenRight.png
Armature# Pump#
A100 P0815
A100 P0816
A200 P0815
A200 P0816
A200 P0817
IC ArrowGreenRight.png UDOM Relating3.png



UBIK® MetaModel
Managing the control relation in the Metamodel requires to introduce a relation block „CONTROL“ with two MetaProperties „Armature#“ and „Pump#“.



Lets have a closer look at the characteristics of the two methods relating objects:

Pump TAG Vendor Power Maintenance Plant
#1 P0815 Andritz 2 kW Yearly UBIK1
#2 P0816 Andritz 5 kW Monthly UBIK1
#3 P0817 Sulzer 4 kW Yearly UBIK1
Armature# Pump#
A100 P0815
A100 P0816
A200 P0815
A200 P0816
A200 P0817
IC ArrowGreenDown.png IC ArrowGreenDown.png
each pump refers exactely to the one plant two pumps are controlled by two armatures
one pump is controlled by one armature
IC ArrowGreenDown.png IC ArrowGreenDown.png
Cardinality 1 : n Cardinality n : n



UBIK® MetaModel
Data model built and described by MetaClasses and MetaProperties related to each other, either by 1 : n or n : n cardinality.


Entity Relationship Model (ER model)

ER-model
Entitiy-Relationship-Model

In software engineering, such an abstract descriptive model is called Entity–Relationship model (ER model) and describes the entities (=UBIK® MetaClasses) and relationships between them. Usually this information is depicted in an entity-relationship-diagram (ERD), which draws the corresponding data objects and relations as rectangles and lines between them, respectively. The MetaClass „CONTROL“ can be drawn as diamond, signalling the additional block between these two MetaClasses, which is always needed for each relation of cardinality n : n.

About References and Relations

References and Relations
UBIK® References and Relations

Concluding and summarizing the above discussion we finally depict the two possible types of relation in the UBIK® Metamodel.


UBIK® MetaModel
  • 1 : n relationships are called “References” (one pump refers to exactly one plant)
  • n : n relationships are called “Relations” (two pumps are controlled by two armatures, one pump is controlled by one armature)



Congratulations, we integrated another important issue in our data- and object model:

Checked Relationships between blocks (MetaClasses)

MetaClasses and Instances

So far MetaClasses define the structure of and possible relations between the objects in our data model. In the next step it will be shown how to create actual objects of these blueprints and how to deal with it.

Instances

UBIK Instance model
UBIK® Instance Model

Populating our data modell with real data from a plant means, that we create objects as defined by the MetaClasses. These objects are called instances, and leads us to the next definition.

UBIK® MetaModel

An instance is the actual „existing“ occurrence of the described object (within the metamodel). The instances can be differentiated by their property values.


MetaClass & MetaProperties

Relation MetaClass / MetaProperty
Relation MetaClass / MetaProperty
Usage MetaClass / MetaProperty
Usage MetaClass / MetaProperty

MetaProperties are simple assigned to a MetaClasses via relations, pretty similar as MetaClasses are related to each other. From there, we obviously find that

  • a MetaProperty can be related to multiple MetaClasses
  • be used multiple times for defining a MetaClass' structure

MetaClass & Inheritance

Inheritance MetaClass
Inheritance MetaClass

We can build up a hierarchical tree of MetaClasses, where MetaClasses pass on MetaProperties to child-MetaClasses ("Inheritance").

Pump TAG Vendor Power Maintenance Plant
#1 P0815 Andritz 2 kW Yearly UBIK1
#2 P0816 Andritz 5 kW Monthly UBIK1
#3 P0817 Sulzer 4 kW Yearly UBIK1
IC ArrowGreenDown.png
Piston pump Stroke freq.
#1 UBIK1
#2 UBIK1
#3 UBIK1
IC ArrowGreenRight.png
Pump TAG Vendor Power Maintenance Plant
#1 P0815 Andritz 2 kW Yearly UBIK1
#2 P0816 Andritz 5 kW Monthly UBIK1
#3 P0817 Sulzer 4 kW Yearly UBIK1

MetaClass & Classification

Classification
Classification

Conclusion