Change search
ReferencesLink to record
Permanent link

Direct link
Flow Java: declarative concurrency for Java.
Number of Authors: 4
2003 (English)Conference paper (Refereed)
Abstract [en]

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%.

Place, publisher, year, edition, pages
2003, 1.
National Category
Computer and Information Science
URN: urn:nbn:se:ri:diva-22403OAI: diva2:1041948
Proceedings of the Nineteenth International Conference on Logic Programming
Available from: 2016-10-31 Created: 2016-10-31

Open Access in DiVA

fulltext(159 kB)3 downloads
File information
File name FULLTEXT01.pdfFile size 159 kBChecksum SHA-512
Type fulltextMimetype application/pdf

Computer and Information Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 3 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 5 hits
ReferencesLink to record
Permanent link

Direct link