The semantics of Object Constraint Language