Refactoring Browser for UML

Refactoring is a corner stone in a number of agile processes like Extreme Programming (XP). Tools for an automatic support are beginning to appear, usually referred to as refactoring browsers. Most of these are extensions to editors or IDEs and operate on code. This paper discusses how the idea of refactoring can be extended to UML models and presents a refactoring browser integrated in a UML modelling tool. Refactorings for the static architecture as well as for the dynamic behaviour are presented.