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.
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:
- University of Florida
- National Institute of Standards and Technologies (NIST)
- Carnegie Mellon University
- University of Saskatchewan
- University of California, Riverside
- and many others
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, as explained on our blog. 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) and Carnegie Mellon University, 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, as explained on our blog.
Interactive String Diagrams
Semagrams.jl 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.