Profiles and ConformanceUnits

The OPC Foundation specifies a ConformanceUnit as follows:

Each ConformanceUnit represents a specific set of features (e.g. a group of services, portions of services or information models) that can be tested as a single entity. ConformanceUnits are the building blocks of a Profile. Each ConformanceUnit can also be used as a test category. For each ConformanceUnit, there would be a number of TestCases that test the functionality described by the ConformanceUnit. The description of a ConformanceUnit is intended to provide enough information to illustrate the required functionality, but in many cases to obtain a complete understanding of the ConformanceUnit the reader may be required to also examine the appropriate part of OPC UA.

As well, the Profiles are specified:

A Profile is a named aggregation of ConformanceUnits and other Profiles. To support a Profile, an application has to support the ConformanceUnits and all aggregated Profiles. The definition of Profiles is an ongoing activity, in that it is expected that new Profiles will be added in the future. An OPC UA Application will typically support multiple Profiles. Multiple Profiles may include the same ConformanceUnit. Testing of a Profile consists of testing the individual ConformanceUnits that comprise the Profile.


Summarized: Profiles specify the feature set, which shall be supported by an OPC-UA application. Currently, the following Profiles will be supported:

  • Nano Embedded Device 2017 Server Profile

  • Micro Embedded Device 2017 Server Profile

Now all Profiles and ConformanceUnits belonging to these are summarized and explained corresponding to the definition of the OPC foundation.

Profiles

Micro Embedded Device 2017 Server Profile

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Profile

Embedded DataChange Subscription Server Facet

no

Profile

Nano Embedded Device 2017 Server Profile

no

Session Services

Session Minimum 2 Parallel

no

Nano Embedded Device 2017 Server Profile

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Profile

Core 2017 Server Facet

no

Profile

UA-TCP UA-SC UA-Binary

no

Base Information

Base Info Custom Type System

yes

Base Information

Base Info Diagnostics

yes

Embedded DataChange Subscription Server Facet

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Monitored Item Services

Monitor Basic

no

Monitored Item Services

Monitor Items 2

no

Monitored Item Services

Monitor QueueSize_1

no

Monitored Item Services

Monitor Value Change

no

Subscription Services

Subscription Basic

no

Subscription Services

Subscription Minimum 1

no

Subscription Services

Subscription Publish Discard Policy

no

Subscription Services

Subscription Publish Min 02

no

Core 2017 Server Facet

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Profile

SecurityPolicy – None

no

Profile

User Token – User Name Password Server Facet

no

Address Space Model

Address Space Atomicity

no

Address Space Model

Address Space Base

no

Address Space Model

Address Space Full Array Only

no

Attribute Services

Attribute Read

no

Attribute Services

Attribute Write Index

yes

Attribute Services

Attribute Write Values

yes

Base Information

Base Info Core Structure

no

Base Information

Base Info Estimated Return Time

yes

Base Information

Base Info OptionSet

yes

Base Information

Base Info Placeholder Modelling Rules

yes

Base Information

Base Info Selection List

yes

Base Information

Base Info Server Capabilities

yes

Base Information

Base Info ValueAsText

yes

Discovery Services

Discovery Find Servers Self

no

Discovery Services

Discovery Get Endpoints

no

Security

Security Administration

yes

Security

Security Role Server Authorization

yes

Session Services

Session Base

no

Session Services

Session General Service Behaviour

no

Session Services

Session Minimum 1

no

View Services

View Basic

no

View Services

View Minimum Continuation Point 01

no

View Services

View RegisterNodes

no

View Services

View TranslateBrowsePath

no

UA-TCP UA-SC UA-Binary

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Protocol and Encoding

Protocol UA TCP

no

Protocol and Encoding

UA Binary Encoding

no

Protocol and Encoding

UA Secure Conversation

no

SecurityPolicy – None

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Security

AsymmetricEncryptionAlgorithm_None

no

Security

AsymmetricSignatureAlgorithm_None

no

Security

KeyDerivationAlgorithm_None

no

Security

Security None CreateSession ActivateSession

no

Security

Security None CreateSession ActivateSession 1.0

yes

Security

SecurtyPolicy_None_Limits

no

Security

SymmetricEncryptionAlgorithm_None

no

Security

SymmetricSignatureAlgorithm_None

no

User Token – User Name Password Server Facet

Group

Conformance Unit/ Profile Tilte

Optional

Group

Conformance Unit/ Profile Tilte

Optional

Security

Security Invalid user token

no

Security

Security User Name Password

no

ConformanceUnits

Address Space Model

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Address Space Base

Support the NodeClasses with their Attributes and References as defined in Part 3. This includes for instance: Object, ObjectType, Variable, VariableType, References and DataType.

yes
(Core 2017 Server Facet)

Address Space Atomicity

