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.
- BACKGROUND OF THE STUDY
The importance of protocol arises from the fact that protocols form the nervous system of teleprocessing networks and as such are responsible for ensuring that the pieces of the system work as a harmonious whole. The complexity and size of today’s systems and the fact that they are put together from subsystem components manufactured in different locations and even by different companies, virtually demand formal specification and there are many side benefits. And so, as open systems and standard network architectures encompass an ever growing segment of the computing industry, the need for clear and precise protocol specification becomes more important. Traditional methods of informal narrative specifications and ad hoc validation have demonstrated their shortcomings as protocol bugs and incompatible implementations crop up. Problems of ambiguous and incomplete specifications are particularly severe for the ever growing number of protocol standards that must be implemented by a wide community of users with diverse equipment (Rudin, 2003).
There has been recent work on formal protocol specification and verification. In addition to individual researchers, several national and international standards organizations have become active in this area. These include the International Standard Organization (ISO) TC16/1 working group on Formal Definition Technique (FDT), the Consultative Committee for International Telegraphy and Telephony (CCITT) SG VII special report on question 39-System Description Techniques (SDT), and major protocol development projects by the National Bureau of Standards (NBS) and Defense Communication Engineering Center (DCEC) in the US. It is pertinent to note that good protocol specification methods or languages provide precise notations to facilitate implementation of standard and enhance technical quality. As their syntax and semantics are precisely specified, every word and symbol has a well-defined meaning and its use must follow exact rules. This makes standardized specifications unambiguous while improving intuitiveness, increasing consistency and making it possible to detect errors during standardization rather than implementation (ETSI, 2013). Thus to make protocol specification less complex, the use of Petri net as a modeling tool, graphical notation as well as a compact way to specify behaviour (protocol) has been employed. Most modeling languages have graphical notations, and these have good reasons. Models are used as a means to specify concept and ideas, and to communicate them between humans. Nearly everybody would use some kind of graphics to express his or her understanding of a system, even without using any explicit modeling languages. It does not need psychological research to state that graphics employing two dimensions allow for a better understanding of complex structures than one dimensional text. Since specification of systems and communication of models are the main application of Petri net in practice, understandability for human is among the most crucial quality criteria for modeling languages. Petri nets have nice graphical representation using only very few different types of elements, which is good basis for an easy understandability of a model and for the learnability of the language. These two criteria for modeling languages belong to the most important ones recognized in the “Guidelines of Modeling” (Desel and Juhas, 2001).
Manufacturers who use precise and graphical languages report good results and considerable productivity gains. Their use within standardization increased along with the general increased acceptance of such techniques (ETSI, 2013). The most core issue of Petri nets is that they model behavioral aspects of distributed systems, i.e., systems with components that are locally separated and communicate which each other (Desel and Juhas, 2001). Since its invention by Carl Petri (Murata, 1989), Petri nets have been found useful in modeling systems with distributed states such as concurrency, synchronization, conflict(choice or decision) etc.
1.2 STATEMENT OF PROBLEM
- Traditional methods of informal narrative specifications and ad hoc validation have demonstrated their shortcomings as protocol bugs and incompatible implementations crop up. Problems of ambiguous and incomplete specifications are particularly severe for the ever growing number of protocol standards that must be implemented by a wide community of users with diverse equipment. Poor Protocol specification languages provide imprecise notations. This reduces implementation of standard and does not enhance technical quality.
- Poor Protocol specification languages makes standardized specifications ambiguous thereby degrading intuitiveness, decreasing consistency and making it impossible to detect errors during standardization rather than implementation.
Thus the project seek to answer the question
- Are there advantages of using Petri net over other protocol specification methods?