Nested-unit Petri nets

Abstract Petri nets can express concurrency and nondeterminism but neither locality nor hierarchy. This article presents an extension of Petri nets, in which places can be grouped into so-called “units” expressing sequential components. Units can be recursively nested to reflect both the concurrent and hierarchical nature of complex systems. This model called NUPN (Nested-Unit Petri Nets) was originally developed for translating process calculi to Petri nets, but later found also useful beyond this setting. It allows significant savings in the memory representation of markings for both explicit-state and symbolic verification. Thirteen software tools already implement the NUPN model, which has also been adopted for the benchmarks of the Model Checking Contest (MCC) and the parallel problems of the Rigorous Examination of Reactive Systems (RERS) challenges.

[1]  R. Goud,et al.  Petriweb: A Repository for Petri Nets , 2006, ICATPN.

[2]  Jens Palsberg,et al.  Complexity Results for 1-Safe Nets , 1993, Theor. Comput. Sci..

[3]  Ludmila Cherkasova,et al.  Descriptive and analytical process algebras , 1988, European Workshop on Applications and Theory in Petri Nets.

[4]  Joseph Sifakis,et al.  Compilation and verification of LOTOS specifications , 1990, PSTV.

[5]  Ugo Montanari,et al.  Axiomatizing CCS, Nets and Processes , 1993, Sci. Comput. Program..

[6]  Maciej Koutny,et al.  A Unified Model for Nets and Process Algebras , 2001, Handbook of Process Algebra.

[7]  Ilaria Castellani,et al.  Observing Distribution in Processes , 1993, MFCS.

[8]  Rajeev Alur Formal Analysis of Hierarchical State Machines , 2003, Verification: Theory and Practice.

[9]  Ilaria Castellani,et al.  Three Equivalent Semantics for CCS , 1990, Semantics of Systems of Concurrent Processes.

[10]  Peter Huber,et al.  Hierarchies in coloured Petri nets , 1991, Applications and Theory of Petri Nets.

[11]  Raymond R. Devillers,et al.  General Refinement and Recursion Operators for the Petri Box Calculus , 1993, STACS.

[12]  Ichiro Suzuki,et al.  Stepwise Refinements of Transitions and Places , 1980, Selected Papers from the First and the Second European Workshop on Application and Theory of Petri Nets.

[13]  Rajeev Alur,et al.  Analysis of recursive state machines , 2001, TOPL.

[14]  Marco Beccuti,et al.  (Stochastic) Model Checking in GreatSPN , 2014, Petri Nets.

[15]  Hubert Garavel,et al.  Nested-Unit Petri Nets: A Structural Means to Increase Efficiency and Scalability of Verification on Elementary Nets , 2015, Petri Nets.

[16]  Pascal Weil,et al.  Series-parallel languages and the bounded-width property , 2000, Theor. Comput. Sci..

[17]  Alan Mycroft,et al.  On the Relationship of CCS and Petri Nets , 1984, ICALP.

[18]  Daniel Moldt,et al.  An Extensible Editor and Simulation Engine for Petri Nets: Renew , 2004, ICATPN.

[19]  Peter Buchholz,et al.  A Hierarchical View of GCSPNs and Its Impact on Qualitative and Quantitative Analysis , 1992, J. Parallel Distributed Comput..

[20]  Dirk Taubner,et al.  Finite Representations of CCS and TCSP Programs by Automata and Petri Nets , 1989, Lecture Notes in Computer Science.

[21]  Vijay K. Garg,et al.  Concurrent Regular Expressions and Their Relationship to Petri Nets , 1992, Theor. Comput. Sci..

[22]  Rajeev Alur,et al.  Exploiting Behavioral Hierarchy for Efficient Model Checking , 2002, CAV.

[23]  Javier Esparza,et al.  An SMT-based approach to fair termination analysis , 2015, 2015 Formal Methods in Computer-Aided Design (FMCAD).

[24]  Fabrice Kordon,et al.  Building Efficient Model Checkers using Hierarchical Set Decision Diagrams and Automatic Saturation , 2009, Fundam. Informaticae.

