disambiguate GAL object names wrt ABS objects in different groups
Currently, abs2gal assumes that the names of ABS objects are unique (except for GuardedActions), so the naming of GAL objects rely directly on the names of the converted ABS objects. Since GAL names must be unique, it causes an issue when two objects have the same name, but are in different DefinitionGroups, which is allowed in ABS.
Example causing the bug:
AssetBasedSystem
DefinitionGroup group1 {
assetTypes {
AssetType T1 {
reference a : T1
}
}
}
DefinitionGroup group2 {
assetTypes {
AssetType T1 {
reference a : T1
}
}
}
AssetGroup example {
Asset a1 : group1::T1 {}
Asset a2 : group2::T1 {}
}
Solution: using the qualified name instead of the simple name in abs2gal