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 modified 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 modifications 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 scientific 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.