2013-10-10 2 views
1

У меня есть модель сплава, у которой есть 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 компонента, а не порт один, когда я:

all m : m.belongsTo | 

и m - это модели?

Спасибо.

ответ

2

Вы можете сказать

all x: m.(Component <: belongsTo) | ... 
Смежные вопросы