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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
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 |
---|---|---|
Security | Security Invalid user token | no |
Security | Security User Name Password | no |
ConformanceUnits
Address Space Model
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 |
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 |
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 |
Attribute Services
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 |
Attribute Write Values | Supports writing to values to one or more Attributes of one or more Nodes. | no |
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 |
Base Information
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 |
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 |
Base Info Server Capabilities | The Server supports publishing of the Server limitation in the ServerCapabilities, including MaxArrayLength, MaxStringLength, MaxNodePerRead, MaxNodesPerWrite, MaxNodesPerSubscription and MaxNodesPerBrowse. | no |
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 |
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 |
Base Info OptionSet | The Server supports the VariableType OptionSet. | no |
Base Info Placeholder Modelling Rules | The Server supports defining custom Object or Variables that include the use of OptionalPlaceholder or MandatoryPlaceholder modelling rules. | no |
Base Info ValueAsText | The Server supports the Property ValueAsText for enumerated DataTypes. | no |
Base Info Selection List | The Server supports Variables of the SelectionListType VariableType. | no |
Discovery Services
Title | Description | Mandatory in any Profile |
---|---|---|
Discovery Get Endpoints | Support the GetEndpoints Service to obtain all Endpoints of the Server. | yes |
Discovery Find Servers Self | Support the FindServers Service only for itself. | yes |
Monitored Item Services
Title | Description | Mandatory in any Profile |
---|---|---|
Monitor Basic | Support the following MonitoredItem Services: CreateMonitoredItems, ModifyMonitoredItems, DeleteMonitoredItems and SetMonitoringMode. | yes |
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 |
Monitor QueueSize_1 | This ConformanceUnit does not require queuing when multiple value changes occur during a "publish period". | yes |
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 |
Protocol and Encoding
Title | Description | Mandatory in any Profile |
---|---|---|
Protocol UA TCP | Support the UA TCP transport protocol as defined in UA Part 6. | yes |
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 Secure Conversation | Support UA Secure Conversation specified in UA Part 6. | yes |
Security
Title | Description | Mandatory in any Profile |
---|---|---|
Security Administration | Allow configuration of the following Security related items (when they apply).
| no |
Security Role Server Authorization | Restrict access based on the configured Roles and permissions. | no |
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 |
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 |
Security User Name Password | A Client uses a User Name/Password combination. | yes |
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 |
AsymmetricEncryptionAlgorithm_None | This algorithm does not apply. | yes |
AsymmetricSignatureAlgorithm_None | This algorithm does not apply. | yes |
KeyDerivationAlgorithm_None | This algorithm does not apply. | yes |
SymmetricEncryptionAlgorithm_None | This algorithm does not apply. | yes |
SymmetricSignatureAlgorithm_None | This algorithm does not apply. | yes |
SecurtyPolicy_None_Limits | DerivedSignatureKeyLength: 0 | yes |
Session Services
Title | Description | Mandatory in any Profile |
---|---|---|
Session General Service Behaviour | Implement basic Service behaviour. This includes in
requested with the 'returnDiagnostics'
| yes |
Session Base | Support the Session Service Set (CreateSession,
| yes |
Session Minimum 1 | Support minimum 1 Session (total). | yes |
Session Minimum 2 Parallel | Support minimum 2 parallel Sessions (total for all Clients). | yes |
Subscription Services
Title | Description | Mandatory in any Profile |
---|---|---|
Subscription Basic | Support the following Subscription Services: CreateSubscription, ModifySubscription, DeleteSubscriptions, Publish, Republish and SetPublishingMode. | yes |
Subscription Minimum 1 | Support at least 1 Subscription per Session. | yes |
Subscription Publish Min 02 | Support at least 2 Publish Service requests per Session. | yes |
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 |
View Services
Title | Description | Mandatory in any Profile |
---|---|---|
View Basic | Support the View Service Set (Browse, BrowseNext). | yes |
View TranslateBrowsePath | Support TranslateBrowsePathsToNodeIds Service. | yes |
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 |
View Minimum Continuation Point 01 | Support minimum 1 continuation point per Session. | yes |
Â