Error Detection in Multiple State Diagrams.

Mohammad N. Alanazi, David A. Gustafson · Software Engineering Research and Practice · 2008

Abstract - This paper presents Super State Analysis (SSA) for analyzing UML multiple state and sequence diagrams to detect the inconsistencies. SSA model uses transition set that captures relationship information that is not specifiable in UML diagrams. The SSA model uses the transition set to link transitions of multiple state diagrams together. The analysis generates three different sets automatically. These generated sets are compared to the provided sets to detect the inconsistencies. Because SSA considers multiple UML state diagrams, it discovers inconsistencies that cannot be discovered when considering only a single UML state diagram. The analysis identifies five types of inconsistencies: impossible super states, unreachable super states, illegal transitions, missing transitions, and illegal sequences. Keywords: UML, Modeling Languages, State Diagrams, Sequence Diagrams. 1 Introduction Unified Modeling Language (UML) has been widely used as a standard language for modeling software. UML 2.0 [10] consists of thirteen types of diagrams: class, composite structure, component, deployment, object, package, activity, use case, statechart, sequence, communication, interaction overview, and timing. Each diagram is dedicated to a different design aspect. Many different UML diagrams are usually involved in software development. Using more than one diagram to design a system is necessary but can leave the system in an inconsistent state and hence produce errors. Finding inconsistencies in software design before the design is implemented is very important. “Error detection and correction in the design phase can reduce total costs and time to market” [12]. A consistency problem may arise due to the fact that some aspects of the model will be described by more than one diagram. Hence, we should pay much attention to the consistency in the early phases of the system development and it is important that the consistency of a system should be checked before implementing it [9]. To avoid such errors, we should check the consistency among the diagrams and make sure that the diagrams are consistent. Many researchers found that the problem of ensuring consistency between UML diagrams has not been solved yet [3]. The UML specification does not enforce many consistency requirements between the information contained in the sequence and state diagrams. While this does allow for greater flexibility in how UML can be used, it can lead to inconsistent views of the system being modeled. “The problem of relating state-based intraagent (or intraobject) behavioral descriptions with scenario-based interagent (interobject) descriptions has recently focused much interest among the software engineering community” [1]. Identifying inconsistencies between UML diagrams can help the developers to find errors and fix them at early stages. Furthermore, current UML CASE-tools (e.g. Rational Rose) provide poor support for maintaining consistency between UML diagrams. So, helping to solve this problem can make a great contribution to the software development process.

Read the paper · More papers on PaperTik