Unified Modeling Language (UML) is becoming widely accepted standard notation for expressing artifacts within software development process. One of basic activities performed within such development process is producing new or modifying existing artefacts. This activity can be viewed as performing transformations. This work presents problem area of UML model transformations. It starts with clarification of the notion of a transformation and classification of transformations. Further it includes an attempt to introduce a systematic way of defining and implementing UML transformations. Focus is on practical aspects of the definition and the implementation process. An example of the usage of the approach is presented. Advantages of the approach are highlighted and research problems are listed.