Current object oriented analysis methods focus especially on class centered information and inter-object behavior, expressed
in static structural and object interaction diagrams. The specification of constraints and business rules1 is not a major concern to them. Although UML (Unified Modeling Language) provides support for constraint specifications through
OCL (Object Constraint Language), its integration with other model concepts is rather minimal. Constraints are treated as
formal comment specifications rather than distinct and important model elements. For instance, the interaction between constraints and object behavior
is often neglected. It is not clear how a message that violates a certain constraint can be refused without crashing the whole system. UML states that the condition of a constraint must always be true, otherwise the system is invalid with consequences outside
the scope of UML. As such, constraints are not really imposed on a model and its behavior, but serves only as a validation
of a model state at a certain moment in time.