As changes are made during a software development process, related artefacts and elements of the system specifications may quickly become inconsistent. Todays software projects often consists of a large number of artefacts and thus the job of keeping them consistent is very hard or even impossible to do manually by the developers.
The scope of the method presented in this thesis is to locate and display inconsistencies within Unified Modeling Language (UML) Interactions and State Machines, where the Interaction is the primary specification and the State Machine is the concrete, implementable specification.
We demonstrate a manual method for consistency checking of interactions and State Machines that is implemented as a tool to assist the developer keeping the specifications consistent on-the-fly while modelling. The tool is integrated with the Eclipse platform and was empirically evaluated in a case study which results show that the tool helps the developer in keeping the specifications more consistent than the manual method, in less amount of time.
There is a significant win by this kind of work if the developer community regards UML as more valuable when they are assisted in keeping their specifications consistent, which is important in order to make good use of specifications within a development process. This work is usually done manually, if done at all.