我正在尝试创建一个新的UI来可视化我的合金实例。我已经获得了一个A4Solution,并成功地提取了原子、关系、检查原子签名,但似乎无法理解如何将实例投影到某些sig上。
我注意到我可以尝试使用edu.mit.csail.sdg.alloy4viz.AlloyInstance,我可以选择在那里进行项目,但这意味着重新开始,从不同的角度。
这是应该走的路吗?我更愿意从A4Solution对象中提取它。
谢谢
发布于 2013-12-08 18:26:27
您可能想看看edu.mit.csail.sdg.alloy4viz.StaticProjector类及其project方法--这就是合金可视化器实现投影的方式。如果您的可视化使用edu.mit.csail.sdg.alloy4viz.AlloyModel类,您应该能够重用StaticProjector中的现有代码;但是,从您的文章中可以看出,您似乎不喜欢使用任何alloy4viz类,在这种情况下,理解StaticProjector如何工作并将相同的想法重新应用到您的项目中应该不会太困难。或者您可以将A4Solution对象转换为AlloyInstance1,并围绕alloy4viz类构建可视化工具,在我看来,这将是进行项目的好方法。
1类似于:
a4sol.writeXML("instance.xml")
AlloyInstance inst = StaticInstanceReader.parseInstance(new File("instance.xml"));https://stackoverflow.com/questions/20430492
复制相似问题