我有一个Alloy模型,它有2个签名,其关系具有相同的名称。
sig Model {
components : set Component
}
sig Port extends Element {
belongsTo : Component
}
sig Component extends Element{
belongsTo : Model,
ports : set Port
}
当我尝试访问这些关系时,求解者抛出了我:
A type error has occured:
This name is ambiguous due to multiple matches:
field this/Port <: belongsTo
field this/Component <: belongsTo
当我这样做时,有没有办法明确指定我想要访问组件的关系belongTo
而不是端口1:
all m : m.belongsTo |
和m是模特?
感谢。
答案 0 :(得分:2)
你可以说
all x: m.(Component <: belongsTo) | ...