Чтобы помочь мне понять оператора стрелки (продукта), я создал модель WhitePages. Каждая белая страница имеет сопоставление от имен к адресам (это отображение имени/адреса использует оператор стрелки). Я создал предикат для отображения имени/адреса для белой страницы w. В предикате я указал, что количество ассоциаций имени/адреса равно 3. См. Модель ниже.Понимание отображения Слайда Visualizer отношения, созданного с помощью оператора стрелки
В соответствии с определением оператора стрелки отношение Name-> Address содержит все комбинации имен и адресов. Так, как я это вижу, есть только один возможный случай:
Удивительно, но вместо этого, Visualizer дал это:
Это не выглядеть как действительный экземпляр для меня. Где отображаются сопоставления имени/адреса?
sig WhitePages {
address: Name->Address
}
sig Name {}
sig Address {}
pred Show (w: WhitePages) {#w.address = 3}
run Show