Jac - Java with Annotated Concurrency
Documentation
Download

Current Version (examples included) (16-Aug-2005)

Note: The current version does not yet support Java 1.5 (among other things because the Barat parser does not do so). The assert statement introduced in Java 1.4 can be used, though. The Java compiler and virtual machine invocations in the Ant file or shell scripts would have to be modified accordingly (See the Ant documentation for help with the build.xml file. javac -source 1.4, java -ea in the shell scripts).

Further Reading
Klaus-Peter Löhr, Max Haustein: JAC - Minimizing the differences between concurrent and sequential Java code. TR B-05-xx, FB Mathematik und Informatik, FU Berlin, September 2005 (pdf)
Contact
Max Haustein
History of Changes
16-Aug-2005 Changed from the previously used file suffix ".jac" to ".java". Simplifies compilation of the sources with javac (bypassing the Jac precompiler to generate sequential code or using its better error output to find syntax errors prior to using the Jac precompiler). Also enables syntax highlighting and other features in various editors.
03-Aug-2005 Minor bug fixes: internal calls of asynchronous methods without parameters corrected. throws clause in Request classes corrected.
30-Aug-2004 Minor additions to the schedule annotation (see last paragraph of section 2.11). An Ant build file has been added to the examples; the Usage section has been updated.
24-Aug-2004 Bug fixes (precondition not evaluated in some cases). The documentation has been updated (schedule and sleep annotation). New option to log (some) unknown tags.
30-Jul-2004 New version available including major modifications. There are two new annotations schedule and sleep. Most other annotations have been renamed for simplicity. The documentation has been updated.
10-Jul-2003 New version of the parser integrated (Barat 1.6.0). Multiple tags inside one comment block recognized without limitations.
25-Jun-2003 New shell script added to example. Automates bypassing the precompiler to get Java compiler error messages (see section 3.3).
23-Jun-2003 New delay parameter for the autonomy annotation inserts a pause between method calls.