Programming Services With Correlation Sets
Correlation sets define a powerful mechanism for routing incoming communications to the correct running session within a server, by inspecting the content of the received messages. The authors present a language for programming services based on correlation sets taking into account key aspects of service-oriented systems, such as distribution, loose coupling, open-endedness and integration. Distinguishing features of their approach are the notion of correlation aliases and an asynchronous communication model. Their language is equipped with formal syntax, semantics, and a typing system for ensuring desirable properties of programs with respect to correlation sets.