Source: http://hal.inria.fr/docs/00/78/31/41/PDF/2008-Didier_L_ingA_nieur_251.pdf