Protection is related to Sock. 
Upper is related to Class. Class is related to Programming. Programming is a form of Program. 
Protection <--RelatedTo--> Sock 
Upper <--RelatedTo--> Class <--RelatedTo--> Programming --FormOf--> Program 