Source: http://miage.univ-nantes.fr/miage/DVD-MIAGEv2/UML_files/ENRCChap5.pdf