我想用 Python 编写一个可扩展的程序,该程序将根据用户输入创建合金模型。特别是,我希望用户输入一个图形并使用 Alloy 告诉用户该图形是否具有欧拉路径。我已经在 Alloy 中为特定的图形实例准备好了模型。但是,我正在考虑通过 Python 代码生成 .als 文件,然后通过 Python 启动 Alloy 来评估模型。是否有我可以使用的 Alloy API 或任何命令行参数可以帮助我确定某个谓词是否一致?
谢谢
我想用 Python 编写一个可扩展的程序,该程序将根据用户输入创建合金模型。特别是,我希望用户输入一个图形并使用 Alloy 告诉用户该图形是否具有欧拉路径。我已经在 Alloy 中为特定的图形实例准备好了模型。但是,我正在考虑通过 Python 代码生成 .als 文件,然后通过 Python 启动 Alloy 来评估模型。是否有我可以使用的 Alloy API 或任何命令行参数可以帮助我确定某个谓词是否一致?
谢谢
前几天我的一个同事问了我同样的问题。
我开发了一个基于 Alloy API 的小型 Java 程序,该程序将给定 Alloy 模块的路径作为输入,分析输入模块(考虑遇到的第一个命令),并在分析器找到可满足的实例时显示(作为输出)对于给定的模块和命令。
这是这个非常简单的程序的链接。 https://www.dropbox.com/s/9ekwegj0ltfs8lq/alloy_text-based.jar?dl=0
希望能帮助到你
Python 没有 Alloy API。官方 API是Java 语言;可以在此处找到 API 使用示例(以及在 StackOverflow 上)。还有一个Alloy 在 Ruby 中的嵌入,它仍处于 alpha 阶段。