This paper defines techniques for the slicing of UML models, that is, for the restriction of models to those parts which specify the properties and behaviour of a subset of the elements within them. The purpose of this restriction is to produce a smaller model which permits more effective analysis and comprehension than the complete model, and also to form a step in factoring of a model. We consider class diagrams, single state machines, and communicating sets of state machines.