Open this publication in new window or tab >>2025 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]
Failure-transparent programming models abstract from failures by fully masking them from the programmer. They are widely used for programming distributed systems, as failures otherwise are considered a core difficulty. The most widely used of its kind for processing data is stateful dataflow streaming, a model restricted to static, directed, acyclic graphs of stateful stream processors. However, its restrictions limit the applicability of the model, as it lacks support for compositional patterns and replicated data types, making it difficult to express certain applications. Moreover, there is a lack of formal foundations and proofs of failure transparency.
This thesis contributes a semantics-agnostic definition of failure transparency, and two proofs of failure transparency, one of which is for a model of a stateful dataflow streaming system. It additionally contributes two novel programming models based on stateful dataflow streaming. The first provides extensions for compositional patterns, allowing it to express use cases such as a shopping cart. The second provides extensions for windowed conflict-free replicated data types, implemented in a low-latency programming system for global aggregations.
This thesis demonstrates the utility of failure-transparent programming models for distributed systems by contributions to its formal foundations and by making it applicable to a wider range of applications.
Abstract [sv]
Feltransparenta programmeringsmodeller abstraherar från fel genom att helt dölja dem för programmeraren. De används ofta för programmering av distribuerade system, eftersom fel annars anses vara ett centralt problem. Den mest använda modellen för databehandling är stateful dataflow streaming, en modell som är begränsad till statiska, riktade, acykliska grafer av stateful stream-processorer. Dess begränsningar begränsar dock modellens tillämpbarhet, eftersom den saknar stöd för kompositionella mönster och replikerade datatyper, vilket gör det svårt att uttrycka vissa applikationer. Dessutom saknas formella grunder och bevis för feltransparens.
Denna avhandling bidrar med en semantiksagnostisk definition av feltransparens och två bevis för feltransparens, varav ett är för en modell av ett stateful dataflow streaming system. Den bidrar dessutom med två nya programmeringsmodeller baserade på stateful dataflow streaming. Den första tillhandahåller tillägg för kompositionella mönster, vilket gör det möjligt att uttrycka användningsfall som till exempel en kundvagn. Den andra tillhandahåller tillägg för fönsterbaserade konfliktfria replikerade datatyper, implementerade i ett programmeringssystem med låg latens för globala aggregeringar.
Denna avhandling demonstrerar nyttan av feltransparenta programmeringsmodeller för distribuerade system genom bidrag till dess formella grunder och genom att göra den tillämpbar på ett bredare spektrum av applikationer.
Place, publisher, year, edition, pages
Stockholm, Sweden: KTH Royal Institute of Technology, 2025. p. xiii, 70
Series
TRITA-EECS-AVL ; 2025:102
Keywords
Failure transparency, Programming models, Stateful dataflow streaming, Operational semantics, Distributed systems, Feltransparens, Programmeringsmodeller, Stateful dataflow streaming, Operationell semantik, Distribuerade system
National Category
Computer Sciences Networked, Parallel and Distributed Computing
Identifiers
urn:nbn:se:kth:diva-372645 (URN)978-91-8106-456-8 (ISBN)
Public defence
2025-12-11, https://kth-se.zoom.us/j/65545597811, Kollegiesalen, Brinellvägen 8, Stockholm, 09:00 (English)
Opponent
Supervisors
Note
QC 20251112
2025-11-122025-11-112025-11-13Bibliographically approved