A General-Purpose Component Model for Perpetually-Running Reactive Big Data Applications

Project Details


Since the rise of the Internet of Things, we see a growing demand for applications that reactively process big amounts of data. These applications run perpetually and evolve continuously. To build these sort of applications currently, developers need to build complex software stacks that compose several components. These components use different technologies, as they have different non- functional concerns, leading to fragmented code. Moreover, it is difficult for programs themselves to react on changes in a dynamic environment (e.g., its own execution environment that can detect an increased workload) and to changing requirements (as the program evolves).
Thus there is a need for a composition model focused on the integration of reactive components, which is what this research proposal is about. We describe a possible solution to this problem by investigating such a model with a reflective meta-interface that allows these components to process data according to different runtime semantics.
Furthermore, this component model can expanded to investigate hot- swapping of reactive applications. This will make developers able to make modifications to a running system which is useful both for developers to receive feedback and to design and maintain perpetually-running systems. However, run-time guarantees that are required by the application will need to be maintained while a code modification is taking place.
Effective start/end date1/11/1931/10/21


  • Reactive programming
  • dataflow systems
  • Big Data

Flemish discipline codes

  • System software and middleware
  • Distributed systems
  • Coding tools and techniques, testing and debugging
  • Language design, constructs and features
  • Programming languages and technologies