Use of Petri Net in Protocol Specification

Abstract This project work is concerned with application of Petri Net in protocol specification. In this project work, definition of Petri Nets and Protocols are given. The role and importance of formal specification techniques are also discussed. Petri Nets are a graphical tool and could be used for the formal description of the flow of activities in complex systems like protocol. It is gaining popularity in recent years as a tool for the representation of complex logical interactions like synchronization, sequence, concurrency and conflict among physical components or activities in the system. This project work presents a specification of a chosen protocol using Petri Net and implemented the specification using JAVA programming language. Conclusively, Petri net is shown to be 70% better than other formal protocol specification methods.

Table of Contents

Title page i

Certification page ii

Approval page iii

Dedication page iv

Acknowledgement page v

Abstract vi

Table of Contents vii

List of figures viii

List of tables ix

CHAPTER ONE: INTRODUCTION

1.1 Background of the study 1

1.2 Statement of Problem 3

1.3 Objectives of the Study 3

1.4 Scope and Limitation of the Study 4

1.5 Significance of the Study 4

1.6 Definition of Terms 4

CHAPTER TWO: THEORETICAL BACKGROUND / LITERATURE

REVIEW

2.1 Protocol Definition 6

2.2 Formal Protocol Specification 7

2.3 Meaning of Specifications and Verification 7

2.3.1 Specifications 7

2.3.2 Verifications 9

2.3.3 Components of a Specification 10

2.4 Overview of Protocol Specification Techniques/Methods 11

2.4.1 Finite State Automata 11

2.4.2 Abstract Machine 13

2.4.3 Formal Languages 14

2.4.4 Sequencing expression 16

2.4.5 Abstract Data type 17

2.4.6 Buffer Histories 17

viii

2.5 Petri Net Defined 18

2.5.1 Types of Petri Nets 20

2.5.2 Properties of Petri Nets 23

2.5.3 Use of Petri Nets 24

CHAPTER THREE: SYSTEM ANALYSIS AND DESIGN

3.1 Analysis of the Existing Protocol Specification Methods 26

3.1.1 Problems Inherent In the Existing Methods 26

3.2 Analysis of the Proposed Protocol Specification Method 28

3.2.1 Analysis of Connection Establishment Protocol 29

3.2.2 Mapping of Connection Establishment Protocol onto Petri Net 32

3.2.3 Use Case Diagram of the System 35

3.3 System Design 36

3.3.1 Class Diagram of the System 36

3.3.2 Sequence Diagram of the System 38

CHAPTER FOUR: SYSTEM IMPLEMENTATION

4.1 Choice of Programming Language 44

4.2 Sender and receiver Protocol Architecture 44

4.3 Screen Shots of Demos 46

4.4 System Specifications 48

4.5 User Guide 49

4.6 Performance Evaluation 49

CHAPTER FIVE: SUMMARY AND CONCLUSION

5.1 Summary 53

5.2 Conclusion 53

5.3 Recommendation 53

REFERENCES

APPENDICES

Flowchart

Source Code