[25]  Ilaria Castellani,et al.  Process Algebras with Localities , 2001, Handbook of Process Algebra.

[26]  Karsten Wolf Running LoLA 2.0 in a Model Checking Competition , 2016, Trans. Petri Nets Other Model. Concurr..

[27]  Tadao Murata,et al.  Hierarchically organized Petri net state space for reachability and deadlock analysis , 1992, Proceedings Sixth International Parallel Processing Symposium.

[28]  Peter Buchholz,et al.  Hierarchies in Colored GSPNs , 1993, Application and Theory of Petri Nets.

[29]  Vadim E. Kotov,et al.  An Algebra for Parallelism Based on Petri Nets , 1978, MFCS.

[30]  Fabrice Kordon,et al.  Hierarchical Set Decision Diagrams and Regular Models , 2009, TACAS.

[31]  Pascal Weil,et al.  Series-Parallel Posets: Algebra, Automata and Languages , 1998, STACS.

[32]  Wolfgang Reisig,et al.  CSP-programs with individual tokens , 1984, European Workshop on Applications and Theory in Petri Nets.

[33]  Matthew Hennessy,et al.  A theory of processes with localities , 1992, Formal Aspects of Computing.

[34]  Rajeev Alur Exploiting Hierarchical Structure for Efficient Formal Verification , 2000, CONCUR.

[35]  Bernhard Steffen,et al.  Property-Preserving Generation of Tailored Benchmark Petri Nets , 2017, 2017 17th International Conference on Application of Concurrency to System Design (ACSD).

[36]  Radu Mateescu,et al.  CADP 2011: a toolbox for the construction and analysis of distributed processes , 2012, International Journal on Software Tools for Technology Transfer.

[37]  Gisbert Dittrich Specification with Nets , 1989, EUROCAST.

[38]  M. Praveen,et al.  Parameterized Complexity Results for 1-safe Petri Nets , 2011, CONCUR.

[39]  Joost Engelfriet,et al.  Elementary Net Systems , 1996, Applications and Theory of Petri Nets.

[40]  Fabrice Kordon,et al.  MCC'2017 - The Seventh Model Checking Contest , 2018, Trans. Petri Nets Other Model. Concurr..

[41]  C. A. R. Hoare,et al.  A Theory of Communicating Sequential Processes , 1984, JACM.

[42]  Rocco De Nicola,et al.  A distributed operational semantics for CCS based on condition/event systems , 1988, Acta Informatica.

[43]  Bernhard Steffen,et al.  The RERS 2017 challenge and workshop (invited paper) , 2017, SPIN.

[44]  Madhavan Mukund,et al.  CCS, Locations and Asynchronous Transition Systems , 1992 .

[45]  Ursula Goltz CCS and Petri Nets , 1990, Semantics of Systems of Concurrent Processes.

[46]  Rajeev Alur,et al.  Model checking of hierarchical state machines , 1998, TOPL.

[47]  Rüdiger Valk,et al.  Object Petri Nets: Using the Nets-within-Nets Paradigm , 2003, Lectures on Concurrency and Petri Nets.

[48]  Ichiro Suzuki,et al.  A Method for Stepwise Refinement and Abstraction of Petri Nets , 1983, J. Comput. Syst. Sci..

[49]  Jordi Cortadella,et al.  Petri Net Analysis Using Boolean Manipulation , 1994, Application and Theory of Petri Nets.

[50]  Yann Thierry-Mieg,et al.  Symbolic Model-Checking Using ITS-Tools , 2015, TACAS.

[51]  Raymond R. Devillers,et al.  The box calculus: a new causal algebra with multi-label communication , 1992, Advances in Petri Nets: The DEMON Project.

[52]  Günter Karjoth Implementing LOTOS Specifications by Communicating State Machines , 1992, CONCUR.

[53]  Mogens Nielsen CCS - and its Relationship to Net Theory , 1986, Advances in Petri Nets.

[54]  Irina A. Lomazova,et al.  Nested Petri Nets - a Formalism for Specification and Verification of Multi-Agent Distributed Systems , 2000, Fundam. Informaticae.

