UML Profile for Communicating Systems a New UML Profile for the Specification and Description of Internet Communication and Signaling Protocols
Total Page:16
File Type:pdf, Size:1020Kb
UML Profile for Communicating Systems A New UML Profile for the Specification and Description of Internet Communication and Signaling Protocols Dissertation zur Erlangung des Doktorgrades der Mathematisch-Naturwissenschaftlichen Fakultäten der Georg-August-Universität zu Göttingen vorgelegt von Constantin Werner aus Salzgitter-Bad Göttingen 2006 D7 Referent: Prof. Dr. Dieter Hogrefe Korreferent: Prof. Dr. Jens Grabowski Tag der mündlichen Prüfung: 30.10.2006 ii Abstract This thesis presents a new Unified Modeling Language 2 (UML) profile for communicating systems. It is developed for the unambiguous, executable specification and description of communication and signaling protocols for the Internet. This profile allows to analyze, simulate and validate a communication protocol specification in the UML before its implementation. This profile is driven by the experience and intelligibility of the Specification and Description Language (SDL) for telecommunication protocol engineering. However, as shown in this thesis, SDL is not optimally suited for specifying communication protocols for the Internet due to their diverse nature. Therefore, this profile features new high-level language concepts rendering the specification and description of Internet protocols more intuitively while abstracting from concrete implementation issues. Due to its support of several concrete notations, this profile is designed to work with a number of UML compliant modeling tools. In contrast to other proposals, this profile binds the informal UML semantics with many semantic variation points by defining formal constraints for the profile definition and providing a mapping specification to SDL by the Object Constraint Language. In addition, the profile incorporates extension points to enable mappings to many formal description languages including SDL. To demonstrate the usability of the profile, a case study of a concrete Internet signaling protocol is presented. Furthermore, a proof-of-concept implementation for the generation of full behavioral and structural SDL design specifications from UML models has been developed. iii iv Zusammenfassung Die vorliegende Dissertation beschreibt ein neues Unified Modeling Language 2 (UML) Profil für kommunizierende Systeme. Es ermöglicht die eindeutige und ausführbare Spezifikation und Beschreibung von Kommunikations- und Signalisierungsprotokollen mittels der UML speziell für das Internet. Dadurch können Spezifikationen bereits vor der Implementation analysiert, simuliert und validiert werden. Das Profil basiert auf der gesammelten Erfahrung und den Sprachkonzepten der Specification and Description Language (SDL). Im Gegensatz zu anderen Profildefinitionen benutzt dieses Profil formal beschriebene Einschränkungen zur Definition des Profils und zur Spezifikation von Abbildungsregeln nach SDL. Dies ermöglicht ein automatisiertes Überprüfen auf Korrektheit der Abbildung. Es unterstützt erweiterte Sprachkonzepte, die speziell zur Beschreibung von Internetprotokollen ausgerichtet sind, für die SDL nur eingeschränkt oder aufwändig verwendbar ist. Des Weiteren definiert das Profil spezielle Erweiterungspunkte, um neben SDL noch weitere Abbildungen auf andere formale Beschreibungstechniken zu ermöglichen. Durch die Unterstützung von mehreren konkreten Darstellungsmöglichkeiten eines Modells kann das Profil mit einer Vielzahl von UML 2 kompatiblen Modellierungswerkzeugen eingesetzt werden. Zusätzlich ist eine Implementation entwickelt worden, die es erlaubt, ein vorliegendes UML 2-Modell in eine vollständige textuelle SDL Struktur- und Verhaltensbeschreibung zu übersetzen. v vi Acknowledgments I am grateful to my supervisor Prof. Dr. Hogrefe for many fruitful and helpful discussions in the stimulating atmosphere of his research group. I also thank my co-supervisor Prof. Dr. Grabowski for accepting the task of examining this thesis. Many thanks go out to all my colleagues from the Institute of Informatics at the University of Göttingen. Especially, I am grateful to my colleagues Michael Ebner, Rene Soltwisch and Xiaoming Fu for useful and valuable discussions on formal modeling techniques. I also thank my students Julia Woch and Sebastian Kraatz for contributing to this work with their considerable efforts. This thesis would not be in its current shape without the comments of numerous people. I thank Omar Alfandi, Mohammed Alfandi, Andrea Hellner, Ingo Juchem, Helmut Neukirchen, Katharina and Peter Samow for reading this thesis, finding errors and providing helpful suggestions for improving this thesis. Last but most important, I am deeply indebted to my parents, my family and Katrin for their patience and continuous support during the preparation and writing of this thesis. Without them, this thesis would never have been finished. vii viii Table of Contents ABSTRACT.........................................................................................................................................................III ZUSAMMENFASSUNG ......................................................................................................................................V ACKNOWLEDGMENTS ................................................................................................................................ VII TABLE OF CONTENTS....................................................................................................................................IX LIST OF FIGURES ............................................................................................................................................XI 1 INTRODUCTION........................................................................................................................................ 1 1.1 SCOPE OF THIS THESIS............................................................................................................................ 2 1.2 RELATED WORK..................................................................................................................................... 3 1.3 NOVELTY OF THIS PROFILE..................................................................................................................... 5 1.4 STRUCTURE OF THIS THESIS ................................................................................................................... 5 2 FUNDAMENTALS OF COMMUNICATION PROTOCOLS ................................................................ 7 2.1 NETWORK LAYERS................................................................................................................................. 7 2.2 COMMUNICATION PROTOCOLS ............................................................................................................... 8 2.3 NETWORK SERVICES ............................................................................................................................ 10 2.4 ARCHITECTURES OF COMMUNICATION PROTOCOLS............................................................................. 11 2.5 SUMMARY ............................................................................................................................................ 14 3 DESCRIPTION TECHNIQUES FOR COMMUNICATION PROTOCOLS...................................... 15 3.1 SPECIFICATION OF SERVICES AND PROTOCOLS..................................................................................... 15 3.2 MODEL-BASED DEVELOPMENT ............................................................................................................ 17 3.3 FORMAL DESCRIPTION TECHNIQUES .................................................................................................... 19 3.4 THE SPECIFICATION AND DESCRIPTION LANGUAGE ............................................................................. 24 3.5 THE MESSAGE SEQUENCE CHARTS ...................................................................................................... 30 3.6 SUMMARY ............................................................................................................................................ 31 4 THE UNIFIED MODELING LANGUAGE ............................................................................................ 33 4.1 HISTORY OF UML ................................................................................................................................ 33 4.2 THE UML VERSION 2........................................................................................................................... 36 4.3 UML AND METAMODELING ................................................................................................................. 42 4.4 UML EXTENSION MECHANISMS .......................................................................................................... 46 4.5 THE OBJECT CONSTRAINT LANGUAGE ................................................................................................. 49 4.6 XML METADATA INTERCHANGE ......................................................................................................... 51 4.7 SUMMARY ............................................................................................................................................ 52 5 ANALYSIS OF SDL WITH RESPECT TO INTERNET COMMUNICATION PROTOCOLS....... 53 5.1 CASE STUDY OF A SIGNALING PROTOCOL: RSVP ................................................................................ 53 5.2 LANGUAGE CONCEPT FOR THE UML CS PROFILE...............................................................................