Characterizing and optimizing reactive systems, a continuum language-runtime
This research project was kicked off by a paper we published in REBLS 2021: 8th ACM International Workshop on Reactive and Event-Based Languages and Systems. This paper aimed at comparing the costs and benefits of three different reactive streams libraries for Java: do mature and complex libraries implementing involved optimizations perform better than newer libraries sacrificing such optimizations for a simpler codebase?
This paper is part of a greater research project aiming at exploring different ways of characterizing and optimizing reactive systems. We are currently investigating the potential for higher-level solutions such as leveraging choreography extraction to automatically translate a set of microservices into a higher level program (written in the language of choreographies) and use reduction rules to optimize communications between services (maximize concurrent communications while minimizing sequential ones) and help in the detection and fixing of concurrent issues such as deadlocks.