DbC Concurrency Library
(mos's homepage)


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 frequent erroneous algorithm of ignoring exceptions).

A public git repository for this library can be found at http://code.ua.pt/projects/dbc-concurrency-library.

Latest version: 0.9 (November 2018)

This library was developed both as a teaching support for PCOO course and also for usage in Concurrent Contract-Java code generation. An example of an abstract synchronization for a shared Queue (keen to an almost 100% automatic generation) with support for internal, conditional and external synchronization aspects, with descendants implementing five different internal synchronization schemes (Monitor, Reader-Writer Exclusion,  a Reader-Writer Concurrent, Copy-on-Write, Transaction), can be found here (packages pt.ua.concurrent and pt.ua.base required).


(mos at ua.pt) University of Aveiro, DETI/IEETA