A capability calculus for concurrency and determinism

Tachio Terauchi, Alex Aiken

Research output: Contribution to journalArticle

21 Citations (Scopus)

Abstract

This article presents a static system for checking determinism (technically, partial confluence) of communicating concurrent processes. Our approach automatically detects partial confluence in programs communicating via a mix of different kinds of communication methods: rendezvous channels, buffered channels, broadcast channels, and reference cells. Our system reduces the partial confluence checking problem in polynomial time (in the size of the program) to the problem of solving a system of rational linear inequalities, and is thus efficient.

Original languageEnglish
Article number27
JournalACM Transactions on Programming Languages and Systems
Volume30
Issue number5
DOIs
Publication statusPublished - 2008 Aug 1
Externally publishedYes

Fingerprint

Polynomials
Communication

Keywords

  • Capabilities
  • Determinism
  • Type systems

ASJC Scopus subject areas

  • Software

Cite this

A capability calculus for concurrency and determinism. / Terauchi, Tachio; Aiken, Alex.

In: ACM Transactions on Programming Languages and Systems, Vol. 30, No. 5, 27, 01.08.2008.

Research output: Contribution to journalArticle

@article{5c7b48f1a615481591012d38d050a3dd,
title = "A capability calculus for concurrency and determinism",
abstract = "This article presents a static system for checking determinism (technically, partial confluence) of communicating concurrent processes. Our approach automatically detects partial confluence in programs communicating via a mix of different kinds of communication methods: rendezvous channels, buffered channels, broadcast channels, and reference cells. Our system reduces the partial confluence checking problem in polynomial time (in the size of the program) to the problem of solving a system of rational linear inequalities, and is thus efficient.",
keywords = "Capabilities, Determinism, Type systems",
author = "Tachio Terauchi and Alex Aiken",
year = "2008",
month = "8",
day = "1",
doi = "10.1145/1387673.1387676",
language = "English",
volume = "30",
journal = "ACM Transactions on Programming Languages and Systems",
issn = "0164-0925",
publisher = "Association for Computing Machinery (ACM)",
number = "5",

}

TY - JOUR

T1 - A capability calculus for concurrency and determinism

AU - Terauchi, Tachio

AU - Aiken, Alex

PY - 2008/8/1

Y1 - 2008/8/1

N2 - This article presents a static system for checking determinism (technically, partial confluence) of communicating concurrent processes. Our approach automatically detects partial confluence in programs communicating via a mix of different kinds of communication methods: rendezvous channels, buffered channels, broadcast channels, and reference cells. Our system reduces the partial confluence checking problem in polynomial time (in the size of the program) to the problem of solving a system of rational linear inequalities, and is thus efficient.

AB - This article presents a static system for checking determinism (technically, partial confluence) of communicating concurrent processes. Our approach automatically detects partial confluence in programs communicating via a mix of different kinds of communication methods: rendezvous channels, buffered channels, broadcast channels, and reference cells. Our system reduces the partial confluence checking problem in polynomial time (in the size of the program) to the problem of solving a system of rational linear inequalities, and is thus efficient.

KW - Capabilities

KW - Determinism

KW - Type systems

UR - http://www.scopus.com/inward/record.url?scp=51849136830&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=51849136830&partnerID=8YFLogxK

U2 - 10.1145/1387673.1387676

DO - 10.1145/1387673.1387676

M3 - Article

AN - SCOPUS:51849136830

VL - 30

JO - ACM Transactions on Programming Languages and Systems

JF - ACM Transactions on Programming Languages and Systems

SN - 0164-0925

IS - 5

M1 - 27

ER -