https://github.com/coordaas/tusow
Tuple Spaces Over the Web
https://github.com/coordaas/tusow
agents coordination http jvm linda logic multi-agent-systems prolog tuple-space tuples web webservice
Last synced: 7 months ago
JSON representation
Tuple Spaces Over the Web
- Host: GitHub
- URL: https://github.com/coordaas/tusow
- Owner: CoordaaS
- License: apache-2.0
- Created: 2020-03-12T15:40:15.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-16T14:39:32.000Z (over 3 years ago)
- Last Synced: 2025-04-12T05:54:03.461Z (10 months ago)
- Topics: agents, coordination, http, jvm, linda, logic, multi-agent-systems, prolog, tuple-space, tuples, web, webservice
- Language: Kotlin
- Size: 1.21 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Coordination with TuSoW

The _Coordination with TuSoW_ Project is made up of several modules generally tackling with the coordination of multi-threaded,
multi-processes, distributed, or multi-agent applications through **LINDA** _tuple spaces_.
### Project Map

### Quick Links
* [GitLab Repository](https://gitlab.com/pika-lab/tuples/coordination) (the one used by developers)
* [GitHub Repository](https://github.com/CoordaaS/TuSoW/) (the public one, where releases are hosted)
## Modules `linda-*`
Module `linda-core` and its implementations (currently, `linda-logic` and `linda-text`) are aimed at letting developers
use tuple spaces programmatically in concurrent, local (i.e., **non-distributed**) applications.
## Module `tusow-service` and remote tuples spaces in `linda-*-client`
TuSoW (Tuple Spaces over the Web) is a Web wrapper for tuple spaces exposing them to the Internet as a Web Service,
through a ReST-ful API.
TuSoW wraps _all_ current implementations of `linda-core` (currently, `linda-logic` and `linda-text`).
You can either interact with TuSoW through any HTTP client or employ our implementations, which supports the usage of
remote tuple spaces using the exact same API used for local ones.
This is the purpose of modules `linda-logic-client` and `linda-text-client`, which are the remote equivalents of
`linda-logic` and `linda-text`, respectively.
Finally, module `tusow-cli` is aimed at letting users interact with TuSoW tuple spaced through a command line interface.
### Playground
You can start a TuSoW service by running:
```bash
./gradlew tusow
```
which will start a TuSoW service on the default port 8080.
If you want it to run on another port, you can start it this way:
```bash
./gradlew tusow --port
```
You can play with TuSoW through our CLI.
Let the CLI help messages drive your understanding of how the CLI works:
```bash
./gradlew tusow-cli:run --args="[COMMAND] [--help]"
```
where apexes are required and square brackets represent optionality.