TY - CONF
T1 - The SCOOP Concurrency Model in Java-like Languages
AU - Torshizi, Faraz Ahmadi
AU - Ostroff, Jonathan S.
AU - Paige, Richard F.
AU - Chechik, Marsha
PY - 2009
Y1 - 2009
N2 - SCOOP is a minimal extension to the sequential object-oriented programming model for concurrency. The extension consists of one keyword (separate) that avoids explicit thread declarations, synchronized blocks, explicit waits, and eliminates data races and atomicity violations by construction, through a set of compiler rules. SCOOP was originally described for the Eiffel programming language. This paper makes two contributions. Firstly, it presents a design pattern for SCOOP, which makes it feasible to transfer SCOOP's concepts to different object-oriented programming languages. Secondly, it demonstrates the generality of the SCOOP model by presenting an implementation of the SCOOP design pattern for Java. Additionally, we describe tools that support the SCOOP design pattern, and give a concrete example of its use in Java.
AB - SCOOP is a minimal extension to the sequential object-oriented programming model for concurrency. The extension consists of one keyword (separate) that avoids explicit thread declarations, synchronized blocks, explicit waits, and eliminates data races and atomicity violations by construction, through a set of compiler rules. SCOOP was originally described for the Eiffel programming language. This paper makes two contributions. Firstly, it presents a design pattern for SCOOP, which makes it feasible to transfer SCOOP's concepts to different object-oriented programming languages. Secondly, it demonstrates the generality of the SCOOP model by presenting an implementation of the SCOOP design pattern for Java. Additionally, we describe tools that support the SCOOP design pattern, and give a concrete example of its use in Java.
UR - http://www.scopus.com/inward/record.url?scp=78649617134&partnerID=8YFLogxK
U2 - 10.3233/978-1-60750-065-0-7
DO - 10.3233/978-1-60750-065-0-7
M3 - Paper
SP - 7
EP - 27
ER -