Mark,
I’m trying to understand how you see
the meta language and the object language represented in a modeling tool with
the EMF Extension approach. I assume that the subclasses of EClass correspond
to the meta language concepts, and instances of these subclasses correspond to object
language concepts or things, i.e. what the user is modeling. Since SBVR is the
metamodel, and every entry in SBVR is a concept, this suggests that there will
be a subclass of EClass for each SBVR concept. Is this how you see it? For the SBVR
concepts that are types of concepts (“concept” and its descendents),
an instance is a concept and can itself be instantiated. For all other concepts,
the instance is some kind of thing, identified in the tool by a reference
scheme for the concept. Since all concepts in SBVR descend from “thing”,
won’t it therefore be adequate just to make “thing” alone to descend
from EClass? This should work well with the objectification of fact types, as I
described in a previous email. Reference schemes will play a very important
role. Every SBVR concept will need a reference scheme, even those for which
SBVR does not provide one; we will have to provide one for tools to use. We
need to discuss how the necessities of SBVR are to be enforced in tools. Will
we need to tailor the EMF code generator to process these kinds of models, to
generate useful tool user interfaces and persist the models they edit?
Stan