I have the task of producing software that verifies a valid product configuration. The product is highly customisable, however there is quite a network of dependencies between components. This gets ...