2016-11-11 3 views
0

Чтобы помочь мне понять оператора стрелки (продукта), я создал модель WhitePages. Каждая белая страница имеет сопоставление от имен к адресам (это отображение имени/адреса использует оператор стрелки). Я создал предикат для отображения имени/адреса для белой страницы w. В предикате я указал, что количество ассоциаций имени/адреса равно 3. См. Модель ниже.Понимание отображения Слайда Visualizer отношения, созданного с помощью оператора стрелки

В соответствии с определением оператора стрелки отношение Name-> Address содержит все комбинации имен и адресов. Так, как я это вижу, есть только один возможный случай:

enter image description here

Удивительно, но вместо этого, Visualizer дал это:

enter image description here

Это не выглядеть как действительный экземпляр для меня. Где отображаются сопоставления имени/адреса?

sig WhitePages { 
    address: Name->Address 
} 

sig Name {} 

sig Address {} 

pred Show (w: WhitePages) {#w.address = 3} 

run Show 

ответ

1

Вы проецировали его по адресу, так что теперь у вас есть один снимок для каждого адреса. Вы увидите элемент управления пользовательского интерфейса внизу, чтобы вы могли выбрать адрес. Обратите внимание, что ваше ограничение говорит о том, что в соотношении имя-адрес есть 3 пары, поэтому они могут быть распределены по разным адресам.