Jörgen Brandt, Wolfgang Reisig, "Modeling Erlang Processes as Petri Nets"

siiky

2023/09/13

2023/09/14

2023/09/14

whitepaper,formal_methods,distributed,petri_nets,programming

Whitepaper about programming with Petri nets, based on the gen_pnet Erlang library.

When I first found the library it looked like a waste of Erlang: why not take advantage of Erlang's processes and everything everywhere all at once? After watching the talk I understand now that that was not its purpose, and it makes sense. The purpose of the lib is to model one (Erlang) process as a Petri net, and for that it looks actually pretty good.

The theory used is "high-level interface Petri nets". "High-level" means that tokens can be of any type and have any values of that type; and "interface" means that the nets can interact with the environment, i.e., they have input/output places.

References "Understanding Petri Nets" for more in-depth learning.