Changes for README.md: 8 added lines, 8 removed lines.
Original line number
Diff line number
Diff line
# CAID-tools
The CAID-tools are a software-suite for tracking dependencies across different types of tools and storages. At the core is the depi-server which provides a protocol for viewing, adding and linking resources, reporting in updates in resources, etc. For the different supported tools there are user-interfaces (here implemented as vscode-extensions) and adapter/monitors that report in updates to the resources. The currently supported tools are `git`, `git-gsn` and `webgme`.
The CAID-tools are a software-suite for tracking dependencies across different types of tools and storages. At the core is the depi-server which provides a protocol for viewing, adding and linking resources (files, directories, models etc. in tools), reporting resource updates, etc. For each of the supported tools, there are user-interfaces (here implemented as vscode-extensions) and adapter/monitors that report resource updates. The currently supported tools are `git`, `git-gsn` and `webgme`.
In Depi, _Resources_ belong to a _Resource-Group_, and a _Resource-Group_ belongs to a _Tool_.
What exactly constitutes a _Resource-Group_ or a _Resource_ is specific to each individual _Tool_.
@@ -46,7 +46,7 @@ Visit `http://localhost:4000` from your browser.
### Docker Images
If you haven't already, [install docker](https://docs.docker.com/engine/install/ubuntu/) - this has been tested with `Docker version 25.0.3, build 4debf41` on `Ubuntu 22.04`.
The fasted way to get started is to use the monolithic docker image, `caid-tools`, that contains all the necessary back-end services for the provided example. For the user-interface you can either [install vscode](https://code.visualstudio.com/download) directly on your machine or use the `caid-front-end` docker image that is using [theia](https://theia-ide.org/) (a server/web-browser based version of vscode) and already prepared with the extensions.
The fasted way to get started is to use the monolithic docker image, `caid-tools`, that contains all the necessary back-end services for the provided example. For the user-interface, you can either [install vscode](https://code.visualstudio.com/download) directly on your machine or use the `caid-front-end` docker image that is using [theia](https://theia-ide.org/) (a server/web-browser based version of vscode) and already prepared with the extensions.
@@ -61,11 +61,11 @@ The following services are running within the monolithic caid-tools container (s
-**git-monitor** is a small python server receiving webhook events from the git repositories and reports in the changes made to any git-resources in depi.
-**git-gsn-monitor** is similar to the git-monitor but instead of simply looking at the file changes, it builds up the models in memory and compares the ASTs between versions.
-**webgme-server** is a server for the metamodeling tool [WebGME](https://webgme.org/) that supports UML-like syntax for defining DSMLs such as SysML among other modeling languages.
-**webgme-monitor** small nodejs server receiving storage events from the webgme server. Just like the git based monitors it reports in any changes made to the, in this case webgme-resources, in depi.
-**webgme-monitor**is a small nodejs server receiving storage events from the webgme server. Just like the git based monitors it reports in any changes made to the, in this case webgme-resources, in depi.
-**gitea** is [a free, open source, git collaboration platform](https://about.gitea.com/) that hosts the git-repositories and manages the webhooks, etc.
### Front-end/User Interface
For the user interface you can either [install vscode](https://code.visualstudio.com/download) and then install the vscode extensions below (click link) or use the `caid-front-end` docker image below that is using [theia](https://theia-ide.org/) and already prepared with the extensions.
For the client user interface, you can either [install vscode](https://code.visualstudio.com/download) and then install the vscode extensions below (click link) or use the `caid-front-end` docker image below that is using [theia](https://theia-ide.org/) and already prepared with the extensions.
@@ -85,9 +85,9 @@ To install the extensions you can either [search for them from within vscode](ht
### Using the UI
Start out by cloning all the git-repositories that are part of this example. From the terminal in the bottom of the screen invoke the `clone_repos.sh` script.
Start out by cloning all the git-repositories that are part of this example. From the terminal in the bottom of the screen, invoke the `clone_repos.sh` script.
This system consists of a system-model, modelled in webgme (where models are stored in a mongo-database), source code used by the blocks in the system-model, a few git-repositories with either test-scripts or generated data. Finally there is an assurancemodel modelled in GSN Assurance that is also stored under git (in the `ansr` folder in the `gsn` repository). However from a perspective of Depi, those files are managed slightly different than regular git files where instead of being treated as regular files - the resources are acutal interpreted models defined in the code.
This system consists of a system-model, modelled in webgme (where models are stored in a mongo-database), source code related to the blocks in the system-model, a few git-repositories with either test-scripts or generated data. Finally there is an assurance-model, modelled in GSN Assurance that is also stored under git (in the `ansr` folder in the `gsn` repository). However from Depi's perspective, these git-gsn files are managed slightly differently than regular git files where instead of being treated as regular files - the resources are acutal interpreted models defined in the code.
To view the current state of the example system press `Ctrl/Cmd + Shift + P` and start typing `Depi: Blackboard` and select the command. This will prompt you for a password to log into depi - the password for the `demo`-user is `123456`.
@@ -99,12 +99,12 @@ To view the current state of the example system press `Ctrl/Cmd + Shift + P` and
#### Reveal Resources
With _Resources_ added to Depi, it is possible to navigate (granted the _Tool_ supports) to the actual implementation of that resource. For example, by selecting the Vehicle in the `webgme` _Resource Group_.
Expanding the side-menu click the three lines to right-corner and then clicking the boxed arrow in the top right corner the Vehicle model is opened up in the WebGME model editor.
Expanding the side-menu, click the three lines to right-corner and then clicking the boxed arrow in the top right corner the Vehicle model is opened up in the WebGME model editor.
You can do the same thing for the git-based _Resources_ and if the repository is cloned locally it will open up the file in the vscode-editor (or expand and highlight the folder in the explorer).
#### Show evidence and dependency chain
With the `.gsn`-file opened in the editor presse`Ctrl/Cmd + Shift + P` and start typing `GSN: Graph View` and select the command. Expanded the tree and navigate to the `TestPlanner` solution node.
With the `.gsn`-file opened in the editor press `Ctrl/Cmd + Shift + P` and start typing `GSN: Graph View` and select the command. Expand the tree and navigate to the `TestPlanner` solution node.