Introduction

CoCaLiMo is used to provide one common model for calculations and their data models and requirements and tests and functional design.

This single model can be used by different disciplines, specifically data modellers, developers, testers and domain experts.

Links are maintained between relevant parts of the model, e.g. which tests test which part of the design, or which elements of the datamodel are used in which tests.

The model is defined using UML class diagrams, more information on the model can be found here.

Users from these disciplines build up an instance of the model.

Sometimes this is referred to an object graph of the model.

Each discipline is given its own visual tools to view and interact with the instance of the model in a way that is useful and familiar for that discipline.

We say that each discipline has its own Viewpoint on the model.

The instance of the model is stored into files using a textual notation called CoCaSon, which stands for Collaborative Calculation Simple Object Notation.

CoCaSon is very similar to the popular format JSON (JavaScript Object Notation).
It is easy to understand, and we have CoCaSon editors which give great validation and auto-complete of text using context assist.

These editors follow a specification called the language server protocol which means that they can be used from different code editors such as Eclipse , VSCode, or web based Theia.

Those code editors provide excellent integration with different source control (e.g Git) and issue management systems (e.g. Jira) for effective collaboration, allowing for excellent management of CoCaSon files, allowing the tracking of changes, who changed what and why, and if desired, who reviewed or approved a change.