ICT Means Business Conference

Petri Nets

with category theory

  • Combustion of propane

     
  • workflow management: usage of a kanban board.
     
  • a transaction (or attack) on the blockchain.
     
  • concurrent programming...

What's a Petri Net for?

\tiny 2C_3H_8(g) + 7O_2(g) \to 6CO_2(g) + 8H_2O(g)

Petri nets in short

  • Petri nets were invented for representing the dynamics of chemical reactions (Petri 1962)

  • Soon adopted as one of the many mathematical languages for modeling distributed systems

  • They can also be viewed as (discrete) dynamical systems

A Petri net is composed of places, transitions (and arcs weighted on the natural numbers).

Any place contains a given number of tokens, which represent resources.

 

 

 

 

 

Transitions are connected to places through the arcs, and can turn resources into other resources.

A transition can fire, consuming tokens living in places connected to its input, and producing tokens living in places connected to its output.

tokens

For a mathematician, a Petri net is a device to present a certain structure called a "free monoidal category" using its pieces as generators. (Something similar happens in algebra, but don't worry.)
 

  • idea 1: mathematical properties of RHS ⇒ properties of the concrete object at the LHS;
  • idea 2: RHS helps devising efficient design patterns.

"adjunction"

Project

Categorical models of extensions of PNs

  • Often, a Petri net can be enriched with additional information, so that the final object can't be described mathematically via the same tools.

 

  • Yet, using a piece of category theory called the Grothendieck construction, one can obtain the FCMC of a Petri net P, and from it, the generating net.

Bounded PNs

Idea: put a un bound on the number of tokens in a place.

Every place gains an antiplace with a transition pointing in the opposite direction

Hierarchical PNs

“firing a transition” amounts to call another process, and waiting for it to finish; akin to calling subroutines in a piece of code

Mana PNs

  • Petri nets with mana have a life bar [¹]
  • Processes consume energy/enzymes
  • Model for reactions mediated by a catalyst[²]; near to Petri's original idea

[¹] or a "mana pool", if you were from a different tribe of nerd

[²] related work: https://arxiv.org/abs/1904.03550

Future plans

  • Timed PNs: you can't fire before/after time t0.
     

  • Graph-based models of computation; same technology?
     

  • Extend mana-nets: how far can the original idea of Petri be pushed? 

IT-conference

By Fouche Ehcuof

IT-conference

  • 195