如何将以约束为中心的Alloy模型映射到编程语言代码?

时间:2018-04-16 20:01:15

标签: alloy

我非常喜欢通过简单地列出约束然后运行Alloy Analyzer来设计Alloy模型:查找满足约束的实例

但是我想到将这种以约束为中心的Alloy模型映射到编程语言代码可能很困难。可能不会将Alloy约束表达式一对一映射到Java语句。实际上,将Alloy约束表达式列表映射到Java代码可能非常困难。

如果Alloy表达式和编程语言代码之间存在巨大的语义/语法差距,那么Alloy的优势是否会减少?

设计以约束为中心的Alloy模型会更好吗?是否更好地设计以算法为中心的Alloy模型(即,使Alloy模型看起来像编程语言代码),以减少语义/句法差距?

我很想听听你对此的看法。

1 个答案:

答案 0 :(得分:1)

我的两条评论:

  1. 可以基于约束的方式进行编程。参见逻辑编程语言。

  2. 但即使您使用传统的编程语言:隐式地,模型总是在那里。它只是没有在程序代码中表达。

  3. 所以,在我看来,这个差距并没有减少Alloy的好处,并且尽可能使你的模型成为声明是明智的。