Skip to main content


On causal semantics of petri nets (extended abstract)


Rob van Glabbeek, Ursula Goltz and Jens-Wolfhard Schicke



TU Braunschweig


We consider approaches for causal semantics of Petri nets, explicitly representing dependencies between transition occurrences. For one-safe nets or condition/event-systems, the notion of process as defined by Carl Adam Petri provides a notion of a run of a system where causal dependencies are reflected in terms of a partial order. A well-known problem is how to generalise this notion for nets where places may carry several tokens. Goltz and Reisig have defined such a generalisation by distinguishing tokens according to their causal history. However, this so-called individual token interpretation is often considered too detailed. A number of approaches have tackled the problem of defining a more abstract notion of process, thereby obtaining a so-called collective token interpretation. Here we give a short overview on these attempts and then identify a subclass of Petri nets, called structural conflict nets, where the interplay between conflict and concurrency due to token multiplicity does not occur. For this subclass, we define abstract processes as equivalence classes of Goltz-Reisig processes. We justify this approach by showing that we obtain exactly one maximal abstract process if and only if the underlying net is conflict-free with respect to a canonical notion of conflict.

BibTeX Entry

    publisher        = {Springer},
    author           = {van Glabbeek, Robert and Goltz, Ursula and Schicke, Jens-Wolfhard},
    issn             = {0302-9743},
    month            = {sep},
    editor           = {{Joost-Pieter Katoen and Barbara K├Ânig}},
    year             = {2011},
    keywords         = {concurrency, petri nets, pt-systems, causal semantics, processes.},
    title            = {On Causal Semantics of Petri Nets (extended abstract)},
    booktitle        = {22nd International Conference on Concurrency Theory},
    pages            = {43-59},
    address          = {Aachen, Germany}