Как передать набор экземпляров функции или предикату в анализаторе Alloy Analyzer? - PullRequest
1 голос
/ 29 февраля 2020

BLUF: у меня есть предикат, который принимает в качестве аргументов экземпляр подписи и набор экземпляров той же подписи. После генерации экземпляров модели я хотел бы передать экземпляры подписи предикату, но затрудняюсь, как передать набор экземпляров, если это вообще возможно.

Оценщик Alloy делает не кажется хорошо документированным, если я не пропустил это. У меня есть книга Даниэля Джексона, я сделал учебник и нашел в Интернете различные другие ресурсы, но, похоже, никто не обращает внимания на то, как пользоваться оценщиком.

Я пробовал нотацию, например:

myPred[instance$0,set(instance$1,instance$2)] и

myPred[instance$0,set[instance$1,instance$2]] и

myPred[instance$0,(instance$1,instance$2)] и

myPred[instance$0,[instance$1,instance$2]]

Оценщику не нравится ни один из них. Можно ли передать набор экземпляров? Если да, то как мне это сделать? Спасибо за помощь!

1 Ответ

1 голос
/ 29 февраля 2020

Итак, как обычно для меня, почти как только я задал вопрос, я понял ответ (или, по крайней мере, способ сделать то, что я хотел). Я просто использовал оператор объединения "+", чтобы передать набор.

myPred[instance$0, instance$1 + instance$2]

Приносим извинения за неудобства, но, возможно, это поможет кому-то еще!

...