First published 2011 in Great Britain and the United States by ISTE Ltd and John Wiley & Sons, Inc.

Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the Copyright, Designs and Patents Act 1988, this publication may only be reproduced, stored or transmitted, in any form or by any means, with the prior permission in writing of the publishers, or in the case of reprographic reproduction in accordance with the terms and licenses issued by the CLA. Enquiries concerning reproduction outside these terms should be sent to the publishers at the undermentioned address:

ISTE Ltd | John Wiley & Sons, Inc.
27-37 St George’s Road | 111 River Street
London SW19 4EU | Hoboken, NJ 07030
UK | USA
www.iste.co.uk | www.wiley.com

© ISTE Ltd 2011

The rights of David Garduno Barrera, Michel Diaz to be identified as the authors of this work have been asserted by them in accordance with the Copyright, Designs and Patents Act 1988.

Library of Congress Cataloging-in-Publication Data

Garduno Barrera, David.

Communicating systems with UML2: modeling and analysis of network protocols / David Garduno Barrera, Michel Diaz.

p. cm.

Includes bibliographical references and index.

ISBN 978-1-84821-299-2 (hardback)

1. Computer network protocols. 2. Telecommunication systems. 3. UML (Computer science) I. Diaz, Michel, 1945- II. Title.

TK5105.55.G37 2011

004.6--dc23

2011014706

British Library Cataloguing-in-Publication Data

A CIP record for this book is available from the British Library

ISBN 978-1-84821-299-2

Preface

Advanced distributed architectures such as mobile embedded systems are becoming more and more complex but always need to keep the same quality. The design of such systems requires a full understanding of their internal behaviors and global interactions, and a mastery of how to represent, analyze and validate them, as well as an understanding of the accuracy of communicating entities and protocols.

Current books on network protocols give a basic knowledge of communication systems and present existing protocols layer by layer, but without explaining how to fully validate the communication mechanisms between them. A few books propose the use of a formal model to design protocols but they do not explain how these models can be created. Furthermore, these formal methods are not always fully adapted to modern high level programming languages, based on the object-oriented paradigm. The design software engineering approach required needs to integrate an object-oriented methodology and a protocol description language. Fortunately, both of these requirements are now provided by the Unified Modeling Language, or UML.

The UML language is composed of a simple and clear set of diagrams allowing a designer to easily model protocol mechanisms and architectures. UML is currently supported by an increasing set of description and analysis methods and tools.

This book not only presents a set of diagrams but helps the reader first to discover which diagrams to use for what kind of problem, and second, how to combine those diagrams into a coherent and meaningful model. As a consequence, the first goal of this book is to support readers interested in network protocols to first model their own requirements, describe their particular problem and, finally, build a full model of the protocol designed, together with its surrounding context.

Secondly, this book aims to show analysts or designers how to organize their modeling process into a logical and coherent set of steps, through an iterative and incremental approach to modeling and validating network protocols.

Using illustrated examples, this volume starts by modeling a few very simple communication cases whose purpose is to familiarize readers with the application of the object-oriented paradigm and state machine descriptions to network protocols.

Then, a chat application, a non-reliable medium entity and a transport protocol are successively modeled and tested by simulation. The purpose of these examples is to clearly illustrate how the different adjacent layers of a communication system are represented, designed and validated using a methodology based on the UML language.

Finally, the three adjacent layers, i.e. the protocol (under study) layer, the underlying (medium) layer, and the user (application) layer, are interconnected and linked together into a global coherent model. Again, this full system is represented by using a UML model and tested by the simulation of this model using existing UML tools.

By highlighting the design methodology, capabilities and properties of the models, we hope that this book will greatly help designers to understand, build and validate new, advanced distributed communicating systems, or indeed any other kind of systems.

David GARDUNO BARRERA and Michel DIAZ

May 2011

Chapter 1

Why Use UML to Model Network Protocols?

1.1. Modeling network protocols

1.1.1. The complexity of communication protocols

In the future, as advanced architectures such as multimedia systems, control systems, distributed embedded systems, etc, become increasingly complex, they will still need to fulfill a set of well-defined requirements regarding their global quality. Meeting these requirements needs a deep understanding of the full distributed system, i.e. of all its local entities and all the communications between those local entities, in order to be able to represent and anticipate their resulting global behavior.

As a consequence, a system’s (global) behavior will depend on:

local activities and their local data; and also on

the messages that are sent, received and processed by the various interconnected entities.

A communication system with all its communication capabilities and configurations is often the basic and most difficult sub-system to correctly understand and build. The reason why this particular problem can be very complex, and lead to many design problems and implementation bugs, needs to be emphasized. To understand it, consider N processors that are connected: they can communicate, at a given instant, 2 by 2, 3 by 3, etc, or use full communication between them all, in which the N processors interact. The sum of the resulting combinations, which may need to be fully analyzed in order to understand the globally interconnected behavior, is then of the order of two to the power N.

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!

Lesen Sie weiter in der vollständigen Ausgabe!