In object technology, reusability is achieved primarily through class inheritance. In model engineering, where reusability is also important, it should be possible to extend a modeling artifact in a similar manner to add new capabilities. This paper presents a conceptual and practical approach to model extensibility, in which new models are created as derivations from base models. There are several situations where such an extensibility mechanism is useful and essential (e.g., in the case of hierarchies of metamodels). In order to achieve the goal of model extension, a precise definition of the extension mechanism is needed, based on a strict model definition. After describing the context of model extension through a motivating example, the paper outlines a practical implementation with characterization of its main conceptual properties. The solution is being implemented as part of the AMMA model engineering platform under Eclipse.