The PEP tool is a Programming Environment based on Petri Nets. Sophisticated programming and verification components are embedded in a user-friendly graphical interface. The basic idea is that the programming component allows the user to design concurrent algorithms in an easy-to-use imperative language, and that the PEP system then generates Petri nets from such programs in order to use Petri net theory for simulation and verification purposes.

The main focus of this paper is the reference component which represents the bridge between these two worlds. We integrate references in the formal semantics and present some of the provided features. Among others the simulation of a parallel program can be triggered through the simulation of a Petri net. Program formulae can be transformed automatically into net formulae which can then be an input for the verification component.

PEP has been implemented on Solaris 2.x, SunOS 4.1.x and Linux. Ftpable versions are available via∼pep.


B(PN)2 Model checking Parallel finite automata PEP Petri nets Reference component Simulation Temporal logic Tool 


  1. [1]
    E. Best. Partial Order Verification with PEP. Proc. of POMIV'96, Princeton, 1996.Google Scholar
  2. [2]
    E. Best, R. Devillers and J. G. Hall. The Box Calculus: a New Causal Algebra with Multi-Label Communication. Advances in Petri Nets 92, LNCS Vol. 609, 21–69. Springer, 1992.Google Scholar
  3. [3]
    E. Best and H. Fleischhack, editors. PEP: Programming Environment Based on Petri Nets. Hildesheimer Informatik-Berichte 14/95. 1995.Google Scholar
  4. [4]
    E. Best, H. Fleischhack, W. Fraczak, R. P. Hopkins, H. Klaudel, and E. Pelz. An M-Net Semantics of B(PN)2. Proc. of STRICT, Workshops in Computing, 85–100. Springer, 1995.Google Scholar
  5. [5]
    E. Best, H. Fleischhack, W. Fraczak, R. P. Hopkins, H. Klaudel, and E. Pelz. A Class of Composable High Level Petri Nets. Proc. of ATPN'95, Torino, LNCS Vol. 935, 103–118. Springer, 1995.Google Scholar
  6. [6]
    E. Best and B. Grahlmann. PEP: Documentation and User Guide. Universität Hildesheim. or∼pep/HomePage.html 1995.Google Scholar
  7. [7]
    E. Best and R. P. Hopkins. B(PN)2 — a Basic Petri Net Programming Notation. Proc. of PARLE, LNCS Vol. 694, 379–390. Springer, 1993.Google Scholar
  8. [8]
    J. Esparza, S. Römer, and W. Vogler. An Improvement of McMillan's Unfolding Algorithm. Proc. of TACAS'96, 1996.Google Scholar
  9. [9]
    J. Esparza. Model Checking Using Net Unfoldings, 151–195. Number 23 in Science of Computer Programming. Elsevier, 1994.Google Scholar
  10. [10]
    H. Fleischhack and B. Grahlmann. A Petri Net Semantics for B(PN) 2 with Procedures which Allows Verification. Hildesheimer Informatik-Berichte 21/96. 1996.Google Scholar
  11. [11]
    B. Grahlmann, M. Moeller, and U. Anhalt. A New Interface for the PEP Tool — Parallel Finite Automata. Proc. of 2. Workshop Algorithmen und Werkzeuge für Petrinetze, AIS 22, 21–26. FB Informatik Universität Oldenburg, 1995.Google Scholar
  12. [12]
    B. Grahlmann. Verifying Telecommunication Protocols with PEP. Proc. of RELECTRONIC'95, Budapest, 251–256, 1995.Google Scholar
  13. [13]
    B. Graves. Erläuterungen zu Esparza's L1-Model-Checker. In [3].Google Scholar
  14. [14]
    J. E. Hopcraft and J. D. Ullmann. Introduction to Automata Theory, and Languages, and Computation. Addison Wesley, 1994.Google Scholar
  15. [15]
    L. Jenner. A Low-Level Net Semantics for B(PN)2 with Procedures. In [3].Google Scholar
  16. [16]
    R. Riemann. A Temporal Logic for B(PN)2 Programs. In [3].Google Scholar
  17. [17]
    P. H. Starke. INA: Integrated Net Analyzer. Handbuch, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Bernd Grahlmann
    • 1
  1. 1.Institut für InformatikUniversität HildesheimHildesheim

Personalised recommendations