I. Introduction
A variety of concurrency models have been introduced to improve the development of concurrent programs. Examples include the Actor model [1], Communicating Sequential Processes (CSP) [2], the Join Calculus [3], the Partitioned Global Address Space (PGAS) model [4], the tuple space model [5], and SCOOP [6]. These models introduce new programming abstractions with sophisticated semantics, raising the possibility of design flaws.