The Object Constraint Language: Precise Modeling With Uml (Addison-Wesley Object Technology Series)