A Metamodel for Package Extension with Renaming

Package extension and template mechanisms were originally proposed as part of the Catalysis method. It has since been suggested that they can be used to capture patterns and for aspect-oriented modelling and metamodelling. This paper provides a rigorous metamodel definition of the package extension mechanism. It turns out that the definition is more subtle than one might at first think, and some of the subtleties are exposed in the paper. The paper concludes with an overview of how the core definition may be expanded to include templates and to deal with a richer base language. Tool implementation is also discussed.