One engine, and everything that reads it

Product Lifecycle Management is usually sold as a list of modules. The list matters less than whether the modules agree with each other — which they do here, because every one of them resolves structures through the same engine rather than computing its own answer.