Skip to content

NAC name overlap does not make sense in some case(s) #439

@maxkratz

Description

@maxkratz

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:

Image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions