A petri net reduction algorithm for protocol analysis

  • Authors:
  • C V Ramamoorthy;Y Yaw

  • Affiliations:
  • Computer Science Division, Department of Electrical Engineering and Computer Science, University of California, Berkeley, California;Computer Science Division, Department of Electrical Engineering and Computer Science, University of California, Berkeley, California

  • Venue:
  • SIGCOMM '86 Proceedings of the ACM SIGCOMM conference on Communications architectures & protocols
  • Year:
  • 1986

Quantified Score

Hi-index 0.00

Visualization

Abstract

Petri net is a powerful model for analyzing communication protocols because they share many common properties. Currently, protocol analysis suffers the state explosion problem especially for error-recoverable protocols and multi-party protocols. Protocol synthesis relieves this problem by generating new and complicated protocols from simple subsets of the protocol models. Reduction analysis provides theoretical ground for correct synthesis or expansion. Thus, reduction is a very important research area. In this paper, we present a general Petri net reduction algorithm that reduces the number of states while preserving all desirable and undesirable properties. To the best of our knowledge, this is the first general Petri net reduction algorithm for protocol analysis. We first present and extend Dong's [DON 83] definition of WBMs to include more subnets as WBMs. To render the reductions automated, a new concept of simple well-behaved modules (SWBMs) is introduced. Recursively performing reductions of SWBMs, complicated WBMs can be reduced. A main program is written to implement this recursive procedure. The problem is then reduced to finding conditions for SWBMs. We do this by progressing from simpler SWBMs to more complicated ones, i.e., from single-arc ones to multi-arcs ones. Finally, we demonstrate the usefulness of this algorithm by applying it to the state exploration in protocol synthesis. Other applications such as error detection, performance evaluation, and software engineering will be discussed in future.