[55]  Gérard Roucairol,et al.  Linear Algebra in Net Theory , 1979, Advanced Course: Net Theory and Applications.

[56]  Maciej Koutny,et al.  Petri Net Algebra , 2001, Monographs in Theoretical Computer Science An EATCS Series.

[57]  Kurt Lautenbach Linear Algebraic Techniques for Place/Transition Nets , 1986, Advances in Petri Nets.

[58]  Rob J. van Glabbeek,et al.  Petri Net Models for Algebraic Theories of Concurrency , 1987, PARLE.

[59]  Nishtha Arora Comparison of encoding schemes for symbolic model checking of bounded petri nets , 2010 .

[60]  Geert Janssen A consumer report on BDD packages , 2003, 16th Symposium on Integrated Circuits and Systems Design, 2003. SBCCI 2003. Proceedings..

[61]  Dirk Taubner,et al.  Representing CCS programs by finite predicate/transition nets , 1990, Acta Informatica.

[62]  Michael Benedikt,et al.  Model Checking of Unrestricted Hierarchical State Machines , 2001, ICALP.

[63]  Raymond R. Devillers Construction of S-invariants and S-components for Refined Petri Boxes , 1993, Application and Theory of Petri Nets.

[64]  Günter Karjoth,et al.  LOEWE: A LOTOS Engineering Workbench , 1993, Comput. Networks ISDN Syst..

[65]  Rajeev Alur Efficient Formal Verification of Hierarchical Descriptions , 1998, FSTTCS.

[66]  F. Vernadat,et al.  The tool TINA – Construction of abstract state spaces for petri nets and time petri nets , 2004 .

[67]  Giorgio De Michelis,et al.  Milner's Communicating Systems and Petri Nets , 1982, European Workshop on Applications and Theory of Petri Nets.

[68]  Rainer Fehling,et al.  A Concept of Hierarchical Petri Nets with Building Blocks , 1991, Applications and Theory of Petri Nets.

[69]  Antoni W. Mazurkiewicz,et al.  Trace Theory , 1986, Advances in Petri Nets.

[70]  Ugo Montanari,et al.  Combining CCS and Petri Nets Via Structural Axioms , 1994, Fundam. Informaticae.

[71]  Maciej Koutny,et al.  Asynchronous Box Calculus , 2002, Fundam. Informaticae.

[72]  Raymond R. Devillers S-invariant analysis of general recursive Petri boxes , 1995 .

[73]  Maciej Koutny,et al.  An Algebra of Non-safe Petri Boxes , 2002, AMAST.

[74]  Jordi Cortadella,et al.  Efficient encoding schemes for symbolic analysis of Petri nets , 1998, Proceedings Design, Automation and Test in Europe.

[75]  Ursula Goltz On Representing CCS Programs by Finite Petri Nets , 1988, MFCS.

[76]  Jan A. Bergstra,et al.  Process Algebra for Synchronous Communication , 1984, Inf. Control..

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

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

[79]  K. Hamaguchi Design verification of asynchronous sequential circuits using symbolic model checking , 1992 .

[80]  Ernst-Rüdiger Olderog,et al.  Operational Petri net semantics for CCSP , 1986, European Workshop on Applications and Theory of Petri Nets.

[81]  Maciej Koutny,et al.  The box algebra = Petri nets + process expressions , 2002 .

[82]  Luca Bernardinello,et al.  A survey of basic net models and modular net classes , 1992, Advances in Petri Nets: The DEMON Project.

[83]  Glynn Winskel,et al.  Event Structures , 1986, Advances in Petri Nets.

[84]  Richard P. Hopkins,et al.  A basic-net algebra for program semantics and its application to OCCAM , 1992, Advances in Petri Nets: The DEMON Project.

[85]  Ernst-Rüdiger Olderog,et al.  Nets, Terms and Formulas: Three Views of Concurrent Processes and their Relationship , 2005 .

[86]  Luca Aceto,et al.  A static view of localities , 1994, Formal Aspects of Computing.

[87]  Hubert Garavel,et al.  Compilation et vérification de programmes LOTOS , 1989 .

