-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Consider a GT rule with the following structure:
[...]
rule createDevice() {
net: Network {
++ -devices -> dev
}
++ dev: Device
}
when devNotThere
pattern findDevice {
net: Network {
-devices -> dev
}
dev: Device
}
condition devNotThere = forbid findDevice
[...]
The visualization produces the following picture:
As far as I know, the overlap of the NAC node dev and the node dev to be newly created (green) was determined via the name; if the name matches exactly, then eMoflon::IBeX-GT considers the two nodes to be identical.
However, in some cases, like the one shown above, this does not make sense. The green node dev that should be newly created can never overlap with an existing node dev (from the NAC) because it has not yet been created. Hence, the constructed GT rule shown above can never be applied if the model contains a net node and a dev node.
My proposal is not to overlap nodes to be created via names if they are also part of an NAC. Instead, we could at least show a warning with the GT validator.