English
Related papers

Related papers: Prioritise the Best Variation

200 papers

Session types provide a flexible programming style for structuring interaction, and are used to guarantee a safe and consistent composition of distributed processes. Traditional session types include only one-directional input (external)…

Logic in Computer Science · Computer Science 2022-09-15 Kirstin Peters , Nobuko Yoshida

Many concurrent programs assign priorities to threads to improve responsiveness. When used in conjunction with synchronization mechanisms such as mutexes and condition variables, however, priorities can lead to priority inversions, in which…

Programming Languages · Computer Science 2023-04-10 Stefan K. Muller , Kyle Singer , Devyn Terra Keeney , Andrew Neth , Kunal Agrawal , I-Ting Angelina Lee , Umut A. Acar

Session types provide a principled approach to typed communication protocols that guarantee type safety and protocol fidelity. Formalizations of session-typed communication are typically based on process calculi, concurrent lambda calculi,…

Programming Languages · Computer Science 2023-08-15 Hannes Saffrich , Peter Thiemann

We consider the problem of designing typed concurrent calculi with non-deterministic choice in which types leverage linearity for controlling resources, thereby ensuring strong correctness properties for processes. This problem is…

Logic in Computer Science · Computer Science 2024-12-18 Bas van den Heuvel , Daniele Nantes-Sobrinho , Joseph W. N. Paulus , Jorge A. Pérez

Locks are a classic data structure for concurrent programming. We introduce a type system to ensure that names of the asynchronous pi-calculus are used as locks. Our calculus also features a construct to deallocate a lock once we know that…

Logic in Computer Science · Computer Science 2023-09-15 Daniel Hirschkoff , Enguerrand Prebet

Building on the standard theory of process algebra with priorities, we identify a new scheduling mechanism, called "constructive reduction" which is designed to capture the essence of synchronous programming. The distinctive property of…

Programming Languages · Computer Science 2025-08-07 Luigi Liquori , Michael Mendler

Recently, Wadler presented a continuation-passing translation from a session-typed functional language, GV, to a process calculus based on classical linear logic, CP. However, this translation is one-way: CP is more expressive than GV. We…

Programming Languages · Computer Science 2014-06-16 Sam Lindley , J. Garrett Morris

Session types are a type-based approach to the verification of message-passing programs. They specify communication structures essential to enforcing program correctness; by relying on sequencing constructs, a session type can precisely…

Programming Languages · Computer Science 2025-05-14 Alen Arslanagić , Jorge A. Pérez , Dan Frumin

Previous work has shown that there are two major complexity barriers in the synthesis of fault-tolerant distributed programs: (1) generation of fault-span, the set of states reachable in the presence of faults, and (2) resolving deadlock…

Distributed, Parallel, and Cluster Computing · Computer Science 2009-12-15 Fuad Abujarad , Borzoo Bonakdarpour , Sandeep S. Kulkarni

Session types are a rich type discipline, based on linear types, that lifts the sort of safety claims that come with type systems to communications. However, web-based applications and microservices are often written in a mix of languages,…

Programming Languages · Computer Science 2019-11-20 Atsushi Igarashi , Peter Thiemann , Yuya Tsuda , Vasco T. Vasconcelos , Philip Wadler

Session types provide a flexible programming style for structuring interaction, and are used to guarantee a safe and consistent composition of distributed processes. Traditional session types include only one-directional input (external)…

Logic in Computer Science · Computer Science 2022-08-16 Kirstin Peters , Nobuko Yoshida

We prove cut-off results for deadlocks and serializability of a $PV$-thread $T$ run in parallel with itself: For a $PV$ thread $T$ which accesses a set $\mathcal{R}$ of resources, each with a maximal capacity…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-06-01 Lisbeth Fajstrup

We introduce a novel approach to studying properties of processes in the {\pi}-calculus based on a processes-as-formulas interpretation, by establishing a correspondence between specific sequent calculus derivations and computation trees in…

Logic in Computer Science · Computer Science 2025-05-27 Matteo Acclavio , Giulia Manara , Fabrizio Montesi

We present the first session typing system guaranteeing request-response liveness properties for possibly non-terminating communicating processes. The types augment the branch and select types of the standard binary session types with a set…

Logic in Computer Science · Computer Science 2017-01-11 Søren Debois , Thomas Hildebrandt , Tijs Slaats , Nobuko Yoshida

Prior work has extended the deep, logical connection between the linear sequent calculus and session-typed message-passing concurrent computation with equi-recursive types and a natural notion of subtyping. In this paper, we extend this…

Programming Languages · Computer Science 2017-02-09 Coşku Acay , Frank Pfenning

We present algorithms to synthesize component-based systems that are safe and deadlock-free using priorities, which define stateless-precedence between enabled actions. Our core method combines the concept of fault-localization (using…

Logic in Computer Science · Computer Science 2011-10-10 Chih-Hong Cheng , Saddek Bensalem , Yu-Fang Chen , Rongjie Yan , Barbara Jobstmann , Harald Ruess , Christian Buckl , Alois Knoll

The classes of depth-bounded and name-bounded processes are fragments of the pi-calculus for which some of the decision problems that are undecidable for the full calculus become decidable. P is depth-bounded at level k if every reduction…

Logic in Computer Science · Computer Science 2017-09-05 Hans Hüttel

We introduce an infinitary first order linear logic with least and greatest fixed points. To ensure cut elimination, we impose a validity condition on infinite derivations. Our calculus is designed to reason about rich signatures of…

Logic in Computer Science · Computer Science 2021-03-09 Farzaneh Derakhshan , Frank Pfenning

CPU scheduling is the reason behind the performance of multiprocessing and in time-shared operating systems. Different scheduling criteria are used to evaluate Central Processing Unit Scheduling algorithms which are based on different…

Operating Systems · Computer Science 2022-05-17 Raghav Dalmia , Aryaman Sinha , Ruchi Verma , P. K. Gupta

We revisit the deadlock-prevention problem by focusing on priority digraphs instead of the traditional wait-for digraphs. This has allowed us to formulate deadlock prevention in terms of prohibiting the occurrence of directed cycles even in…

Distributed, Parallel, and Cluster Computing · Computer Science 2014-01-07 Fabiano de S. Oliveira , Valmir C. Barbosa