This project implements a Design-by-Contract ( based concurrency library for programming language Java.

One of its main feature is its simplification of the usage of native Java concurrency constructs (wait, notify, notifyAll, join, etc.) by replacing the annoying InterruptedException checked exception with an equivalent ThreadInterruptedException unchecked exception (easing the development of concurrent Java code, and preventing a serious source of Java bugs due to the (too frequent) erroneous algorithm of ignoring exceptions).

This library is also the base of a new approach for object-oriented concurrent programming (following the ideas of MP-Eiffel - in which both models of thread communication -- shared object and message passing -- are supported. In the shared object model it is possible to fully synchronize a shared object with all the three aspects required -- internal, conditional and external -- without forcing the internal synchronization of the object to a monitor (mutual exclusion). In fact, one may safely use an internal synchronization scheme based on CoW (copy-on-write) or transactions, and still be able to externally synchronize the shared object.


Issue tracking

open closed Total
Bug 0 0 0
Funcionalidade 0 0 0
Suporte 0 0 0

View all issues


Manager: Miguel Oliveira e Silva