从A4Solution投影实例

时间:2013-12-06 17:58:14

标签: api alloy

我正在尝试创建一个新UI来可视化我的Alloy实例。我有一个A4Solution并且已成功提取原子,关系,检查原子签名但是我似乎无法理解如何在某个sig上投影实例。

我注意到我可以尝试使用edu.mit.csail.sdg.alloy4viz.AlloyInstance,我可以选择在那里投影,但这意味着从不同的角度重新开始。< / p>

这会是要走的路吗?我更愿意从A4Solution对象中提取它。

由于

1 个答案:

答案 0 :(得分:1)

您可能希望查看edu.mit.csail.sdg.alloy4viz.StaticProjector类及其project方法---这是Alloy Visualizer实现投影的方式。如果您的可视化使用edu.mit.csail.sdg.alloy4viz.AlloyModel类,则应该能够重用StaticProjector中的现有代码;但是,从您的帖子看来,您似乎不希望使用任何alloy4viz类,在这种情况下,理解StaticProjector如何工作并将相同的想法重新应用于您的项目应该不会太难。或者你可以将A4Solution对象转换为AlloyInstance [1]并围绕alloy4viz类构建你的可视化工具,在我看来,这是一个很好的方式来进行你的项目。

[1]类似于:

a4sol.writeXML("instance.xml")
AlloyInstance inst = StaticInstanceReader.parseInstance(new File("instance.xml"));