Welcome to Programming with Spaces!
pSpaces is international collaboration project lead by the Technical University of Denmark and the University of Camerino that aims at providing a simple yet powerful support for programming distributed applications with (tuple) spaces. The current support includes libraries for mainstream languages such as Java, C#, Go, JavaScript and Swift. Different classes of tuple spaces are supported. These include standard message channels to support traditional message-passing and actor-like programming, spaces with random tuple retrieval to support probabilistic programming, and Linda-like tuple spaces alike the Java libraries Klava and jRESP.
This repository contains information for programmers and developers, including:
- Hello world! - your first program with spaces
- A tutorial - how to program with spaces
- A guide for developers - how to integrate support for a new language.
- The formal semantics - a precise description of the programming model.
- Spaces in Promela - how to use the Spin model checker to model and verify pSpace applications.
pSpaces is work in progress: current work includes interoperability between applications written in different languages, support for additional mainstream languages like Python, secure communications, encryption, access control and privacy protection.
pSpaces is used in education:
- Introduction to Coordination in Distributed Applications, undergraduate course at the Technical University of Denmark