Coqa: A Concurrent Programming Model With Ubiquitous Atomicity
Source: Johns Hopkins University
This paper introduces a new language model, Coqa, for deeply embedding concurrent programming into objects. Every program written in Coqa has the desirable built-in behaviors of quantized atomicity, mutual exclusion, and race freedom. Such a design inverts the default mode of e.g. Java, where such properties have to be manually coded using primitive language constructs such as synchronized, resulting in programs that are vulnerable to surprising run time errors. A key property of Coqa is the notion of quantized atomicity: All concurrent program executions can be viewed as being divided into quantum regions of atomic execution, greatly reducing the number of interleavings to consider.