AlgebraicJulia / AlgebraicPetri.jl

Build Petri net models compositionally
https://algebraicjulia.github.io/AlgebraicPetri.jl/
MIT License
74 stars 20 forks source link

Improvements to documentation #169

Closed slwu89 closed 6 months ago

slwu89 commented 6 months ago

Addresses some of the issues in #168, and focus on improving the documentation experience for new users who may come across this library without background knowledge.

slwu89 commented 6 months ago

Hi @mehalter, this PR is to improve the reading experience for people with little exposure to ACT coming across the library for the first time.

It also fixes the stratification of the SIRD and mask model here https://algebraicjulia.github.io/AlgebraicPetri.jl/stable/generated/covid/stratification/#Define-intervention-models which currently gives an incorrect result.

I do have 2 questions however:

  1. Is there any way to improve the mask-vax UWD here https://algebraicjulia.github.io/AlgebraicPetri.jl/stable/generated/covid/stratification/#Mask-Vax-Model ? It suffers from many of the problems the ACT approach hopes to fix (tedious code prone to user errors). Obviously doing a pullback with a multicospan would work, but that bypasses the UWD. I wonder if there is any elegant way to get that UWD using the categorical interface?
  2. The petri net generated from typed_product at the very end of this section https://algebraicjulia.github.io/AlgebraicPetri.jl/stable/generated/covid/disease_strains/#Define-a-new-type-system-and-corresponding-disease-and-multi-strain-models has extraneous transitions (e.g. :(strataU, :strataU)) because neither model actually uses those types. I'm not sure if you'd like to change that somehow, or just keep it as is and leave a note (as I did in the PR), since those type systems are needed for the further examples below.

Thanks, and happy for comments!