English
Related papers

Related papers: Using Pi-Calculus Names as Locks

200 papers

The concept of $typed$ $topology$ is introduced. In a typed topological space, some open sets are assigned "types", and topological concepts such as closure, connectedness can be defined using types. A finite data set in $R^2$ is a…

General Topology · Mathematics 2024-02-13 Wanjun Hu

We present a randomized approach for wait-free locks with strong bounds on time and fairness in a context in which any process can be arbitrarily delayed. Our approach supports a tryLock operation that is given a set of locks, and code to…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-11-01 Naama Ben-David , Guy E. Blelloch

Modern databases use dynamic search structures that store an enormous amount of data, and often serve them using multi-threaded algorithms to support the ever-increasing throughput needs. When this throughput need exceeds the capacity of…

Distributed, Parallel, and Cluster Computing · Computer Science 2026-02-17 Raaghav Ravishankar , Sandeep Kulkarni , Sathya Peri , Gokarna Sharma

We present an efficient and practical lock-free implementation of a concurrent deque that is disjoint-parallel accessible and uses atomic primitives which are available in modern computer systems. Previously known lock-free algorithms of…

Distributed, Parallel, and Cluster Computing · Computer Science 2007-05-23 Håkan Sundell , Philippas Tsigas

The dependency core calculus (DCC), a simple extension of the computational lambda calculus, captures a common notion of dependency that arises in many programming language settings. This notion of dependency is closely related to the…

Programming Languages · Computer Science 2010-04-09 Avik Chaudhuri

Locking protocol is an essential component in resource management of real-time systems, which coordinates mutually exclusive accesses to shared resources from different tasks. Although the design and analysis of locking protocols have been…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-03-19 Xu Jiang , Nan Guan , He Du , Weichen Liu , Wang Yi

Process calculi based on logic, such as $\pi$DILL and CP, provide a foundation for deadlock-free concurrent programming. However, in previous work, there is a mismatch between the rules for constructing proofs and the term constructors of…

Logic in Computer Science · Computer Science 2019-04-16 Wen Kokke , Fabrizio Montesi , Marco Peressotti

Deadlock detection in recursive programs that admit dynamic resource creation is extremely complex and solutions either give imprecise answers or do not scale. We define an algorithm for detecting deadlocks of "linear recursive programs" of…

Programming Languages · Computer Science 2013-10-29 Elena Giachino , Cosimo Laneve

In automated complexity analysis, noninterference-based type systems statically guarantee, via soundness, the property that well-typed programs compute functions of a given complexity class, e.g., the class FP of functions computable in…

Logic in Computer Science · Computer Science 2024-01-29 Emmanuel Hainry , Bruce M. Kapron , Jean-Yves Marion , Romain Péchoux

Parameterization extends higher-order processes with the capability of abstraction (akin to that in lambda-calculus), and is known to be able to enhance the expressiveness. This paper focuses on the parameterization of names, i.e. a…

Logic in Computer Science · Computer Science 2015-08-21 Xian Xu , Qiang Yin , Huan Long

We develop a version of the pi-calculus, picost, where channels are interpreted as resources which have costs associated with them. Code runs under the financial responsibility of owners; they must pay to use resources, but may profit by…

Logic in Computer Science · Computer Science 2019-03-14 matthew hennessy

Proofs (sequent calculus, natural deduction) and imperative algorithms (pseudocodes) are two well-known coexisting concepts. Then what is their relationship? Our answer is that \[ imperative\ algorithms\ =\ proofs\ with\ cuts \] This…

Logic in Computer Science · Computer Science 2022-02-15 Keehang Kwon , Hyung Joon Kwon

A binary trie is a sequential data structure for a dynamic set on the universe $\{0,\dots,u-1\}$ supporting Search with $O(1)$ worst-case step complexity, and Insert, Delete, and Predecessor operations with $O(\log u)$ worst-case step…

Data Structures and Algorithms · Computer Science 2025-09-04 Jeremy Ko

We prove a general congruence result for bisimilarity in higher-order languages, which generalises previous work to languages specified by a labelled transition system in which programs may occur as labels, and which may rely on operations…

Logic in Computer Science · Computer Science 2023-03-22 Tom Hirschowitz , Ambroise Lafont

Concurrent pattern calculus (CPC) drives interaction between processes by comparing data structures, just as sequential pattern calculus drives computation. By generalising from pattern matching to pattern unification, interaction becomes…

Logic in Computer Science · Computer Science 2015-07-01 Thomas Given-Wilson , Daniele Gorla , Barry Jay

We present a restriction of the solos calculus which is stable under reduction and expressive enough to contain an encoding of the pi-calculus. As a consequence, it is shown that equalizing names that are already equal is not required by…

Logic in Computer Science · Computer Science 2015-07-01 Thomas Ehrhard , Olivier Laurent

We present an imperative object calculus where types are annotated with qualifiers for aliasing and mutation control. There are two key novelties with respect to similar proposals. First, the type system is very expressive. Notably, it…

Programming Languages · Computer Science 2018-07-20 Paola Giannini , Marco Servetto , Elena Zucca , James Cone

We study the problem of disentangling locked processes via code refactoring. We identify and characterise a class of processes that is not lock-free; then we formalise an algorithm that statically detects potential locks and propose…

Programming Languages · Computer Science 2016-08-08 Adrian Francalanza , Marco Giunti , António Ravara

Bisimulation is crucial for verifying process equivalence in probabilistic systems. This paper presents a novel logical framework for analyzing bisimulation in probabilistic parameterized systems, namely, infinite families of finite-state…

Software Engineering · Computer Science 2025-05-16 Chih-Duo Hong , Anthony W. Lin , Philipp Rümmer , Rupak Majumdar

In type theory, coinductive types are used to represent processes, and are thus crucial for the formal verification of non-terminating reactive programs in proof assistants based on type theory, such as Coq and Agda. Currently, programming…

Logic in Computer Science · Computer Science 2018-11-01 Rasmus Ejlers Møgelberg , Niccolò Veltri
‹ Prev 1 4 5 6 7 8 10 Next ›