Flow Java: declarative concurrency for Java. - CORE CORE Search Search Services Access to raw data API Dataset FastSync Content discovery Recommender Discovery Managing content Repository dashboard Support FAQs About About CORE Blog Contact us Flow Java: declarative concurrency for Java. By Frej Drejhammar, Seif Haridi, Per Brand and Christian Schulte Get PDF (159 KB) Abstract Logic variables pioneered by (concurrent) logic and concurrent constraint programming are powerful mechanisms for automatically synchronizing concurrent computations. They support a declarative model of concurrency that avoids explicitly suspending and resuming computations. This paper presents Flow Java which conservatively extends Java with single assignment variables and futures as variants of logic variables. The extension is conservative with respect to object-orientation, types, parameter passing, and concurrency in Java. Futures support secure concurrent abstractions and are essential for seamless integration of single assignment variables into Java. We show how Flow Java supports the construction of simple and concise concurrent programming abstractions. We present how to moderately extend compilation and the runtime architecture of an existing Java implementation for Flow Java. Evaluation using standard Java benchmarks shows that in most cases the overhead is between 10% and 40%. For some pathological cases the runtime increases by up to 75% Year: 2003 OAI identifier: oai:generic.eprints.org:2807/core10762 Provided by: Software institutes' Online Digital Archive Downloaded from http://soda.swedishict.se/2807/1/flow_java_iclp03.pdf Suggested articles To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request. Useful links Blog Services About CORE Contact us Cookies Privacy notice Writing about CORE? Discover our research outputs and cite our work. CORE is a not-for-profit service delivered by the Open University and Jisc.