Enriching Constraints and Business Rules in Object-Oriented Analysis Models with Trigger Specifications

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.