PNAPI - The Petri Net Library

The Petri Net API (PNAPI) is a C++ library encapsulating Petri net-related functions.

Download PNAPI

Version history

PNAPI has been developed for quite some time now. See the ChangeLog for details or try out the older versions.

License

PNAPI is open source software, licensed under the AGPL3+.

Install PNAPI

Requirements

Installing and running PNAPI requires a bunch of other tools:

Compiling requires:

Testing requires:

  • Autotools test suite - Part of the GNU Auto-Tools for automated Tests
  • LCOV - LCOV is a graphical front-end for GCC's coverage testing tool gcov. It collects gcov data for multiple source files and creates HTML pages containing the source code annotated with coverage information.

Contributing requires:

  • Bison - Gnu parser generator - Bison is a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables.
  • GNU Gengetopt - Gengetopt generates a C function that uses getopt_long function to parse the command line options, to validate them and fills a struct .
  • flex: The Fast Lexical Analyzer - Flex is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in text. The flex program reads user-specified input files, or its standard input if no file names are given, for a description of a scanner to generate.

Quick install

Extract the tar ball into a folder of your choice, and follow the steps below.

  1. Configure
    ./configure
  2. Compile
    make
  3. Test (optional, but recommended)
    make check
  4. Install
    sudo make install

Manual

PNAPI's manual explains usage, features, and a brief scientifical background.

Documentation

PNAPI's documentation aims at the developer in you. If you are interested in implementation details this is the right place for you to look.

Maintainer

The current maintainer of PNAPI is Niels Lohmann.

Authors

Christian Sura, Niels Lohmann, and Stephan Mennicke

Contributors

Several people have committed time, code, and advice to the development of PNAPI .

  • Christian Sura (188 commits)
  • Niels Lohmann (168 commits)
  • Stephan Mennicke (110 commits)
  • waltemath (65 commits)
  • Christian Gierds (33 commits)
  • Georg Straube (14 commits)
  • Andreas Lehmann (6 commits)
  • Richard Müller (4 commits)
  • Marvin Triebel (2 commits)
  • Jan Sürmeli (1 commit)