Sciweavers

SIGSOFT
2007
ACM

Programming asynchronous layers with CLARITY

14 years 5 months ago
Programming asynchronous layers with CLARITY
Asynchronous systems components are hard to write, hard to reason about, and (not coincidentally) hard to mechanically verify. In order to achieve high performance, asynchronous code is often written in an event-driven style that introduces non-sequential control flow and persistent heap data to track pending operations. As a result, existing sequential verification and static analysis tools are ineffective on event-driven code. We describe clarity, a programming language that enables analyzable design of asynchronous components. clarity has three novel features: (1) Nonblocking function calls which allow event-driven code to be written in a sequential style. If a blocking statement is encountered during the execution of such a call, the call returns and the remainder of the operation is automatically queued for later execution. (2) Coords, a set of high-level coordination primitives, which encapsulate common interactions between asynchronous components and make high-level coordinatio...
Prakash Chandrasekaran, Christopher L. Conway, Jos
Added 20 Nov 2009
Updated 20 Nov 2009
Type Conference
Year 2007
Where SIGSOFT
Authors Prakash Chandrasekaran, Christopher L. Conway, Joseph M. Joy, Sriram K. Rajamani
Comments (0)