Definition of the internal meta-model that rules are written against. The model
is fully defined by all the interfaces in this package.
For convenience, several abstract (but still incomplete) implementation classes
are provided for the interfaces. These need to be subclassed further in order to
be usable, and depending on the source of the model information: