Foundations of programming models for next-generation computing platforms
This strategic research plan has the goal to focus on fundamental research topics to improve the scientific output of the Software Languages Lab. A large part of the research conducted at the Software Languages Lab can be divided over three domains: Ambient Oriented Programming, Parallel Programming and Cloud Computing. The research project aims to simultaneously improve the research in these three domains based on the high degree of congruency between them. Concretely, this proposal will focus on three fundamental questions that apply over the three domains. First, how to harness concurrency and orchestrate the interaction between a large number of computations. Second, how to control the data distribution between a large number of concurrently executing processes. Finally, how to development formally grounded tools to assist the programmer to detect and fix bugs early on in the development process. In order to successfully answer these questions formal methods such as type systems, contracts, symbolic execution and model verification will be applied.