Difference between revisions of "Robustness"

From UaCapabilities
Jump to: navigation, search
(Detection of Errors, Recovery)
Line 25: Line 25:
[http://opcfoundation.org/UA-Profile/Client/Core '''Core Client Facet''']
[http://opcfoundation.org/UA-Profile/Client/Core '''Core Client Facet''']
[http://opcfoundation.org/UA-Profile/Server/CoreServer '''Core Server Facet''']
[http://opcfoundation.org/UA-Profile/Server/CoreFacet '''Core Server Facet''']

Latest revision as of 06:38, 21 September 2015


UA fw Robustness.JPG

OPC UA includes several features that ensure the robustness of OPC UA communication and that are integrated in different layers of the OPC UA Framework. It includes

  • Error detection and handling on transport and service level,
  • Buffering of data so that they are not lost during a network connection
  • Auditing – i.e., the support for security audit trails with traceability between Client and Server audit logs., and
  • Availability of diagnostic information.

Note – The Robustness features are specified as part of the Services in OPC UA Part 4.

Required Robustness Capabilities

Detection of Errors, Recovery


  • Handle error conditions including violations of resource limits and return status information as specified.
  • Recover from communication failures.
  • Limit the number of client connections, subscriptions and service calls as appropriate for the target platform.
  • Use continuation points if a request cannot be fully answered with a single response.
  • Maintain lifetime of Sessions and Subscriptions based on their configured timer and independent from transport connections.
  • Auto-close the Session based on session timeout and client inactivity.


  • Handle connection failures and perform automatic reconnects.
  • Check and handle all failure codes in service responses.
  • Periodically send requests to keep session alive and verify the server is still alive.

Conformance Testing

Client Server

Core Client Facet

Core Server Facet

Advanced Robustness Capabilities


URN:          https://opcfoundation.org/wiki/index.php/Robustness#Buffering

Sent notifications of subscribed data or events will be buffered for retransmission until acknowledged by the Client. This ensures reliable delivery of these messages even during short network interrupts.
See Data Model and Services::Durable Subscription Capability that offers even more advanced buffering.

Usage Considerations

  • No loss of information during network interrupts.

Conformance Testing

Client Server
  • Acknowledge received notification messages.
  • Use republish services for missing notification messages.

Maintain a retransmission queue of sent notification messages with a minimum size defined in OPC UA Part 4.

Client AuditLog

URN:          https://opcfoundation.org/wiki/index.php/Robustness#Client_AuditLog

The Client maintains an audit log and passes appropriate, human readable audit entry information in requests when calling the Server.
This capability implies that the Client handles OPC UA audit events

Usage Considerations

  • Allows tracking activities that occur as part of normal operation of the system as well as abnormal behaviour.
  • Detect security-related problems in the Server.
  • Allows for traceability between client activities and server audit events.

Conformance Testing

Client Server

Maintain an audit log and store audit events issued by a Server


Audit Events

URN:          https://opcfoundation.org/wiki/index.php/Robustness#Audit_Events

Server generates audit messages as event notifications for operations. Examples include writing to a variable or attempting to connect to a server with invalid credentials.

Usage Considerations

  • Notifies security related actions in a system. It includes failed attempts to connect, successful connects, actions that alter the system, errors or security violations.
  • Clients can subscribe to audit event notifications

Conformance Testing

Client Server

Subscribe to and process audit events issued by a Server

Support of Audit Events

Diagnostic Data

URN:          https://opcfoundation.org/wiki/index.php/Robustness#Diagnostic_Data

The collection of diagnostic information can greatly aid in early detection and prevention of potential problems. OPC UA defines Objects with diagnostic information for numerous Server activities.
The collection of diagnostic information can be turned on or off so that it does not unnecessarily impede normal operation.

Usage Considerations

  • Identify current load.
  • Identify security attacks.
  • Identify usage patterns.
  • Identify bottlenecks.
  • Identify bad / inefficient interaction scenarios.

Conformance Testing

Client Server
  • Enable and disable collection of diagnostics.
  • Make use of diagnostic data.
  • Support the diagnostic information model defined in OPC UA Part 5.