Eindhoven University of Technology MASTER Design and assessment of analysis techniques for UML sequence diagrams van Amstel, M.F. Award date: 2006 Link to publication Disclaimer This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration. General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain TECHNISCHE UNIVERSITEIT EINDHOVEN Department of Mathematics and Computer Science Design and Assessment of Analysis Techniques for UML Sequence Diagrams By: M.F. van Amstel Supervisor: Dr. M.R.V. Chaudron (TU/e) within the EmpAnADa project Eindhoven, July 2006 i Abstract Software systems and their designs grow larger and more complex while their quality level needs to remain high. The de facto standard for describing software designs is the Uni- fied Modeling Language (UML). This project has been carried out in the context of the EmpAnADa project. The goal of the EmpAnADa project is to improve the quality of UML designs. This work addresses one specific diagram type contained in the UML, the sequence diagram. A methodology has been developed and implemented to apply automated model checking to UML sequence diagrams. The tool developed as part of this project can also automatically analyse the sequence diagrams in a UML model for syntactic inconsistencies. Furthermore, the tool can automatically detect patterns in sequence diagrams. The analysis techniques that can be performed on sequence diagrams were validated and rated by means of case studies and structured interviews. These interviews were also used to learn how sequence diagrams are used in practice. ii iii Preface My study of computer science started in the year 2000 at the Eindhoven University of Tech- nology. During a course on object oriented programming and the software engineering project at the end of the bachelor phase of my study, the concepts of software architecture and the use of UML were taught. This is when I started to get interested in software architecture. In the first year of the master phase I also followed a course on software architecture, which I enjoyed very much. It was clear long before I started on my graduation project that the ideal topic for me would be in the field of software architecture. Therefore I made an appointment with the lecturer of the master course on software architecture, Dr. Michel Chaudron. We talked about several topics and decided to develop a methodology for applying model checking techniques to UML sequence diagrams. Later during the project more analysis techniques for UML sequence diagrams were explored. I am grateful to my supervisor Dr. Michel Chaudron for giving me the opportunity to work on a very interesting graduation project and for all his feedback throughout the project. Special thanks go to Ir. Christian Lange and Ir. Martijn Wijns for their useful assistance during the project. I would also like to thank Dr. Judi Romijn and Dr. Ruurd Kuiper for their time and their feedback on my project. Furthermore, I would like to thank Dr. Ruurd Kuiper and Dr. Kees Huizing for taking place in my examination board. And last, but not least I would like to thank the following people for providing cases to validate my analysis techniques and for their feedback: • Jos van Maarseveen from ASML in Veldhoven • Jelle Gerbrandy from Getronics PinkRoccade in Amsterdam • Rob Cloutier from the Stevens Institute of Technology in Hoboken (USA) • Xin Liu from the Eindhoven University of Technology in Eindhoven Marcel van Amstel System Architecture and Networking (SAN) Department of Mathematics and Computer Science Technische Universiteit Eindhoven iv v Acronyms ACP Algebra of Communicating Processes CADP Construction and Analysis of Distributed Processes CASE Computer-Aided Software Engineering µCRL micro Common Representation Language CTL∗ Computation Tree Logic EmpAnADa Empirical Analysis of Architecture and Design Quality FSM Finite State Machine GCC GNU Compiler Collection GNU GNU’s Not UNIX GUI Graphical User Interface HTML Hyper Text Markup Language ITU International Telecommunication Union JPEG Joint Photographic Experts Group LTL Linear Temporal Logic MDX Filetype used by Rational XDE MSC Message Sequence Chart PNG Portable Network Graphics Promela Process Meta Language SAN System Architecture and Networking SD Sequence Diagram SMV Symbolic Model Verifier SPIN Simple Promela Interpreter SQL Structured Query Language SquAT Sequence Diagram Analysis Tool UML Unified Modeling Language XDE Extended Development Environment XMI XML Metadata Interchange XML Extensible Markup Language XSL Extensible Stylesheet Language vi vii Contents Abstract i Preface iii Acronyms v Contents vii List of Figures ix List of Tables xi 1 Introduction 1 1.1 MotivationalBackground . ... 1 1.2 ProjectGoal .................................... 1 1.3 DocumentOutline ................................. 2 2 UML Sequence Diagrams 3 2.1 UMLVersion1.5SequenceDiagrams . .... 4 2.2 FeaturesConsideredintheAnalysis . ...... 7 3 Related Work 9 3.1 SoftwareDesignQuality . ... 9 3.2 SequenceDiagrams................................ 9 3.3 PositioningthisWork ............................. 10 4 Analysis Techniques 11 4.1 StatisticalAnalysis. 12 4.2 SyntacticAnalysis ............................... 14 4.3 InteractionPatterns ............................. 16 4.4 InteractionAnalysis ............................. 19 5 Tool 35 5.1 Requirements .................................... 35 5.2 Design........................................ 39 5.3 ImplementationNotes . .. .. .. .. .. .. .. 45 viii Contents 6 Empirical Validation 51 6.1 Approach ...................................... 51 6.2 Results........................................ 51 6.3 Observations .................................... 63 7 Conclusions 65 7.1 Conclusions ..................................... 65 7.2 FutureWork .................................... 66 8 Project Evaluation 67 8.1 ProjectOverview................................. 67 8.2 Lessonslearned.................................. 68 Bibliography 69 A Representations 73 A.1 ITU’sTextualRepresentation . ..... 73 A.2 ProcessAlgebraSpecification . ..... 74 A.3 Petri-Net ...................................... 77 B Tool Details 81 B.1 Requirements .................................... 81 B.2 Design........................................ 84 C SquAT User Manual 99 C.1 Introduction.................................... 99 C.2 WindowArrangement ............................... 99 C.3 Analysis....................................... 101 C.4 Settings ....................................... 104 C.5 OntologyEditor .................................. 105 D Validation 107 D.1 CaseStudy ..................................... 107 D.2 InterviewTemplate............................... 113 ix List of Figures 2.1 Sequence diagram for a coffee machine . ..... 4 2.2 Messageovertaking............................... 6 4.1 Entity-relationship diagram: Sequence diagram representation . 11 4.2 Entity-relationship diagram: Class diagram representation........... 13 4.3 Example of an incoherent sequence diagram . ....... 15 4.4 Examplemodel................................... 17 4.5 Entity-relationship diagram: Recurring events . ........... 19 4.6 Transition graph in which A(G(p → Fq))holds................. 25 4.7 Examplesequencediagram . 26 4.8 Message flow graph for example sequence diagram . ....... 26 4.9 Generalized message flow graph for example sequence diagram ........ 30 4.10 Message flow graph and generalized message flow graph for explanatory example 32 4.11 Finite state machine for explanatory example . .......... 32 4.12 Finite state machine for example sequence diagram . ........... 33 4.13 Visualization of behavior deviating from visual order in example sequence di- agram ........................................ 33 5.1 Toolenvironment................................. 38 5.2 Use-casediagram.................................. 39 5.3 Packagediagram .................................. 40 5.4 Completeclassdiagram . 44 5.5 GraphicalUserInterface . 45 5.6 Mainwindow .................................... 47 5.7 Statisticswindow................................ 48 5.8 Callpatternwindow ............................... 48 5.9 Finitestatemachine .............................. 49 A.1 Example sequence diagram and its corresponding message flow graph . 73 A.2 Process graph for the example sequence diagram . ........ 77 A.3 Petri-net: initialization and end constructs . ........... 78 A.4 Petri-net: asynchronous and synchronous communication constructs . 78 A.5 Petri-net for the example sequence diagram . ....... 79 B.1 Class diagram: Internal storage . ...... 85 B.2 Entity-relationship diagram: Sequence diagram representation . 85 B.3 Entity-relationship diagram: Promela representation
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages130 Page
-
File Size-