Source: https://perso.liris.cnrs.fr/christine.solnon/coursUML.pdf