English
Related papers

Related papers: Timetide: A programming model for logically synchr…

200 papers

We present a framework that takes a concurrent program composed of unsynchronized processes, along with a temporal specification of their global concurrent behaviour, and automatically generates a concurrent program with synchronization…

Logic in Computer Science · Computer Science 2012-07-05 Roopsha Samanta

Discrete-event (DE) systems are concurrent programs where components communicate via tagged events, where tags are drawn from a totally ordered set. Reactors are an emerging model of computation based on DE and realized in the open-source…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-21 Peter Donovan , Erling Jellum , Byeonggil Jun , Hokeun Kim , Edward A. Lee , Shaokai Lin , Marten Lohstroh , Anirudh Rengarajan

In this paper we propose an extension of the Rebeca language that can be used to model distributed and asynchronous systems with timing constraints. We provide the formal semantics of the language using Structural Operational Semantics, and…

Software Engineering · Computer Science 2011-08-02 Luca Aceto , Matteo Cimini , Anna Ingolfsdottir , Arni Hermann Reynisson , Steinar Hugi Sigurdarson , Marjan Sirjani

We present the first formalization and metatheory of language soundness for a user-schedulable language, the widely used array processing language Halide. User-schedulable languages strike a balance between abstraction and control in…

Programming Languages · Computer Science 2022-10-31 Alex Reinking , Gilbert Louis Bernstein , Jonathan Ragan-Kelley

The distributed computing literature considers multiple options for modeling communication. Most simply, communication is categorized as either synchronous or asynchronous. Synchronous communication assumes that messages get delivered…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-05-17 Andrei Constantinescu , Diana Ghinea , Jakub Sliwinski , Roger Wattenhofer

Context: The term reactivity is popular in two areas of research: programming languages and distributed systems. On one hand, reactive programming is a paradigm which provides programmers with the means to declaratively write event-driven…

Programming Languages · Computer Science 2019-02-05 Florian Myter , Christophe Scholliers , Wolfgang De Meuter

Distributed systems are notoriously difficult to understand and analyze in order to assert their correction w.r.t. given properties. They often exhibit a huge number of different behaviors, as soon as the active entities (peers, agents,…

Formal Languages and Automata Theory · Computer Science 2012-08-13 Volker Diekert , Anca Muscholl

Coordination protocols help programmers of distributed systems reason about the effects of transactions on the state of the system, but they're not cheap. Coordination protocols may involve multiple rounds of communication, which can hurt…

Distributed, Parallel, and Cluster Computing · Computer Science 2021-09-21 Rolando Garcia , Giulia Guidi

Asynchronous programming has appeared as a programming style that overcomes undesired properties of concurrent programming. Typically in asynchronous models of programming, methods are posted into a post list for latter execution. The order…

Programming Languages · Computer Science 2015-01-06 Mohamed A. El-Zawawy

Algorithms for the synchronisation of clocks across networks are both common and important within distributed systems. We here address not only the formal modelling of these algorithms, but also the formal verification of their behaviour.…

Logic in Computer Science · Computer Science 2018-09-28 Paul Gainer , Sven Linker , Clare Dixon , Ullrich Hustadt , Michael Fisher

The increasing use of model-based tools enables further use of formal verification techniques in the context of distributed real-time systems. To avoid state explosion, it is necessary to construct verification models that focus on the…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-11-18 Chih-Hong Cheng , Christian Buckl , Javier Esparza , Alois Knoll

Logical clocks are a fundamental tool to establish causal ordering of events in a distributed system. They have been applied in weakly consistent storage systems, causally ordered broadcast, distributed snapshots, deadlock detection, and…

Distributed, Parallel, and Cluster Computing · Computer Science 2024-08-14 Guangda Sun , Tianyang Tao , Yanpei Guo , Michael Yiqing Hu , Jialin Li

Distributed system theory literature often argues for correctness using an informal, Hoare-like style of reasoning. While these arguments are intuitive, they have not all been foolproof, and whether they directly correspond to formal proofs…

Programming Languages · Computer Science 2025-10-15 Haobin Ni , Robbert van Renesse , Greg Morrisett

The structures for the expression of fault-tolerance provisions into the application software are the central topic of this dissertation. Structuring techniques provide means to control complexity, the latter being a relevant factor for the…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-11-08 Vincenzo De Florio

We study the reachability problem for networks of timed communicating processes. Each process is a timed automaton communicating with other processes by exchanging messages over unbounded FIFO channels. Messages carry clocks which are…

Formal Languages and Automata Theory · Computer Science 2018-04-24 Lorenzo Clemente

Deterministic communication is required for applications of several industry verticals including manufacturing, automotive, financial, and health care, etc. These applications rely on reliable and time-synchronized delivery of information…

Networking and Internet Architecture · Computer Science 2024-01-22 Mahin K. Atiq , Raheeb Muzaffar

We present a new language semantics for real-time concurrency. Its operational models are higher-dimensional timed automata (HDTAs), a generalization of both higher-dimensional automata and timed automata. In real-time concurrent systems,…

Formal Languages and Automata Theory · Computer Science 2025-02-06 Amazigh Amrane , Hugo Bazille , Emily Clement , Uli Fahrenberg , Philipp Schlehuber-Caissier

The embedding of fault tolerance provisions into the application layer of a programming language is a non-trivial task that has not found a satisfactory solution yet. Such a solution is very important, and the lack of a simple, coherent and…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-01-16 Vincenzo De Florio , G. Deconinck

Runtime efficiency and termination are crucial properties in the studies of program verification. Instead of dealing with these issues in an ad hoc manner, it would be useful to develop a robust framework in which such properties are…

Programming Languages · Computer Science 2026-04-06 Weijun Chen , Yuxi Fu , Huan Long

We develop deterministic algorithms for the problems of consensus, gossiping and checkpointing with nodes prone to failing. Distributed systems are modeled as synchronous complete networks. Failures are represented either as crashes or…

Data Structures and Algorithms · Computer Science 2023-05-22 Bogdan S. Chlebus , Dariusz R. Kowalski , Jan Olkowski