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
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