I. Introduction
Unified Modeling Language is a modeling language standard that has been known and used by software engineers for many years. It plays a main role within software development life cycle of a project [1], [2]. The language allows designers to models the interaction between system and users, interaction between objects, behavior of objects, and implementation and logical structure of the system. These models represent different views and concerns of a single system. Throughout the life cycle, the models may change and evolve due to growing knowledge on the problem domain, lack of knowledge, skills, experience of designers, and constantly changing requirements. Differences between models may also be the result of change-propagation on models of the same software within versions, feature dissimilarities due to specific characteristics of different domains, and other aspects regarding project team attributes, such as experience and skills [3].