When software architectures are modeled from different viewpoints using different notations, it is necessary to keep information that appears in several models consistent. To achieve consistency for a specific system, developers need two competences: First, they have to be able to express the conceptual relationships between the elements of the involved modeling languages and domains. Second, they have to be able to enforce these relationships by implementing model transformations that keep specific model instances consistent. Current transformation approaches, however, do not separate this conceptual challenge of specifying consistency from the technical complexity of implementing it.To ease multi-view modeling, we present a generative approach, in which change-driven in-place transformations are generated from abstract specifications in order to sustain consistency between several models. These specifications can be expressed by domain experts using a consistency language that supports declarative mappings, normative invariants, and imperative response actions. The transformations generated from consistency specifications make it possible to reuse and customize technical solutions to typical consistency preservation problems. We will evaluate our approach with two case studies of component-based engineering.