Deterministic Parallel Java: Difference between revisions
Successfully de-orphaned! Wikiproject Orphanage: You can help! |
Charmoniumq (talk | contribs) m Corrected broken link |
||
Line 4: | Line 4: | ||
| name = Deterministic Parallel Java |
| name = Deterministic Parallel Java |
||
| operating system = [[Cross-platform]] |
| operating system = [[Cross-platform]] |
||
| website = http://dpj.cs. |
| website = http://dpj.cs.illinois.edu |
||
}} |
}} |
||
Revision as of 21:33, 28 August 2019
![]() | The topic of this article may not meet Wikipedia's general notability guideline. (March 2009) |
OS | Cross-platform |
---|---|
Website | http://dpj.cs.illinois.edu |
Deterministic Parallel Java (DPJ) is an extension of the Java programming language which adds parallel constructs that provide a deterministic programming model for object-oriented languages. The language extensions define a type system that a programmer (or interactive porting tool) can use to annotate Java code with type information, and a compiler can use to type-check that a DPJ program has deterministic semantics, i.e., produces the same visible output for a given input, in all executions. Parallel algorithms that cannot be expressed entirely in the statically checked type system require run-time mechanisms to enforce determinism: two key research goals are to make the type system more expressive and to minimize the need to fall back to run-time techniques. With minor modifications, language extensions should be applicable to other base OO languages, such as C++ and C#.
This work is funded by NSF grants CSA 07-02724 and CNS 07-20772, and by Intel and Microsoft through the UPCRC Illinois.