Abstract. The Unified Modeling Language (UML) favors the construction of models composed of several submodels, modeling the system comunder development at different levels of abstraction and from different viewpoints. Currently, consistency of object-oriented models expressed in the UML is not defined in the UML language specification. This allows the construction of inconsistent UML models. Defining consistency of UML models is complicated by the fact that UML models are applied differently, depending on the application domain and development process. As a consequence, a form of consistency management is required that allows the software engineer to define, establish and manage consistency, tailored specifically to the development context. In recent years, we have developed a general methodology and tool support to overcome this problem. The methodology is based on a thorough study of the notion of consistency and has led to a generic definition of the notion of consistency....