ModelElement is the absolute base class of every model element in NMF. In NMeta, this is reflected by the ModelElement metaclass instantiating the metaclass Class. Thus, every instance of a Class is a ModelElement. Consequently, the class ModelElement (located in the namespace NMF.Models) serves as the base class for every generated code for any metamodel.

ModelElement provides some addressing features like an absolute Uri and a relative Uri. Thus, it is possible to refer to any model element explicitly. If a model element is contained in a persistent model (i.e. a model saved somewhere e.g. on the hard disk), the model element is addressable through a Uri. For more details on the model element addressing, please check out the Addressing model elements wiki page.

Furthermore, every model elements have a reference to extensions, as ModelElement has a composite reference to ModelElementExtension, which instantiates Extension. This extension mechanism can be used to extend metamodels already in use. See Extending metamodels for details.

Last edited Jul 14, 2014 at 12:46 PM by georghinkel, version 1


No comments yet.