Мне очень нравится создавать модели Alloy, просто перечисляя ограничения, а затем запуская анализатор Alloy: Найдите экземпляры, удовлетворяющие ограничениям.
Но мне пришло в голову, что отображение таких ориентированных на ограничения моделей Alloy в код языка программирования может быть затруднено. Вероятно, не будет однозначного сопоставления выражений ограничений Alloy, скажем, с операторами Java. Действительно, сопоставление списка выражений ограничений Alloy с кодом Java, вероятно, будет довольно сложным.
Если существует огромный семантический/синтаксический разрыв между выражениями Alloy и кодом языка программирования, то не уменьшается ли преимущество Alloy?
Не лучше ли не разрабатывать модели Alloy, ориентированные на ограничения? Не лучше ли было бы вместо этого разрабатывать модели Alloy, ориентированные на алгоритмы (т. е. создавать модели Alloy, которые выглядят как код языка программирования), чтобы уменьшить семантический/синтаксический разрыв?
Я очень хочу услышать ваши мысли по этому поводу.