Support setting the NonatomicRead and NonatomicWrite flags in the AccessLevelEx Attribute for Variable Nodes to indicate whether Read or Write operations can be performed in atomic manner. If the flags are set to '1', atomicity cannot be assured.

yes
(Core 2017 Server Facet)

Address Space Full Array Only

Support setting the WriteFullArrayOnly flag in the AccessLevelEx Attribute for Variable Nodes of non-scalar data types to indicate whether write operations for an array can be performed with an IndexRange.

yes
(Core 2017 Server Facet)

Attribute Services

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Attribute Read

Supports the Read Service to read one or more Attributes of one or more Nodes. This includes support of the IndexRange parameter to read a single element or a range of elements when the Attribute value is an array.

yes
(Core 2017 Server Facet)

Attribute Write Values

Supports writing to values to one or more Attributes of one or more Nodes.

no
(optional in Core 2017 Server Facet)

Attribute Write Index

Supports the IndexRange to write a single element or a range of elements when the Attribute value is an array and partial updates is allowed for this array.

no
(optional in Core 2017 Server Facet)

Base Information

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Base Info Core Structure

The Server supports the Server Object, ServerCapabilities and supports the OPC UA AddressSpace structure.

yes
(Core 2017 Server Facet)

Base Info Custom Type System

The Server supports custom types (i.e. types that are derived from well-known ObjectTypes, VariableTypes, ReferenceTypes or DataTypes). Supporting this conformance unit requires that the custom types with their full inheritance tree are exposed in the AddressSpace.

no
(optional in Nano Embedded Device 2017 Server Profile)

Base Info Server Capabilities

The Server supports publishing of the Server limitation in the ServerCapabilities, including MaxArrayLength, MaxStringLength, MaxNodePerRead, MaxNodesPerWrite, MaxNodesPerSubscription and MaxNodesPerBrowse.

no
(optional in Core 2017 Server Facet)

Base Info Diagnostics

The Server supports the collection of diagnostic information. The EnabledFlag in the ServerDiagnostics Object can be set TRUE and in that case all static and dynamic Objects and Variables for diagnostic data as defined in UA Part 5 are supported.

no
(optional in Nano Embedded Device 2017 Server Profile)

Base Info Estimated Return Time

Server supports the EstimatedReturnTime Property. It indicates the time at which the Server is expected to have a ServerStatus.State of RUNNING_0. Clients can use this information to govern the reconnect logic.

no
(optional in Core 2017 Server Facet)

Base Info OptionSet

The Server supports the VariableType OptionSet.

no
(optional in Core 2017 Server Facet)

Base Info Placeholder Modelling Rules

The Server supports defining custom Object or Variables that include the use of OptionalPlaceholder or MandatoryPlaceholder modelling rules.

no
(optional in Core 2017 Server Facet)

Base Info ValueAsText

The Server supports the Property ValueAsText for enumerated DataTypes.

no
(optional in Core 2017 Server Facet)

Base Info Selection List

The Server supports Variables of the SelectionListType VariableType.

no
(optional in Core 2017 Server Facet)

Discovery Services

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Discovery Get Endpoints

Support the GetEndpoints Service to obtain all Endpoints of the Server.
This includes filtering based on Profiles.

yes
(Core 2017 Server Facet)

Discovery Find Servers Self

Support the FindServers Service only for itself.

yes
(Core 2017 Server Facet)

Monitored Item Services

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Monitor Basic

Support the following MonitoredItem Services: CreateMonitoredItems, ModifyMonitoredItems, DeleteMonitoredItems and SetMonitoringMode.

yes
(Embedded DataChange Subscription Server Facet)

Monitor Items 2

Support at least 2 MonitoredItems per Subscription where the size of each MonitoredItem is at least equal to size of Double.

yes
(Embedded DataChange Subscription Server Facet)

Monitor QueueSize_1

This ConformanceUnit does not require queuing when multiple value changes occur during a "publish period".
I.e. the latest change will be sent in the Notification.

yes
(Embedded DataChange Subscription Server Facet)

Monitor Value Change

Support creation of MonitoredItems for Attribute value changes. This includes support of the IndexRange to select a single element or a range of elements when the Attribute value is an array.

yes
(Embedded DataChange Subscription Server Facet)

Protocol and Encoding

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Protocol UA TCP

Support the UA TCP transport protocol as defined in UA Part 6.

yes
(UA-TCP UA-SC UA-Binary)

UA Binary Encoding

Support UA Binary Encoding. Values of these data types are encoded in compact binary formats, contiguously and without tagging. I.e. the receiver is assumed to understand the structure it is decoding.

yes
(UA-TCP UA-SC UA-Binary)

UA Secure Conversation

Support UA Secure Conversation specified in UA Part 6.

yes
(UA-TCP UA-SC UA-Binary)

Security

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Security Administration

