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?
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