1. A method comprising: receiving a description of a system being designed; receiving a description of an environment; and using both of the received descriptions to validate the system against the environment while the system is being designed and prior to attempting to deploy the system.