SPLASH 2020 (series) / ECOOP 2020 (series) / FTfJP 2020 (series) / Formal Techniques for Java-like Programs /
ConSysT: Tunable, Safe Consistency meets Object-Oriented Programming
Data replication is essential in scenarios like geo-distributed datacenters and edge computing, but it poses a challenge for data consistency. Developers either adopt Strong consistency at the detriment of performance or they embrace Weak consistency and face a higher programming complexity. We argue that language abstractions should support associating the level of consistency to data types. We present ConSysT, a programming language and middleware that provides abstractions to specify consistency types, enabling mixing different consistency levels in the same application. Such mechanism is fully integrated with object-oriented programming and type system guarantees that different levels can be mixed only in a correct way.