Address Space Management(Figure 1) embeds the address space instance that consists of nodes and references. The main role of the nodes and references is to expose the state and behavior of an underlying process as a graph of nodes.
Address Space Model.
Real-time Processis gathered by the
Process Linkas process data and assigned to
Variablenodes residing in the address space and maintained by the
Address Space Management. Next, process data can be accessed and processed by a generic client using
Services. In a production environment, the
Address Space Modelmay be also used offline in clients development or configuration process to offer additional features, namely preconfigured customized control panels, dedicated data visualization panes or predefined structure of the database tables. The model knowledge also simplifies the configuration of clients, because all of the items composing the complex process information can be accessed directly without the necessity to browse the address space graph of nodes.
Address Space Managementconcept, two questions must be addressed:
Variablenodes with the real-time process data sources?
Address Space Managementmust instantiate all nodes and interconnect them by means of references. A detailed description of this process is covered by the section: Address Space and Address Space Model. Using the nodes by means of a well-defined set of services , clients get access to data representing the state and behavior of a selected part of the underlying process. In this architecture, the address space plays the role of process replica. In this scenario, the server must couple the exposed address space nodes with the current state and behavior of the underlying process. Therefore, to maintain this coupling, there must be established an out-of-band connection to physical devices used to transfer real-time process data in both directions.
Servicesclients can also get access to special kind of process data, i.e. events, alarms, and historical data.
Services- in-band connectivity and data transfer over the network
Address Space Management- address space nodes management and process data cache
Process Link- out-of-band process data transfer, conversion, and binding
Process Linkis responsible for transferring real-time process data up and down. The embedded address space maintained by
Address Space Managementis a collection of
NodeClassinstances (nodes) (see section Address Space and Address Space Model). Each node is a carrier of values (attributes) and collection of references used to create a nodes graph.
Variablenodes expose the real-time process data using dedicated
Valueattribute. Other nodes are used to create meaningful context for the process data exposed to all connected clients by the
Services(Section Address Space and Address Space Model).
Process Linkgets access to it using the out-of-band underlying communication infrastructure and vendor specific protocols. For embedded applications it may use directly internal controller registers of the device instead of transferring the data over a wire.
Address Space Managementuses a static
Address Space Model(Figure 1) created in advance and providing a detailed description of all the nodes, including their attributes value and interconnections by means of references. Static means that the model is predefined for the selected environment, but it does not mean that the exposed address space is static at all. In this approach, nodes can be instantiated and linked dynamically, however the process must conform to the meta model definition
Implementation Language. Dynamic behavior of the address space can be controlled by the connected clients using services or by the current state of the process.
Address Space Modelmay be implemented as a set of files created with a variety of purposes. Serialization, data binding, and server configuration are most important. Serialization is a conversion of structured complex data into a stream of bits with the goal of transferring it over the network or storing it using the file system. Data binding is responsible for coupling
Real-time Processsources with the appropriate nodes in the address space with the result that the content depends on a deployment instance. Usually, the files necessary for the server are created as a result of the compilation process. The main goal of compilation is to apply all of the type definitions to created nodes and bind them to the
Real-time Processdata. Consequently, it is a product of a compiler and because it is intended to be consumed by the server the
Implementation Languagemust have a machine-readable syntax.
Real-time Processstate and its behavior. It is human-centric process and is accomplished by the definition of types. This way we can create autonomous, deployment independent, reusable definitions. The main challenge is to obtain an appropriate level of model simplicity. At the same time, it is worth noting that simplicity is not born by simplification but is rather a result of abstraction, i.e. while designing a model the
Real-time Processdetails should not be neglected but hidden if necessary. The independence and reusability means that the model must not depend on the production environment.
Address Space Modelgenerated in a format to be used as a foundation for nodes instantiation and interconnection them by references. The
Address Space Modelrepresentation is usually generated by a compiler (
Code Generatoron Figure 1) that processes the selected
Information Modeland creates a set of documents containing all information necessary to instantiate and interconnect nodes at run-time by the
Address Space Managementof the
UA Server. The compiler could be an independent product or it can be embedded into the
Information Model- an input for compilation process - it uses a set of XML files compliant with the
ModelDesignschema. In this case, the
Address Space Modelrepresents a variety of generated files including XML file compliant with the UANodeSet schema defined in Part 6 of the OPC UA specification. The main purpose of this specification is to provide a standard syntax that designers can use to formally represent their models in a form that can be read by a computer program. Unfortunately, this format is not well suited to be used directly by designers at the very beginning of the information model development and adoption stage. It is also worth stressing that
ModelDesignschema - a foundation of the
Model Language- is not formally defined by the OPC UA specification, so must be recognized as a proprietary solution.
Information Modelmust be harmonized, the design process must return to a point where it is human-centric and based on the selected
Model Language. In case an existing model expressed using standard description compliant with UANodeSet is to be reused a recovery process must be applied. It can be accomplished using
asp.exetool described in the document Address Space Prototyping Tool (ase.exe).
Address Space Model, which must be compliant with the selected
Information Model. Additionally, from the section Information Models Development we know that the
Information Modelmay be designed from scratch or adopted on the ground of companion specifications. An example of the existing model is the Analyzer Devices Integration (ADI) information model presented in the section Adopting Companion Standard Models - Analyzer Devices Integration. The section - ReferenceApplication Producer - Boilers Set Simulator covers detailed description of a custom model designed from scratch for selected process.
Information Modeldesign phase. It is the first step in the address space information model life-cycle. This phase is illustrated in Figure 1 where
Informal Modelrepresents all knowledge, experience, and documents that can be collected and used to design an appropriate model according to the specification. This process is similar to writing the code of a program, and predefined
Information Modelcan be recognized as libraries to promote reusability. Predefined models not only improve the performance of the design process but what is more important they make a foundation for interoperability even if it is only out-of-band interoperability.
The architecture presented in this section and the model life-cycle is simplified. In a real scenario additional processing of the results of
Model Compileris usually necessary to deploy the model in production environment.