This is an old revision of this page, as edited by Yobot(talk | contribs) at 10:10, 7 January 2015(Tagging using AWB (10703)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.Revision as of 10:10, 7 January 2015 by Yobot(talk | contribs)(Tagging using AWB (10703))
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#.