Change search
ReferencesLink to record
Permanent link

Direct link
Flow Java: declarative concurrency for Java
KTH, Superseded Departments, Microelectronics and Information Technology, IMIT.
2004 (English)Licentiate thesis, monograph (Other scientific)
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 speci c 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
2004. , vii, 72 p.
Trita-IMIT. LECS, ISSN 1651-4076 ; 04:15
Keyword [en]
Keyword [sv]
National Category
Computer Engineering
URN: urn:nbn:se:kth:diva-287OAI: diva2:8597
2005-03-03, Gemini, KTH-Forum, Isafjordsgatan, Kista, 10:30
Available from: 2005-07-11 Created: 2005-07-11

Open Access in DiVA

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

By organisation
Microelectronics and Information Technology, IMIT
Computer Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 363 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: 523 hits
ReferencesLink to record
Permanent link

Direct link