Checking consistency between interaction diagrams and state machines in UML models

Piotr Jacek Puczynski

AbstractThe Unied Modeling Language (UML) is the de-facto standard for the objectoriented modeling of (software) systems. It describes a system by modeling different views on the system, e.g. using class and component diagrams to provide a view on the static structure of the system and, e.g., state machines and sequence diagrams to provide a view on the dynamic behavior of the system. The different views of the system should be consistent, that is, for example, that the class names and methods named in interaction diagrams should correspond to class names and methods used in class diagrams. This can be easily checked syntactically and ensured by the modeler if he uses a modeling tool like Topcased, that allows him to work with a common instance of the meta model for all diagrams. This, e.g., allows using the same class object in a class diagram and in an interaction diagram. However, other connections between the different types of diagrams are not as easily ensured. For example, that an interaction diagram showing the realization of a use case scenario is consistent with the behavior described by, e.g., object life cycle state machines and protocol state machines. To goal of the thesis is to take the methodology used in the system integration course to describe a system, and to develop a tool that ensures the consistency of the UML model. In the course system integration, a system is described by components which have ports. Ports have required and provided interfaces and protocol state machines describing the possible communication through the ports. Components are implemented by one or several classes which have object state machines to describe their behaviors. Finally, the model of a system contains use cases and use case scenarios as interaction diagrams that describe the interaction between the user and the system. The task of the thesis is to develop a tool that takes a UML model and performs the following checks:
- Checks that the components are implemented by the classes
- Creates interaction diagrams by extending the interaction diagrams of the use cases to show how the system realizes the use case scenarios given the behavior described by the object state machines
- Alternatively, the user provides the interaction diagrams himself and the tool checks that the interactions are compatible with the classes and their object life cycle state machines
- Checks that the created/provided interaction diagram contains admissible interactions according to the protocol state machines of the ports
The tool should provide sensible hints to help the user to x the model of the system if problems in the validation occur.
The tool should be implemented preferably as an Eclipse plug-in using EMF to represent the UML model.
TypeMaster's thesis [Academic thesis]
Year2012
PublisherTechnical University of Denmark, DTU Informatics, E-mail: reception@imm.dtu.dk
AddressAsmussens Alle, Building 305, DK-2800 Kgs. Lyngby, Denmark
SeriesIMM-M.Sc.-2012-44
NoteSupervised by Associate Professor Hubert Baumeister, hub@imm.dtu.dk, DTU Informatics
Electronic version(s)[pdf]
Publication linkhttp://www.imm.dtu.dk/English.aspx
BibTeX data [bibtex]
IMM Group(s)Computer Science & Engineering