Title
Flow Java: Declarative Concurrency for Java
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
DOI
Venue
2003
10.1007/978-3-540-24599-5_24
Lecture Notes in Computer Science
Keywords
Field
DocType
computer engineering,natural sciences,constraint programming,object oriented,computer science
Programming language,Java annotation,Computer science,Java concurrency,Real time Java,Algorithm,Generics in Java,strictfp,Java Modeling Language,Concurrent object-oriented programming,Java,Distributed computing
Conference
Volume
ISSN
Citations 
2916
0302-9743
6
PageRank 
References 
Authors
0.50
15
4
Name
Order
Citations
PageRank
Frej Drejhammar1142.03
Christian Schulte238733.89
Per Brand335128.53
Seif Haridi41849151.03