由于多个匹配,此名称不明确:

时间:2013-10-10 13:29:15

标签: alloy

我有一个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是模特?

感谢。

1 个答案:

答案 0 :(得分:2)

你可以说

all x: m.(Component <: belongsTo) | ...