OpenOpcUa Runtime Model Architecture
OpenOpcUa / OOUAMiddleware is a model-driven OPC UA execution engine designed since 2012 to interpret NodeSet models at runtime.
It is not a code-first SDK server and not an Information Model Compiler (IMC) system.
It is a runtime-interpreted industrial middleware architecture.
OpenOpcUa Runtime Model Architecture with VPI / VFI and embedded LUA execution.
NodeSet as the Source of Truth
In OpenOpcUa:
- Types are loaded at runtime
- Instances are loaded at runtime
- Alarm configuration is declarative
- Historian configuration is declarative
- Methods are declared in NodeSet and implemented via LUA or VPI
There is:
- No model compilation
- No code generation
- No static type binding
The runtime interprets the model directly.
NodeSet Model Layer
- Types (Standard + Custom)
- Instances (Plant / Line / Assets)
- Alarm configuration
- Historian configuration
- Methods
The NodeSet is the authoritative contract.
OOUAMiddleware Runtime Core
- Runtime model interpreter
- Dynamic AddressSpace construction
- Strong Model / Runtime separation
- No recompilation required
VPI – Virtual Protocol Interfaces
- Industrial protocol connectivity
- PLC, CNC, Robots, Equipment
- MQTT, Cloud, Edge connectivity
- Scalable: +100 VPIs in parallel
VPI decouple acquisition from the model.
VFI – Virtual File Interfaces
- Historian engines
- CSV, Streams, Files
- RDBMS / TSDB
- Data lake integration
- Scalable: +10 VFIs in parallel
VFI execute storage services independently from model logic.
Embedded LUA Engine
- Multi-rate execution
- Simulation
- Orchestration
- OPC UA Method implementation
Model-Driven Method Execution
In the ProductionCell demo:
- The method InjectFault is declared in the NodeSet.
- The method is implemented in LUA.
- The runtime binds it dynamically.
- Alarm conditions are evaluated declaratively.
- Events are generated automatically.
Flow:
NodeSet Method → Runtime → LUA → Variable Update → A&C Engine → Event → Historian
This demonstrates strict separation between:
- Model
- Execution logic
- Functional services
Architectural Positioning
| Capability | Code-First SDK | IMC | OpenOpcUa |
|---|---|---|---|
| Runtime Type Loading | ✖ | ✖ | ✔ |
| Runtime Instance Loading | ✖ | ✖ | ✔ |
| NodeSet as Source of Truth | ✖ | Partial | ✔ |
| Declarative Alarm Configuration | Rare | Limited | ✔ |
| Declarative Historian Configuration | Rare | Limited | ✔ |
| Embedded Scripting | ✖ | ✖ | ✔ |
| Runtime Model Evolution | ✖ | ✖ | ✔ |
| Industrial Plug-In Architecture | Limited | Limited | ✔ |
OpenOpcUa is not a generic OPC UA server.
It is a model-driven industrial OPC UA middleware engine capable of interpreting complete NodeSet models at runtime.
This architecture has been part of OOUAMiddleware since 2012.