University project for the course of Concurrent and Distributed Programming.