Java Alloy-从.als生成.xml实例

Java Alloy-从.als生成.xml实例,java,analyzer,alloy,Java,Analyzer,Alloy,我需要从程序中的.als生成随机的.xml实例。我通过在后台运行alloy(隐形JFrame)并调用doOpen、doExecuteLatest和doShowLatest函数来实现这一点。但每次运行代码时都要等待启动是一件痛苦的事情。我认为,如果我只是使用执行此过程的alloy代码部分(我想应该是KOD),那么效率会更高。 有人知道怎么做吗?我发现alloy的代码非常混乱…您可以使用alloy API。 生成实例并将其写入XML文件可以通过以下步骤轻松完成: 从源文件中读取合金模型 model=

我需要从程序中的.als生成随机的.xml实例。我通过在后台运行alloy(隐形JFrame)并调用doOpen、doExecuteLatest和doShowLatest函数来实现这一点。但每次运行代码时都要等待启动是一件痛苦的事情。我认为,如果我只是使用执行此过程的alloy代码部分(我想应该是KOD),那么效率会更高。 有人知道怎么做吗?我发现alloy的代码非常混乱…

您可以使用alloy API。 生成实例并将其写入XML文件可以通过以下步骤轻松完成:

  • 从源文件中读取合金模型

    model=CompUtil.parseEverything\u fromFile(null,null, “yourmodel.als”)

  • 获取要执行的命令。例如:

    Command cmd=model.getAllCommands().get(0)

  • 使用步骤2中获得的命令执行模型

    A4Solution solution=translateAlloyToKod.execute_命令(null, model.getAllReachableSigs(),cmd,new A4Options())

  • 编写步骤3中生成的解决方案

  • solution.writeXML(“path/to/your.xml”)


    示例可以在Alloy jar文件的整个包edu.mit.csail.sdg.alloy4中找到

    您不知道这有多大帮助!非常感谢你!如何迭代解决方案?(她问道