5 Fundamentals
5.1 Meta-model Mapping Approach
5.1.1 General
ISA-95 defines the meta-models to describe object models using UML notation (See Annex E). This standard defines mapping between the UML notation and the OPC UA meta-model to transform the object model defined in ISA-95 into an OPC UA Address Space Model. (See OPC 10000-3, 0, OPC UA Meta Model)

5.1.2 ISA95Class
ISA95Class is a concept to represent a classification of ISA95 Resource and is represented by a UML Class and an OPC UA ObjectType (see Table 2).
| ISA-95 | OPC UA | Description |
| UMLClass | ObjectType | Structure of the Class is defined by ObjectType. |
5.1.3 ISA95Object
ISA95Object is a concept to represent resources like a Role Base Equipment and is represented by a UML Class and an OPC UA ObjectType and OPC UA Objects (see Table 3).
| ISA-95 | OPC UA | Description |
| UMLClass | ObjectType | Structure of the ISA95Object is defined by associated Classes and in some case by a defined ObjectTypes, and an instance of the ISA95Object is represented by an Object of the ObjectType or base ObjectType. |
| Object |
5.1.4 ISA95Attribute
ISA95Attribute is a minimum set of industry-independent information and is described in the attribute table defined in ISA-95. ISA-95 doesn’t describe an attribute in UML. In OPC UA it can be represented by Attributes, VariableTypes, Variables, and Properties (see Table 4),
| ISA-95 | OPC UA | Description |
| Table of ISA95 Attribute | Attribute | ISA95ID, ISA95Description, and ISA95ValueAttribute are transformed into attributes of Object or DataVariable. Other Attributes are transformed into Properties of the Object or DataVariable. |
| Variable | ||
| VariableType | ||
| Property |
5.1.5 ISA95Property
ISA95Property is a concept to represent characteristics for domain specific information. Accordingly ISA-95 defines that attributes that are application or industry specific are to be modelled in terms of properties and represented in property classes in the model. ISA-95 doesn’t describe a property as an attribute in UML, but describes a property as a Class. In OPC UA it can be represented by VariableTypes and Variables (see Table 5)
| ISA-95 | OPC UA | Description |
| UMLClass | VariableType | Structure of the ISA95Property is defined by a VariableType, and an instance of the ISA95Property is represented by a DataVariable of the VariableType. |
| DataVariable |
5.1.6 Complex Value
5.1.6.1 General
OPC UA allows information to be represented as complex Variables (Variable with nested sub-variable) and/or as complex DataTypes, where a DataType has a structure or other special meaning associated with it. Each of the nested Variables can have a value that represents a simple base DataType such as an Integer or can represent a custom DataType such as a Currency or a structure.
The format of a value is represented by Attributes of Variables. This standard maps all value formats defined in ISA-95 into those attributes.
5.1.6.2 Array value
Arrays of values are represented by DataType, ValueRank, ArrayDimensions, and MaxArrayLength attribute of a VariableType. (See OPC 10000-3). The following examples illustrate the usage of these Attributes:
A set of values for a single dimension array of integers with 6 values
EBNF: [ 1 , 2 , 3 , 4 , 5 , 6]
OPC UA: DataType=Int32(any), ValueRank=OneDimension(1), ArrayDimensions=6, MaxArrayLength=6.
A set of values for a two dimension array of size 2x3
EBNF: [ [1 , 2] , [3 , 4] ,[5 , 6]]
OPC UA: DataType=Int32(any), ValueRank= 2, ArrayDimensions=[2,3], MaxArrayLength=6
A set of values for a four dimension array of size 2x3x4x5
EBNF: omitted for simplicity
OPC UA: DataType=Int32(any), ValueRank= 4, ArrayDimensions=[2,3,4,5], MaxArrayLength=120
5.1.6.3 Range value
Ranges of values are represented by Range DataType defined in OPC 10000-8. If the Range is an array, then ValueRank, ArrayDimensions, and MaxArrayLength attributes are utilized to indicate an array.
A simple range of values
EBNF: {0..100}
OPC UA : DataType=Range, ValueRank= Scalar (−1)
A non-continuous range of values
EBNF: {0 .. 100 , 200 .. 300 , 500 , 600 .. 650}
OPC UA : DataType=Range, ValueRank= OneDimension (1), ArrayDimensions=4
5.1.6.4 Series value
A set of allowed values is defined in EnumStrings and the EnumValues Standard Property of Enumeration DataType.
A series of values that defines colours.
EBNF: <Red, Green, Yellow, Blue>
OPC UA : Array of LocalizedText that is a list of the enumeration strings is set to EnumStrings
5.1.6.5 Structured value
Structured data element is defined in custom DataType derived from Structure DataType or is represented by nested VariableType that has Variables as children.
A structured data element represented as flattened Property Name
Struct Simple {
Integer Position;
Float LastValue;
Boolean Exists;
String Comment;}
ISA-95: Simple.Position, Simple.LastValue, Simple.Exists, Simple.Comment
| OPC UA: | ABC DataType (custom DataType) derived from Structure DataType is defined, with the given structure. |
A structured data element represented by creating an ISA95Property with no data value with nested child ISA95Properties and identification of element.
Struct Simple {
public int Position;
public double LastValue;
public bool Exists;
public string Comment;}
ISA-95: Property [ID=”Simple”]
Property [ID=”Simple”]\ Property [ID=”Position”]
Property [ID=”Simple”]\ Property [ID=”LastValue”]
Property [ID=”Simple”]\ Property [ID=”Exists”]
Property [ID=”Simple”]\ Property [ID=”Comment”]
| OPC UA: | All ISA95Properties are represented as Variables and Simple property points to Position, LastValue, Exists, and Comment properties by HasComponent or subtypes of HasComponent ReferenceType. (See clause 4.3.8.6) |
A combination of a) and b) where a structured data element represented by creating a ISA95 Property with a data value that is a structured data element and with nested child properties and identification of element (see Figure 14). This is the preferred method for modelling complex information. [Note: the figure flow the template defined in OPC 10000-3 with some extensions defined in Annex F]

