pl_givenness.pl -- Matching model elements
This module defines predicates that enable matching elements
of a given model against a object-template that can be defined
in another model.
This is generally done by using a classes stereotype to indicate
the type of model-element to be matched and reinterpreting all other
attributes as attributes of the element to be matched.
- - Heiko Lewin <email@example.com>
- - GPL
- pl_givenness(Model, ObjectDescription)
- Unifies the Object-Description with an object given in the
Model. The description is a class-term whose stereotype
indicates the type of the model-elements that should be matched.
It's name is unified with the element's naming-attribute.
Any attributes of the matched element are unified with the
description's attributes, extending it's attribute list as
- This for now only matches classes and assocs as defined in
the m0 meta-model, but could be extended match elements
of any type defined in other m1-meta-models.
- As attribute-values of the matched element are matched
against the element-types list of attributes in a meta-model,
one cannot check for specific elements of list-attributes,
that is, one cannot check a class for a specific attribute but
only match it's whole attribute-list. This needs some
redefinition to be useable in a broader range of scenarios,
possibly introducing a special notion for matching an
element in the 'attributes'-attribute to avoid ambiguity.