Viktor Stojkovski: UML Model Refactoring

Creating a complex UML statechart diagrams from a scratch can lead to some bad designs which afterwards in order to be changed and modifi ed to a better functional and more compact model can be a painstaking job. There is a problem with the non-automated statechart transformations and that is, the designer can't be completely sure that after all those modifi cations that the functionality of the statechart will remain unchanged. In order to prevent those problems from happening, in this project I will present and explain how I have implemented and used some already defined statechart transformations published in the scientifi c paper with a title Refactoring UML Models Sunye et al. (2001), with the help of the software AToM3. AToM3 is a tool mainly used for meta-modeling and model transformations, which helped me a lot to implement and test the rules used for refactoring the statecharts. The rules are made from preconditions and actions, which guaranty that the functionality of the statechart model will be unchanged after its trans- formation. In the end after using the known transformations on some test models, the final product is a good structured and designed UML statechart model which has preserved its behavior.