One of the inevitable negative effects of software evolution is design erosion. Refactoring is a technique that aims at counteracting this phenomenon by successively improving the design of software without changing its observable behaviour. Design erosion occurs also in the context of executable UML models, i.e. models that are detailed enough to be automatically compiled to executable applications. This book presents results of a study on applying refactoring to the area of maintenance of executable UML models. It contains an overview of recent approaches to UML model refactoring and to executable modelling, followed by identification of refactoring areas in models built in Telelogic TAU, a state-of-the art UML CASE tool. It proposes a systematic approach to specification of both executable UML model refactorings as well as associated bad smells in models. Additionally, it shows how refactorings can be implemented in Telelogic TAU.