CatColab
A collaborative environment for formal, interoperable, conceptual modeling
CatColab is
- A new paradigm for scientific modeling languages as formal as programming languages
- A web interface for developing and organizing models in those languages
- A system for incorporating work on data with work on the world model underlying that data
Our aim is a system in which anyone, from citizen to scientist, can contribute their piece of understanding of the world in a language in which they’re comfortable, whether that’s unadorned natural language, a diagram or flowchart, or a complicated system of partial differential equations. CatColab aims to enable such an unprecedentedly wide range of collaborators to combine their world models in as close to automatic a way as is consistent with finding truth. Our aim is to let everyone participate fully and transparently in the process of understanding the world.
CatColab is software for making models of the world together
Screenshots
Concepts
CatColab has a notebook-style interface inspired by computational notebooks like JupyterLab and structured document editors like Notion, but its conceptual underpinnings are quite different from both kinds of tools. Here is an overview of the concepts that you’ll encounter in CatColab today.
- Logic
-
CatColab is not a general-purpose programming or modeling language but is rather an extensible environment for working in domain-specific logics, such as those of database schemas or biochemical regulatory networks. To do anything in the tool besides write text, you’ll need to choose a logic.
- Model
-
Models in CatColab are models within a logic, such as a particular database schema or regulatory network. Models are specified declaratively and are well-defined mathematical objects. CatColab is a structure editor for models in a logic, allowing formal declarations to be intermixed with descriptive rich text.
- Analysis
-
Unlike most computational notebooks, CatColab strictly separates the specification of a model from any outputs derived from it. Depending on the logic, an analysis of a model might include visualization, simulation, identification of motifs, and translation into other formats.
- Diagram
-
A diagram, one way of presenting an instance of a model, populates a model. If the model is seen as an ontology, a way of describing what kinds of things are under consideration and how things of those kinds relate to each other, then the instance gives a list of actual things cohereing with that ontology.
Future of versions of CatColab will display the further concepts of morphisms, migrations, and compositions, providing powerful and flexible tools for combining models written in pieces and even in different logics.