The Big Data Processing (BDP) group focuses on the design and implementation of new programming languages for large systems. Large systems include multi- and many-core machines, clusters of small-scale hardware such as raspberry-pies, industry-scale cluster configurations, cloud infrastructure, etc. The Big Data Processing group puts together those involved in advancing the state of the art along the following axes:
- Distributed reactive programming models: Applications nowadays have to work under the assumption that the dataset they are operating on is constantly evolving. Any newly arriving datapoint needs to be reactively reflected in the application's behaviour. For this we explore the design and implementation of new distributed push-based reactive programming models.
- Multi-paradigm concurrency and distribution models: Over the years many programming models for concurrency and distribution have emerged. Application developers often require different models to implement the various components of their applications. Modern programming languages such as Scala and Clojure have recognised this trend and already integrate different concurrency models. However, currently, the integration does not always preserve the guarantees of each individual model. Therefore, we design and implement new multi-paradigm concurrency and distribution models that can be safely integrated.