I am a PhD-student at the Software Languages Lab, which is part of the Computer Science Department of the Faculty of Sciences at the Vrije Universiteit Brussel (VUB). My work is currently funded by FWO ("Fonds Wetenschappelijk Onderzoek", or Funds for Scientific Research), which strongly supports fundamental research, under the predoctoral mandate Aspirant.
keywords: Eventual Consistency, Distributed Programming, (Dynamic Languages), (Web Programming)
Today, people commonly collaborate with peers across the world using collaborative applications such as wiki’s, documents, social networks, etc. However, when looking at all of these applications, it is perhaps surprising to find that almost none of these applications can be used when the user, or groups of users, are disconnected from the network. And yet, the ability to collaborate while being disconnected ranges from being useful (e.g. working on an airplane) to being critical (e.g. in disaster-relief scenarios where network connectivity is sparse).
The primary reason why most distributed applications do not support disconnected clients is because supporting such functionality requires deep changes to the architecture of the application. The application needs to transition from a centralized notion of application state to a distributed, possibly replicated, application state, requiring a consistency model to keep the distributed state consistent.
My research aims to investigate the fundamental abstractions that lie at the core of the different eventual consistency models. That is, what abstractions should we expose to developers so that they can easily express the different guarantees? We aim to transform these abstractions into an integrated programming model that would enable developers to implement eventual consistency models in a flexible and high-level manner. This will nurture the development of truly distributed, planetary- scale collaborative applications.