Jim Steel and Jean-Marc Jézéquel (2007)
On Model Typing
Journal of Software and Systems Modeling (SoSyM) 6(4):401–414.
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 modelbased 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
asmodel 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 theirmanipulation. Using a simple examplewe show
how this extended approach permits more flexible reuse, while preserving
type safety.