A library for safe composition of decoupled Event-based processes
Bachelor Thesis, Master Thesis
The STG group at TU Darmstadt has formalised the E-calculus and a linear type system to model and statically validate composition of decoupled event-based processes, a.k.a. cooperative decoupled event-based processes. In the last decade, event-driven programming has become a major paradigm for developing distributed systems.
Decoupling makes it possible for new components to get deployed at runtime respectively of existing components that can crash or leave without affecting others and enables modules underlying runtime components to be developed independently, e.g., in publish-subscribe systems, components are not bound to interfaces/modules of other components. However, it is an illusion to believe that one can just run components that were developed independently of each other. At least they need to agree on the content of the messages that they exchange. Yet, the latter alone does not mean that they will accomplish something useful. Hence, there is a need to ensure that they cooperate in a sound manner.
In this project, the bachelor or master student will participate in the design and prototyping of the E-calculus and its type system as a library for a mainstream programming language, preferably Scala or Java to evaluate the practicality of the E-calculus and its type system. A performance evaluation for the library will be developed. The amount of work will be properly partitioned in relation to the degree (bachelor or master).
The ideal student has taken a course or has prior industry or research experience in programming languages, event-driven programming, cooperative and publish-subscribe architectures.
- Andi Bejleri, Mira Mezini and Patrick Eugster. : Cooperative Decoupled Processes: The E-Calculus and linearity. Modularity (former AOSD) 2016.