我需要在程序中从.als生成随机的.xml实例 . 我设法通过在后台运行合金(不可见的JFrame)并调用doOpen,doExecuteLatest和doShowLatest函数来做到这一点 . 但每次运行我的代码时都要等合金开始是一件痛苦的事 . 我认为如果我简单地使用合成代码部分执行此程序(我想这将是kodkod)会更有效率 . 有谁知道这是怎么做到的吗?我发现合金的代码非常令人困惑......
您可以使用Alloy API . 生成实例并将其写为XML文件可以按照以下步骤轻松完成:
model = CompUtil.parseEverything_fromFile(null,null,“yourmodel.als”);
命令cmd = model.getAllCommands() . get(0);
A4Solution解决方案= TranslateAlloyToKodkod.execute_command(null,model.getAllReachableSigs(),cmd,new A4Options());
solution.writeXML(“path / to / your.xml”);
示例可以在Alloy jar文件的edu.mit.csail.sdg.alloy4whole包中找到
1 回答
您可以使用Alloy API . 生成实例并将其写为XML文件可以按照以下步骤轻松完成:
示例可以在Alloy jar文件的edu.mit.csail.sdg.alloy4whole包中找到