Source: http://hal.inria.fr/docs/00/40/37/83/PDF/Rapport_final_16_11_2006.pdf