Source: https://www.ibm.com/developerworks/rational/library/content/RationalEdge/nov03/t_modelinguml_db.pdf