EA Toolsets project : OsMmModels

HomePage :: PageIndex :: Guest Logon
[ OsEATools | MetaModel | Overview | Base-principles and requirements | Model-objects | Entities | Relations | Models | Categories ]


Metamodel: Models


A model is a list of relations linking entities in a structured way, and presented in a structured way.

A model-type is a template (‘class’) for a specific type of model.

A model-type is, in essence, a list of permissible relation-types and any additional guiding semantic rules. (Permissible entity-types do not need to be listed, as they should be implied automatically from the relation-types.)

A model-type may present its referenced content in the form of a list, whose contents are specified by its relation-type list. In this case, one end of each included relation-type would link to the model-type itself, rather than to an entity-type or another relation-type. (Another option is for the required relation-types to be created temporarily on-the-fly by the model itself, as part of a display-method for the model-type.)

A model may optionally take the form of a visual diagram. In this case, the model must also maintain position-information for display of entities and relations and the connections between them.

A model-type will automatically enforce many types of semantic rules, because each relation-type identifies the entity-types with which it may connect. (For more complex semantic rules – such as ORM n-ary relations and other complex computed or multi-entity dependencies – additional rules may need to added to the model-type: this principle should be included in system design, but creation of the actual functionality may be left until a later implementation stage.)

To support development processes, it is necessary that the implementation of the model-type should allow the creation of ‘dangling’ relation-instances, in which a relation may be linked to a matching entity at one end but a ‘dummy’ placeholder displayed at the other. This would permit later placement of an instance of the required entity-type. In rule-checking, the ‘dummy’ placeholder should flag an incompleteness-error, equivalent to the role of the ‘NaN?’ (not-a-number) illegal-number placeholder in mathematics functions in several computing languages. Such a mechanism would also permit automatic listing of not only of allowable relation-types that may be linked to an entity on a given model (a function already available in several existing modeling tools such as Visual Case and Visual Paradigm Agilian), but also of allowable entity-types that may be attached to a ‘dangling’ relation.

Further semantic checks may be supported by comparing all included entities against the implied rules of the relation-types list. an error may be flagged if the relation-type specifies that it is mandatory for all entities of the matching type to be connected to such a relation.

Any model may be re-converted to a model-type, by converting and rationalizing its list of relation-instances to a list of relation-types encapsulated within the new model-type. Some parts of the rationalization may be done automatically, but there will also need to be facilities for manual edit, such as to clear some relation-type properties to defaults and/or to editable form.

Any model may be converted to a reference-model by defining ‘dangling’ «association» or «realization» relations for each of the entities in the intended reference-model, which would link to instances of the same respective entity-types.


[ OsEATools | MetaModel | Overview | Base-principles and requirements | Model-objects | Entities | Relations | Models | Categories ]
There is one comment on this page. [Display comments/form]