Model management tools contain common aspects that are frequently reinvented for each tool. Platform specific solutions to common problems may vary by language, however, the high-level specifications should be the same. Design patterns seek to communicate these common specifications in an abstract way that enables reuse, improves understanding and eases communication. In this paper, we present a library of fundamental design patterns based on mathematical foundations that are used as building blocks to specify more complex patterns which describe more concrete model management scenarios.