Where object-oriented languages deal with objects as described by classes, model-driven development uses models, as graphs
of interconnected objects, described by metamodels. A number of new languages have been and continue to be developed for this
model-based paradigm, both for model transformation and for general programming using models. Many of these use single-object
approaches to typing, derived from solutions found in object-oriented systems, while others use metamodels as model types,
but without a clear notion of polymorphism. Both of these approaches lead to brittle and overly restrictive reuse characteristics.
In this paper we propose a simple extension to object-oriented typing to better cater for a model-oriented context, including
a simple strategy for typing models as a collection of interconnected objects. We suggest extensions to existing type system
formalisms to support these concepts and their manipulation. Using a simple example we show how this extended approach permits
more flexible reuse, while preserving type safety.
Keywords MDA - MOF - Metamodelling - Type systems - Typing - Model transformation
Communicated by Dr. Lionel Briand.