Concurrency is becoming increasingly important, as it significantly augments the overall speed of execution in modern parallel and distributed platforms. However, interference from concurrently executing programs may impact the consistency and coherence of persistent data. Whereas locking mechanisms to achieve mutual exclusive access are used to counter this threat in single processor systems, this approach may result in serious performance degradation when applied in distributed systems such as data grids. Therefore commonly deployed consistency models provide a compromise between failure-protection, availability, and consistency, but they do not protect data coherence. We propose a novel method to protect data coherence in non-transactional distributed systems. Our research builds on the multiparty asynchronous session types theory by Honda et al. in which structured conversations between processes are specified as session protocols. We propose to 1) extend the underlying calculus with constructs to support coherence and 2) to enhance a related domain specific language with features that allow software engineers to specify coherence needs. We show that our method can be used to prove that data remains coherent.
- Master Software Engineering