Joscha Drechsler

dblp:129/9398 · DBLP profile ↗
← Back
4ranked-venue papers
2as first author
0since 2021 · last 2019
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 3 · 2 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
3 papers
Programming languages and type systems · 54% Concurrent programming · 20% Operating systems · 20%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Distributed systems · 68% Storage systems · 32%

Topics — the 10 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems › programming paradigms
reactive programming
0.522018
Thread-safe reactive programming · Proc. ACM Program. Lang. 2018
Distributed REScala: an update algorithm for distributed reactive programming · OOPSLA 2014
Programming languages and type systems › programming paradigms
functional reactive programming
0.412019
A fault-tolerant programming model for distributed interactive applications · Proc. ACM Program. Lang. 2019
Storage systems
crash recovery
0.412019
A fault-tolerant programming model for distributed interactive applications · Proc. ACM Program. Lang. 2019
Distributed systems
fault tolerance
0.412019
A fault-tolerant programming model for distributed interactive applications · Proc. ACM Program. Lang. 2019
Operating systems › resource management › process management
CPU scheduling
0.312018
Thread-safe reactive programming · Proc. ACM Program. Lang. 2018
Concurrent programming
synchronization
0.312018
Thread-safe reactive programming · Proc. ACM Program. Lang. 2018
Distributed systems › distributed communication › data dissemination
change propagation
0.212014
Distributed REScala: an update algorithm for distributed reactive programming · OOPSLA 2014
Distributed systems › replication › replicated data types
conflict-free replicated data types
0.112019
A fault-tolerant programming model for distributed interactive applications · Proc. ACM Program. Lang. 2019
Distributed systems › consistency models
eventual consistency
0.112019
A fault-tolerant programming model for distributed interactive applications · Proc. ACM Program. Lang. 2019
Runtime systems and virtual machines
language runtime
0.112018
Thread-safe reactive programming · Proc. ACM Program. Lang. 2018

Methods — techniques the papers use, named apart from their topics

formal proof · 0.8calculus · 0.8update algorithm · 0.4strict serializability · 0.3formal correctness proof · 0.3
YearPublicationVenuePosition
2019 A fault-tolerant programming model for distributed interactive applications
abstract
Ubiquitous connectivity of web, mobile, and IoT computing platforms has fostered a variety of distributed applications with decentralized state. These applications execute across multiple devices with varying reliability and connectivity. Unfortunately, there is no declarative fault-tolerant programming model for distributed interactive applications with an inherently decentralized system model. We present a novel approach to automating fault tolerance using high-level programming abstractions tailored to the needs of distributed interactive applications. Specifically, we propose a calculus that enables formal reasoning about applications' dataflow within and across individual devices. Our calculus reinterprets the functional reactive programming model to seamlessly integrate its automated state change propagation with automated crash recovery of device-local dataflow and disconnection-tolerant distribution with guaranteed automated eventual consistency semantics based on conflict-free replicated datatypes. As a result, programmers are relieved of handling intricate details of distributing change propagation and coping with distribution failures in the presence of interactivity. We also provides proofs of our claims, an implementation of our calculus, and an empirical evaluation using a common interactive application.
Ragnar Mogk, Joscha Drechsler, Guido Salvaneschi, Mira Mezini
Proc. ACM Program. Lang.2
2018 Thread-safe reactive programming
abstract
The execution of an application written in a reactive language involves transfer of data and control flow between imperative and reactive abstractions at well-defined points. In a multi-threaded environment, multiple such interactions may execute concurrently, potentially causing data races and event ordering ambiguities. Existing RP languages either disable multi-threading or handle it at the cost of reducing expressiveness or weakening consistency. This paper proposes a model for thread-safe reactive programming (RP) that ensures abort-free strict serializability under concurrency while sacrificing neither expressiveness nor consistency. We also propose an architecture for integrating a corresponding scheduler into the RP language runtime, such that thread-safety is provided "out-of-the-box" to the applications. We show the feasibility of our proposal by providing and evaluating a ready-to-use implementation integrated into the REScala programming language. The scheduling algorithm is formally proven correct. A thorough empirical evaluation shows that reactive applications build on top of it scale with multiple threads, while the scheduler incurs acceptable performance overhead in a single-threaded configuration. The scalability enabled by our scheduler is roughly on-par with that of hand-crafted application-specific locking and better than the scalability enabled by a scheduler using an off-the-shelf software transactional memory library.
Joscha Drechsler, Ragnar Mogk, Guido Salvaneschi, Mira Mezini
Proc. ACM Program. Lang.1
2014 Distributed REScala: an update algorithm for distributed reactive programming
abstract
Reactive programming improves the design of reactive applications by relocating the logic for managing dependencies between dependent values away from the application logic to the language implementation. Many distributed applications are reactive. Yet, existing change propagation algorithms are not suitable in a distributed setting.
Joscha Drechsler, Guido Salvaneschi, Ragnar Mogk, Mira Mezini
OOPSLA1
2013 Towards Distributed Reactive Programming
Guido Salvaneschi, Joscha Drechsler, Mira Mezini
COORDINATION2