[88]  Ludmila Cherkasova,et al.  Structured Nets , 1981, International Symposium on Mathematical Foundations of Computer Science.

[89]  Peter Buchholz,et al.  Modular State Level Analysis of Distributed Systems Techniques and Tool Support , 1999, TACAS.

[90]  Xudong He,et al.  9 – High-Level Petri Nets—Extensions, Analysis, and Applications , 2005 .

[91]  K. Rangarajan,et al.  Hierarchical Structure of 1-Safe Petri Nets , 2003, ASIAN.

[92]  Ilaria Castellani Observing Distribution in Processes: Static and Dynamic Localities , 1995, Int. J. Found. Comput. Sci..

[93]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[94]  Frédéric Lang,et al.  From LOTOS to LNT , 2017, ModelEd, TestEd, TrustEd.

[95]  Gianfranco Ciardo,et al.  Ten Years of Saturation: A Petri Net Perspective , 2012, Trans. Petri Nets Other Model. Concurr..

[96]  Maciej Koutny,et al.  The Box Algebra - A Model of Nets and Process Expressions , 1999, ICATPN.

[97]  John A. N. Lee,et al.  A methodology for constructing predicate transition net specifications , 1991, Softw. Pract. Exp..

[98]  Sampath Kannan,et al.  Communicating Hierarchical State Machines , 1999, ICALP.

[99]  Fabrice Kordon,et al.  MCC'2015 - The Fifth Model Checking Contest , 2016, Trans. Petri Nets Other Model. Concurr..

[100]  Ludmila Cherkasova,et al.  On structural properties of generalized processes , 1984, European Workshop on Applications and Theory in Petri Nets.

[101]  Jordi Cortadella,et al.  Structural Methods to Improve the Symbolic Analysis of Petri Nets , 1999, ICATPN.

[102]  Roberto Gorrieri,et al.  Distributed Implementation of CCS , 1991, Applications and Theory of Petri Nets.

[103]  Tadao Murata,et al.  Hierarchical Reachability Graph of Bounded Petri Nets for Concurrent-Software Analysis , 1994, IEEE Trans. Software Eng..

[104]  Gary J. Nutt,et al.  Macro E-Nets for Representation of Parallel Systems , 1973, IEEE Transactions on Computers.

[105]  Jerre D. Noe Nets in Modeling and Simulation , 1979, Advanced Course: Net Theory and Applications.

[106]  Ludmila Cherkasova,et al.  An Algebra of Concurrent Non-Deterministic Processes , 1991, Theor. Comput. Sci..

[107]  Roberto Gorrieri,et al.  On the Implementation of Concurrent Calculi in Net Calculi: Two Case Studies , 1995, Theor. Comput. Sci..

[108]  Robert Valette,et al.  Analysis of Petri Nets by Stepwise Refinements , 1979, J. Comput. Syst. Sci..

[109]  Alexandre Hamez,et al.  A Symbolic Model Checker for Petri Nets: pnmc , 2016, Trans. Petri Nets Other Model. Concurr..

[110]  Matthew Hennessy,et al.  Observing Localities , 1993, Theor. Comput. Sci..

[111]  Hubert Garavel,et al.  State space reduction for process algebra specifications , 2006, Theor. Comput. Sci..

[112]  Maciej Koutny,et al.  Operational Semantics for the Petri Box Calculus , 1994, CONCUR.

[113]  Peter Buchholz,et al.  Hierarchical Reachability Graph Generation for Petri Nets , 2002, Formal Methods Syst. Des..

[114]  Ilaria Castellani,et al.  Flow Models of Distributed Computations: Three Equivalent Semantics for CCS , 1994, Inf. Comput..

[115]  Irina A. Lomazova,et al.  Nested Petri Nets: Multi-level and Recursive Systems , 2001, Fundam. Informaticae.

[116]  Alfons Laarman,et al.  LTSmin: High-Performance Language-Independent Model Checking , 2015, TACAS.

[117]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[118]  Rüdiger Valk,et al.  Petri Nets as Token Objects: An Introduction to Elementary Object Nets , 1998, ICATPN.