This project implements a Design-by-Contract (http://en.wikipedia.org/wiki/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 (
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 - http://sweet.ua.pt/mos/phd/index.html) 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.
Manager: Miguel Oliveira e Silva