Source code for our collaborative blended modeling demo, based on (1) operation-based, dependency-aware versioning, (2) correspondence models and incremental parsing/rendering.

Joeri Exelmans b46db7d246 Upgrade dependency: Mantine + use our own Graphviz React component (renders much faster) 1 tahun lalu
dist 1e30266215 Completed first version of live modeling demo 2 tahun lalu
src b46db7d246 Upgrade dependency: Mantine + use our own Graphviz React component (renders much faster) 1 tahun lalu
.gitignore 690ded9a3a update deps, fix vulnerability, fix gitignore 2 tahun lalu
.gitlab-ci.yml 7a74481f83 docker image shall only be created if compile was successful 2 tahun lalu
Dockerfile 8bc4ac80c8 first attempt of a deployment pipeline 2 tahun lalu
README.md 7d7aa64a3b update readme 2 tahun lalu
package-lock.json fe77b9d606 updated package-lock.json for ci-pipeline 2 tahun lalu
package.json b46db7d246 Upgrade dependency: Mantine + use our own Graphviz React component (renders much faster) 1 tahun lalu
pnpm-lock.yaml b46db7d246 Upgrade dependency: Mantine + use our own Graphviz React component (renders much faster) 1 tahun lalu
todo.txt a0c4678127 Many things: finished refactor of correspondence demo, fixed bug in merge function, correct discovery of composite delta dependencies, ability to show/hide embedded versions in MergeView. 1 tahun lalu
tsconfig.json ced35fc17d Downgrade ts-node to fix mocha tests (no time to figure it out) 1 tahun lalu
webpack.config.cjs 406a99f865 WIP: Semantics demo 2 tahun lalu

README.md

A New Versioning Approach for Collaboration in Blended Modeling – Prototype

This is the prototype demonstrating the applicability of our novel versioning approach supporting blended modeling. It is presented in the article Towards a New Versioning Approach for Collaboration in Blended Modeling submitted to the Journal of Computer Languages special issue Foundations and Practice of Visual Modeling (FPVM).

The article extends our previous work

Joeri Exelmans, Jakob Pietron, Alexander Raschke, Hans Vangheluwe, Matthias Tichy:
Optimistic Versioning for Conflict-tolerant Collaborative Blended Modeling. STAF Workshops 2022
https://ceur-ws.org/Vol-3250/fpvmpaper1.pdf

by the following points:

  • Prototype implementation
  • More specific about primitive and composite deltas and conflicts between them
  • More details about graph state
  • More related work
  • More details about the architecture including parsing and rendering

How to run?

A running instance of the prototype is available online: https://sp2.informatik.uni-ulm.de/onioncollaboration/. No installation or additional software except a modern web browser needed.

If you'd like to run the prototype on your local machine:

  1. Install Node.js
    1. The prototype runs on the latest LTS version of Node.js (currently 18.x).
    2. If you want to install multiple Node.js versions on your computer, you can use the Node Version Manager NVM.
  2. Change to the project root dir (demonstrator) and execute npm install (or short npm i) to install all dependencies.
  3. Execute npm run dev-server.
  4. Open http://localhost:9000/ in your browser.