【问题标题】:Projecting an instance from a A4Solution从 A4Solution 投影一个实例
【发布时间】:2013-12-06 17:58:14
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: api alloy


    【解决方案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"));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-04
      • 2021-02-25
      • 1970-01-01
      • 1970-01-01
      • 2014-08-01
      • 2014-05-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多