Compositional Modeling
AlgebraicPetri.jl · AlgebraicDynamics.jl
A scientific model is usually written as a whole and then edited as a whole. Add an age structure to an epidemic model, or a second species to a reaction network, and the equations are rewritten by hand – slowly, and with no record of what the change was supposed to mean.
This project builds models whose structure survives that kind of change. Representing a model as a Petri net, an undirected wiring diagram, or a regulatory network makes the operations modellers already perform – stratifying by age or region, composing two subsystems, refining one species into several – into operations on the representation, with the dynamics generated afterwards. A stratified model is then something you assembled rather than something you rewrote.
Three formalisms recur, and they turn out to be the same idea. Petri nets carry epidemiological and reaction models; regulatory networks carry the promoting and inhibiting interactions of a biochemical system; threshold-linear networks carry the dynamics of neural codes. Each has a composition operation, and each admits the same question: what does the whole do, given what the parts do?
Much of this work was carried out with the wider AlgebraicJulia community, including Sophie Libkind and Evan Patterson at the Topos Institute and Micah Halter at GTRI.
Project team
| Photo | Name | Member since | Degree | Program |
|---|---|---|---|---|
![]() | James Fairbanks | 2021 | PhD | Computational Science and Engineering |
