Collaborative Modelling
Our goal is to change the practice of science and of engineering. Building a large complex system is hard, in both scientific modelling and systems engineering.
At the design stage, we focus on specific facets of the systems.
At run time, these facets need to fit together correctly.
Composing systems is rarely as simple as composing functions.
The task becomes harder when many domain experts are involved.
Principles
Our systems development is guided by mathematically precise design principles.
Relational
The facets of a system are like the layers of a map. The layers are designed by domain experts who may use different ontologies. To glue the layers into a map, we relate the ontologies via morphisms between layers before constructing the composite.
Modular
To build modular systems, we define components as morphisms, i.e. abstract maps with generalized notions of composability. These morphisms compose only when their inputs and outputs have matching types, giving us highly reliable systems.
Functorial Semantics
Describing a complex system with a web of morphisms is akin to defining a deep neural net by its computational graph. Using functors, we assign meanings to the morphisms in some compute framework, giving us efficient executable code.
Highlights
Many of our projects fall under the AlgebraicJulia project, a collaborative open-source framework for scientific modeling, data organization, project management, and decision-making. Topos is a key contributor to AlgebraicJulia, alongside our collaborators from:
Compositional Dynamical Systems
Our AlgebraicDynamics.jl library provides a software interface for specifying and solving dynamical systems with compositional and hierarchical structure. The implementation of the composition of dynamical systems follows the mathematics of operads and operad algebras.
Diagrammatic Differential Equations
In our research paper with collaborators, we develop a diagrammatic framework for presenting and solving differential equations in physics. The Decapodes.jl library adapts these methods to engineering, merging models across electrical, mechanical, and aeronautical systems.
Operadic Systems Engineering
With the US National Institute of Standards and Technologies (NIST), Carnegie Mellon University, and Chevron, we are adapting AlgebraicJulia for project management in systems engineering, to show its effectiveness for shared decision-making across multiple complex systems.
Efficient Graph Rewriting
We demonstrate how category theory provides specifications that can be implemented efficiently via imperative algorithms and apply this to the field of graph rewriting. Our AlgebraicRewriting.jl library makes it easy to quickly write correct and performant code.
Collaborative Pandemic Modelling
Epidemiologists use stock-flow diagrams to describe disease dynamics. Together with the University of Saskatchewan and UC Riverside, we built the StockFlow.jl library and the ModelCollab web interface for designing and composing stock-flow diagrams using decorated cospans.
Interactive String Diagrams
Semagrams is a tool for interacting with semantic diagrams. Semantic diagrams are graphical representations of data that have teeth, i.e. where there is a formal and machine-readable correspondence between the graphical display and its semantic meaning.
Generalized Statistical Theories
In this AFOSR project, we draw a precise analogy between models in statistics and logic using categorical logic. Statistical theories, being algebraic structures, are amenable to machine representation and are equipped with formal morphisms between different statistical methods.
Compositional Active Inference
Using Bayesian lenses, statistical games and factor graphs, and in collaboration with VERSES Research, we aim to give a systems-theoretic account of active inference, a leading theory of perception, planning, action, and ultimately general intelligence.
Case Studies
Select Publications
The AlgebraicJulia Project. https://www.algebraicjulia.org
John Baez, Xiaoyan Li, Sophie Libkind, Nathaniel Osgood, Evan Patterson, “Compositional Modeling with Stock and Flow Diagrams”, 5th International Conference on Applied Category Theory. https://msp.cis.strath.ac.uk/act2022/papers/ACT2022_paper_8631.pdf
Brown, Kristopher, Evan Patterson, Tyler Hanks, and James Fairbanks, “Computational category-theoretic rewriting.” Journal of Logical and Algebraic Methods in Programming (2023): 100888.
Evan Patterson, Andrew Baas, Timothy Hosgood, and James Fairbanks, “A diagrammatic view of differential equations in physics”, Mathematics in Engineering Volume 5 Issue 2. DOI:10.3934/mine.2023036
Libkind, Sophie, Andrew Baas, Evan Patterson, and James Fairbanks, “Operadic modeling of dynamical systems: mathematics and computation”, 4th International Conference on Applied Category Theory. https://www.cl.cam.ac.uk/events/act2021/papers/ACT_2021_paper_53.pdf
Toby St. Clere Smithe, “Compositional Active Inference I: Bayesian Lenses. Statistical Games” https://arxiv.org/abs/2109.04461 and “Compositionl Active Inference II: Polynomial Dynamics. Approximate Inference Doctrines.” https://arxiv.org/abs/2208.12173