Books describing the OCL (Object Constraint Language), the textual language typically used to complement and precise the description of UML models in a “formal” way (in contrast with notes in natural language that can be sometimes ambiguous). Our OCL tutorial can be a useful introduction to the OCL language but you may want to take a look as well to these OCL-specific books (yes, they are all quite old, but I’m afraid nobody feels like writing an OCL book these days).
The Object Constraint Language: Getting Your Models Ready for MDA by Jos Warmer and Anneke Kleppe
A very pedagogic introduction to the OCL (and written by one of the creators of this language). The book explains most of the element of the OCL and shows how they can be used to complement UML models. By means of clear examples, the reader will learn to use OCL to specify integrity constraints, operation contracts, initialization expressions and so on. The MDA section of the book is quite shallow.
Object Modeling with the OCL: The Rationale behind the Object Constraint Language by Tony Clark and Jos Warmer
A nice collection of position papers from several OCL experts, explaining uses, limitations and semantics of the language. The book is a little bit outdated now so some of the problems have been fixed in the OCL 2.0 version. Interesting complementary reading nevertheless.