Constraints are stored. A plurality of processing stages is processed. For at least one of the plurality of processing stages, an input declarative requirement is utilized with at least some of the constraints to determine an output declarative requirement that is at a different level than a level of the input declarative requirement. At least a portion of the plurality of processing stages are utilized to at least in part automatically configure a computer network.