Change search
ReferencesLink to record
Permanent link

Direct link
Flow Java: Declarative Concurrency for Java
RISE, Swedish ICT, SICS. Department of Microelectronics and Information Technology.
Number of Authors: 1
2005 (English)Licentiate thesis, monograph (Other academic)
Abstract [en]

This thesis presents the design, implementation, and evaluation of Flow Java, a programming language for the implementation of concurrent programs. Flow Java adds powerful programming abstractions for automatic synchronization of concurrent programs to Java. The abstractions added are single assignment variables (logic variables) and futures (read-only views of logic variables). The added abstractions conservatively extend Java with respect to types, parameter passing, and concurrency. Futures support secure concurrent abstractions and are essential for seamless integration of single assignment variables into Java. These abstractions allow for simple and concise implementation of high-level concurrent programming abstractions. Flow Java is implemented as a moderate extension to the GNU gcj/libjava Java compiler and runtime environment. The extension is not specific to a particular implementation, it could easily be incorporated into other Java implementations. The thesis presents three implementation strategies for single assignment variables. One strategy uses forwarding and dereferencing while the two others are variants of Taylor's scheme. Taylor's scheme represents logic variables as a circular list. The thesis presents a new adaptation of Taylor's scheme to a concurrent language using operating system threads. The Flow Java system is evaluated using standard Java benchmarks. Evaluation shows that in most cases the overhead incurred by the extensions is between 10% and 50%. For some pathological cases the runtime increases by up to 150%. Concurrent programs making use of Flow Java's automatic synchronization, generally perform as good as corresponding Java programs. In some cases Flow Java programs outperform Java programs by as much as 33%.

Place, publisher, year, edition, pages
2005, 1. , 72 p.
National Category
Computer and Information Science
URN: urn:nbn:se:ri:diva-21052OAI: diva2:1041086
Vinnova PPC (Peer to Peer Computing, 2001-06045)
Available from: 2016-10-31 Created: 2016-10-31

Open Access in DiVA

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

Other links

By organisation
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

ReferencesLink to record
Permanent link

Direct link