Date of Award


Degree Name

Master of Science


Computer Science

First Advisor

Dr. Wuwei Shen

Second Advisor

Dr. Dionysios Kountanis

Third Advisor

Dr. Li Yang

Access Setting

Masters Thesis-Open Access


Software design is an important phase in the computer software development life cycle. The Unified Modeling Language (UML) is a widely used notation to design software models. As a software system increases in size and complexity it is harder for developers to check that their UML models are correct with respect to the UML metamodel. Consistency among different diagrams in a UML model is also important to ensure that there are no design conflicts that will lead to problems later. Incorrect software design will result in loss of productivity, time and money as developers fix design errors. Therefore, to ensure consistency in a software design we propose a tool that will help developers validate UML models in a number of ways.

The tool is developed based on the concept of abstract state machines (ASMs ), which have been used to perform verification of UML models. By translating UML models including OCL constraints into AsmL, an executable specification language based on ASMs, the tool is able to perform model instantiation checking, i.e., checking whether a diagram at one level of the metamodeling architecture is a valid instance of another diagram at a higher-level. The tool can also verify message ordering between sequence diagrams and state chart diagrams. The tool has been applied to various specific areas such as class diagram refinement and design pattern profile checking. With this tool software developers will be able to reduce the number of errors in their software designs.