Allow configuration of the following Security related items (when they apply).

  • select the allowed User identification policy or policies (e.g. User Name/Password or X509).

  • enable/disable the security policy "None" or other security policies.

  • enable/disable endpoints with MessageSecurityMode SIGN or SIGNANDENCRYPT.

  • set the permitted certification authorities.

  • define how to react to unknown Certificates.

  • allow accepting any valid Certificate

no
(optional in Core 2017 Server Facet)

Security Role Server Authorization

Restrict access based on the configured Roles and permissions.

no
(optional in Core 2017 Server Facet)

Security None CreateSession ActivateSession

When SecurityPolicy=None, the CreateSession and ActivateSession service allow for a NULL/empty signature and do not require Application Certificates or a Nonce.

yes
(SecurityPolicy – None)

Security None CreateSession ActivateSession 1.0

The Client can connect to Servers that require a certificate being passed on Session establishment. The Client in this case will first try without a certificate and if this fails present a certificate.

no
(optional in SecurityPolicy – None)

Security User Name Password

A Client uses a User Name/Password combination.
The token will be encrypted if required by the security policy of the User Token Policy or by the security policy of the endpoint. An unencrypted token either requires message encryption or means outside the scope of OPC UA to secure the identity token so that it cannot be retrieved by sniffing the communication. One option would be a secure transport like a VPN.

yes
(User Token – User Name Password Server Facet)

Security Invalid user token

Servers shall take proper measures to protect against attacks on user identity tokens. Such an attack is assumed if repeated connection attempts with invalid user identity tokens happen. See ActivateSession Service in UA Part 4.

yes
(User Token – User Name Password Server Facet)

AsymmetricEncryptionAlgorithm_None

This algorithm does not apply.

yes
(SecurityPolicy – None)

AsymmetricSignatureAlgorithm_None

This algorithm does not apply.

yes
(SecurityPolicy – None)

KeyDerivationAlgorithm_None

This algorithm does not apply.

yes
(SecurityPolicy – None)

SymmetricEncryptionAlgorithm_None

This algorithm does not apply.

yes
(SecurityPolicy – None)

SymmetricSignatureAlgorithm_None

This algorithm does not apply.

yes
(SecurityPolicy – None)

SecurtyPolicy_None_Limits

DerivedSignatureKeyLength: 0

yes
(SecurityPolicy – None)

Session Services

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Session General Service Behaviour

Implement basic Service behaviour. This includes in
particular:

  • checking the authentication token

  • returning the requestHandle in responses

  • returning available diagnostic information as

requested with the 'returnDiagnostics'
parameter

  • respecting a timeoutHint

yes
(Core 2017 Server Facet)

Session Base

Support the Session Service Set (CreateSession,
ActivateSession, CloseSession) except the use of
ActivateSession to change the Session user. This
includes correct handling of all parameters that are
provided.
Note that for the CreateSession and ActivateSession
services, if the SecurityMode = None then:

  1. The Application Certificate and Nonce are
    optional.

  2. The signatures are null/empty.
    The details of this are described in Part 4.

yes
(Core 2017 Server Facet)

Session Minimum 1

Support minimum 1 Session (total).

yes
(Core 2017 Server Facet)

Session Minimum 2 Parallel

Support minimum 2 parallel Sessions (total for all Clients).

yes
(Micro Embedded Device 2017 Server Profile)

Subscription Services

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

Subscription Basic

Support the following Subscription Services: CreateSubscription, ModifySubscription, DeleteSubscriptions, Publish, Republish and SetPublishingMode.

yes
(Embedded DataChange Subscription Server Facet)

Subscription Minimum 1

Support at least 1 Subscription per Session.
This number has to be supported for all of the minimum required sessions.

yes
(Embedded DataChange Subscription Server Facet)

Subscription Publish Min 02

Support at least 2 Publish Service requests per Session.
This number has to be supported for all of the minimum required sessions. Support of a NotificationMessage retransmission queue is not required; if not available the Republish Service returns Bad_MessageNotAvailable.

yes
(Embedded DataChange Subscription Server Facet)

Subscription Publish Discard Policy

Respect the specified policy for discarding Publish Service requests. If the maximum number of Publish Service requests has been queued and a new Publish Service request arrives, the "oldest" Publish request has to be discarded by returning the proper error.

yes
(Embedded DataChange Subscription Server Facet)

View Services

Title

Description

Mandatory in any Profile

Title

Description

Mandatory in any Profile

View Basic

Support the View Service Set (Browse, BrowseNext).

yes
(Core 2017 Server Facet)

View TranslateBrowsePath

Support TranslateBrowsePathsToNodeIds Service.

yes
(Core 2017 Server Facet)

View RegisterNodes

Support the RegisterNodes and UnregisterNodes Services as a way to optimize access to repeatedly used Nodes in the Server's OPC UA AddressSpace.

yes
(Core 2017 Server Facet)

View Minimum Continuation Point 01

Support minimum 1 continuation point per Session.
Server
View Minimum

yes
(Core 2017 Server Facet)

Â