Abstract. Numerous design decisions are made in model-based software development which often are not documented explicitly. Hence, the design knowledge is 'in the designers mind' and communicated orally, if at all, and the rationale behind the decisions is lost. Existing tools tackle this problem for architectural decisions which refer to the higher level architecture of a system. However, these decisions are separate artifacts and not linked to individual design model elements. Hence, there is no automatic check whether the design models comply with made decisions. This paper presents concepts for explicitly linking design decisions and design model elements. As first class artifacts, design decisions can be used for documentation, consistency checking, and reuse. In case consistency constraints are violated, the user is notified that the design models no longer comply with the decisions made. Reuse is realized by extracting design model changes as reusable patterns for recu...