The ambition of this project is to change the way in which social machines are built. The central premise is: there is a model of interaction which sits behind any social machine, governing who can do what when, which kinds of messages can be sent and to whom, shaping the ways in which the complex socio-technical system unfolds through time. However, these interaction models are often not explicit, transparent, editable, discoverable, composable and so on, as they are scattered through many interacting pieces of code.
The Lightweight Social Calculus project develops a way to create social computation systems that starts with an interaction model, allowing all of the other components of a modern, large scale interactive system to be organised around a representation of the communication and coordination that takes place. This project uses a modified version of the so-called Lightweight Coordination Calculus, which we call the Lightweight Social Calculus (LSC). It is an executable, declarative process calculus for interactions between heterogeneous agents. Its use is based on protocols that give a minimal framework for defining patterns of communication without overly constraining the internal knowledge and decision-making architecture of the actors involved.
There are several benefits to this approach: Since protocols can be enacted mechanically, it is possible to allow computational agents to join in on an equal footing with the humans by creating protocols which represents human interaction. Protocols can also be made transparent to users in ways that make the bounds and rules of the interactions clear. Finally, protocols are amenable to formal techniques, which allows their properties, such as the flow of data through the interaction and other privacy and security-related qualities, to be verified.