5.1.7 ISA95Reference
5.1.7.1 General
ISA95Reference is a concept that represents a relationship between modelling targets and is represented by UML Association and by OPC UA ReferenceType (see Table 6).
| ISA-95 | OPC UA | Description |
| UMLAssociation | ReferenceType | ISA95Reference is defined by ReferenceType. Name of the association may be a name of ReferenceType, and cardinality of the association may be mapped into a Modelling Rule of target Node of the Reference. |
5.1.7.2 UMLAssociation
UMLAssociation represents an association between elements of a class and elements of another or the same class. The UMLAssociation is transformed to subtypes of OPC UA NonHierarchicalReferences (see Table 7).
| ISA-95 | OPC UA | Description |
| UMLRole | SourceNode, TargetNode | UMLRole may be transformed into the restrictions of ReferenceType. |
| UMLCardinality | N/A | Standard ModellingRules only affect instance declaration specified by subtypes of Hierarchical References. |
| UMLAssociation Name | BrowseName | A name defined in ISA-95 may be changed. InverseName will be defined. |
Instance Nodes that are referenced by NonHierarchicalReferences are not instantiated when an instance of an ObjectType or VariableType is created.
5.1.7.3 UMLGeneralization
UMLGeneralization is used to describe that an element of UMLClass is a specialized type of the super UML Class, it mapped to the OPC UA HasSubtype ReferenceType.
5.1.7.4 UMLDependence
UMLDependence is a weak association that is used to describe a modelling element that depends on another modelling element. This standard doesn’t support this concept in general terms. Depending on the nature of the dependence it may be modelled as a custom reference.
5.1.7.5 UMLAggregation
UMLAggregation is used to describe that an element of the class is made up of elements of other classes; it is mapped to subtypes of the OPC UA Aggregates ReferenceType (see Table 8).
| ISA-95 | OPC UA | Description |
| UMLRole | SourceNode, TargetNode | UMLRole may be transformed into the restrictions of ReferenceType. |
| UMLCardinality | N/A | Standard ModellingRules only affect instance declaration specified by sub-types of Hierarchical References. |
| UMLAssociation Name | BrowseName | A name defined in ISA-95 may be changed. InverseName will be defined. |
5.1.7.6 UMLComposite
UMLComposite is used to describe a strong form of aggregation, it is mapped to OPC UA HasComponent or subtypes of OPC UA HasComponent ReferenceType (see Table 9).
| ISA-95 | OPC UA | Description | |
| UMLRole | SourceNode, TargetNode | UMLRole may be transformed into the restrictions of ReferenceType. | |
| UMLCardinality | ModellingRule | 1 | Mandatory |
| 0..1 | Optional | ||
| 0..N | OptionalPlaceholder | ||
| 1..N | MandatoryPlaceholder | ||
| UMLAssociation Name | BrowseName | A name defined in ISA-95 may be changed. InverseName will be defined. | |
5.2 Model Overview
Figure 15 illustrates an overview of ISA-95 OPC UA Information Model. This overview is not complete, additional figures in later section will provide additional details of the information model. ISA-95 Base Information Model defines all models that are commonly utilized in this standard. This model includes a data representation model that is based on UN/CEFACT Core Data Type (CDT) (see UN/ECE). ISA-95 Common Object Model defines the models that represent all ISA95Resources and relationship between them.
