http://dat.etsit.upm.es/~luciano/en/master-thesis.pdf