The reason of failures and some tips for repairing
The most basic reason of a failing match completion is fact that
the structure of the rule's LHS is not found in the host graph.
Additionally, there may be further reasons you have to check:
- Source and/or target objects have wrong types.
- Only injective mappings are allowed.
Tip: If injective match mapping is not wanted, unset the option injective
in Preferences / Options / Transformation.
- The dangling condition is not satisfied.
Tip: Unset the option dangling in Preferences / Options
/ Transformation or make sure that no edges are left dangling
without source or target node by removing all objects that are to be deleted
from the host graph.
- A NAC is not satisfied.
- A post application condition is not satisfied.
- The type graph check (, especially the check of edge type multiplicities,
) has failed.
- Invalid attribute settings
Tip: All attribute members have to be declared correctly: An attribute member
has a type, a name and perhaps a value. Please remove empty attribute members.
Note: All attribute members of objects in the host graph have constants as
values. The values of the rule object's attribute members can be empty,
a constant, a variable, or an expression. All variables used in a rule
have to be declared and have to be instantiated by a match. Otherwise, they
are selected as In ( input parameter ) in the attribute context of
the rule to be instantiated dynamically when the transformation starts. Please
remove all unused variables in the attribute context of a rule.
- An attribute condition is not satisfied.
Tip: All variables used in conditions have to be declared in the attribute
context of the rule.
|