I understand what you are trying to achieve. I think it can be summarized like this: You need an OPC UA server with a dynamic address space, where new nodes will be definable in runtime, either through the OPC UA NodeManagement services, or by other means (update NodeSet file loaded in runtime).
We specialize in client side, so I cannot tell with certainty much for the server, aside from some hints:
- AFAIK the OPC Foundation UA stack/SDK, and many available commercial toolkits, allow nodes be added in runtime, by your code. It's just that it is rarely used.
- The NodeSet model/format is not "visible" through OPC UA interface. It is just a convenience to make it easier to define standard and custom information models, but nothing prescribes that it must be (the only) way the server obtains its information model.
- Looking at OPC Foundation UA stack/SDK (server side code), the services from NodeManagement have "stubs" ready to be used, but no real code implemented in them. So the infrastructure is there, you need to fill in code for methods like AddNodes, AddReferences...
- I suggest you ask the server toolkit vendors about the possibilities/support for dynamic address space.
To the client side: QuickOPC (as of the current 2018.2 version) does not have support for services from NodeManagement set. It might be possible to add them with major effort; they appear to have not much dependencies on or new requirements beyond what we already have. If you decide to go the way of NodeManagement services, and it is a long term plan, we can probably add those in a future version (but most likely not the upcoming 2018.3, because the development effort there has a completely different focus). Let me know if your considerations end up seeing this approach as the preferred way (assuming that you somehow resolve the server side of things), and we will discuss the options then.
Regards