A Term Rewriting Approach to Analyze High Level Petri Nets

High level Petri nets (HLPNs) have been widely applied to model concurrent and distributed systems in computer science and many other engineering disciplines. However, due to the expressive power of HLPNs, they are difficult to analyze. In recent years, a variety of new analysis techniques based on model checking have been proposed to analyze high level Petri nets in addition to the traditional analysis techniques such as simulation and reachability (coverability) tree. These new analysis techniques include (1) developing tailored model checkers for particular types of HLPNs or (2) leveraging existing general model checkers through model translation where a HLPN is transformed into an equivalent form suitable for the target model checker. In this paper, we present a term rewriting approach to analyze a particular type of HLPNs -- predicate transition nets (PrT nets). Our approach is completely automatic and implemented in our tool environment, where the frontend is PIPE+, a general graphical editor for creating PrT net models, and the backend is Maude, a well-known term rewriting system. We have applied our approach to the Mondex system -- the 1st pilot project of verified software repository in the worldwide software verification grand challenge, and several well-known problems used in the annual model checking contest of Petri net tools. Our initial experimental results are encouraging and demonstrate the usefulness of the approach.

[1]  Didier Buchs,et al.  High-Level Petri Net Model Checking with AlPiNA , 2011, Fundam. Informaticae.

[2]  Raymond R. Devillers,et al.  Sequential and Concurrent Behaviour in Petri Net Theory , 1987, Theor. Comput. Sci..

[3]  Stephan Merz,et al.  Model Checking , 2000 .

[4]  Peter J. Clarke,et al.  A Formal Approach for Translating a SAM Architecture to PROMELA , 2008, SEKE.

[5]  José Meseguer,et al.  Petri Nets Are Monoids , 1990, Inf. Comput..

[6]  Xudong He,et al.  Analyzing a Formal Specification of Mondex Using Model Checking , 2010, ICTAC.

[7]  Su Liu,et al.  SAMAT - A Tool for Software Architecture Modeling and Analysis , 2012, SEKE.

[8]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[9]  Xudong He,et al.  A Formal Definition of Hierarchical Predicate Transition Nets , 1996, Application and Theory of Petri Nets.

[10]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[11]  Peter Csaba Ölveczky,et al.  Rewriting Logic as a Unifying Framework for Petri Nets , 2001, Unifying Petri Nets.

[12]  Su Liu,et al.  PIPE+ - A Modeling Tool for High Level Petri Nets , 2011, SEKE.

[13]  Yi Deng,et al.  Formally analyzing software architectural specifications using SAM , 2004, J. Syst. Softw..

[14]  José Meseguer,et al.  Specification and proof in membership equational logic , 2000, Theor. Comput. Sci..

[15]  Maciej Koutny,et al.  Branching Processes of High-Level Petri Nets , 2003, TACAS.

[16]  Shmuel Katz,et al.  A Framework for Translating Models and Specifications , 2002, IFM.

[17]  Kenneth L. McMillan,et al.  The SMV System , 1993 .

[18]  Wolfgang Reisig,et al.  Petri Nets and Algebraic Specifications , 1991, Theor. Comput. Sci..

[19]  Rupak Majumdar,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 1997, Lecture Notes in Computer Science.

[20]  Kenneth L. McMillan,et al.  Using Unfoldings to Avoid the State Explosion Problem in the Verification of Asynchronous Circuits , 1992, CAV.

[21]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[22]  Kurt Lautenbach,et al.  System Modelling with High-Level Petri Nets , 1981, Theor. Comput. Sci..

[23]  Peter Csaba Ölveczky,et al.  Representation and Execution of Petri Nets Using Rewriting Logic as a Unifying Framework , 2001, UNIGRA.