When advanced technologies are utilized in a design, more sophisticated rules and constraints are needed. Some constraints may be more physical, such as traces and nets that must be routed on a specific layer, or need to be restricted to a certain area of the board. These may be easy to keep track of manually for a few nets, but if you have hundreds, even thousands of complex constraints, you need an automatic way to manage and adhere to these during design.