AlgebraicPetri.jl
is a Julia package for building Petri Net models
compositionally. This package depends on Catlab.jl
which provides a framework for applied category theory (ACT) in Julia, and is
part of the AlgebraicJulia organization,
which develops ACT-based software to improve scientific and technical
computing.
AlgebraicPetri.jl
defines the category of open Petri nets as described in [Baez 2018],
and implements composition and stratification methods for such Petri nets
from [Libkind 2022].
Please visit the documentation to learn more about how to use the package. For more details on the underlying theory, please consult [Baez 2018] or [Libkind 2022], with the latter being more oriented towards applied practitioners.
Tutorials are organized by theme. Currently examples from epidemiology are the most developed. The basic tutorial introduces the main themes of modeling with open Petri nets, followed by a detailed tutorial on model stratification, and a detailed example of developing a complex model with multiple strains of a directly-transmitted disease with vaccines.