Constraints are critical in formally expressing the rules and policies of a domain such that the rules can be checked in a running system. While the actual mechanisms of constraint enforcement depend on the mechanisms of the selected model compiler, the process of identifying and writing these constraints has substantial value in formalizing the knowledge about a domain. Model compilers can also use constraints to optimize data storage and data-access operations. Now that we have a complete model of the conceptual entities, their domain relationships, and constraints, we can move on to describing dynamic behavior. |