Collaborative Live Modelling by Language-Agnostic Versioning
Joeri Exelmans, Ciprian Teodorov, Robert Heinrich, Alexander F. Egyed, Hans Vangheluwe · 2023
In the world of executable modelling languages, live modelling is a feature of integrated modelling, execution/simulation and debugging environments, where the user can alter the models during execution. This reduces the need to compile and restart the execution after making a change to the model. In this paper, we point out a number of desirable features for “next generation” live modelling, simulation and debugging. Most importantly, we would like to transpose collaborative features (such as: (a) synchronous collaboration, branching and merging) that are already part of some modelling/editing environments, onto execution and debugging environments. We also point out the issue of doing all of this in a compositional manner, in order not to repeat the tooling development effort for every new language that we want to support. As a solution, we propose using a language-agnostic versioning system for graphs, that tracks changes to both the design-time models and their run-time configurations, in a unified manner.