Core library of "onion versioning".

Jakob Pietron 3545043e6a revise demos BM and Corr 2 years ago
dist f4e4b73a16 Move CSS from HTML to CSS file. Graph nodes display drag cursor. 2 years ago
src 3545043e6a revise demos BM and Corr 2 years ago
.gitignore 690ded9a3a update deps, fix vulnerability, fix gitignore 2 years ago
.gitlab-ci.yml 7936ffa357 missing quote added 2 years ago
Dockerfile 8bc4ac80c8 first attempt of a deployment pipeline 2 years ago
README.md 7d7aa64a3b update readme 2 years ago
package-lock.json f8ed0810f7 update deps 2 years ago
package.json f8ed0810f7 update deps 2 years ago
pnpm-lock.yaml 61b6b4e854 Display help icon next to undo/redo buttons in all demos 2 years ago
tsconfig.json 882195d790 Frontend: Managed to get D3 to work with React. 3 years ago
webpack.config.js 60231dd8e3 adds some pictures to the descriptions 2 years ago

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.