Api 通过A4A解决方案
我目前正在我的项目中使用Alloy api,我需要显示一个4Solutions。我可以用Vizaliser Alloy提供的(vizGUI)轻松做到这一点,但它对我的用途来说有点太有限了。因此,我愿意从A4Solution对象生成自己的图形(使用任何其他图形api) 我能够毫无问题地得到原子(这很简单),但我真的看不出如何恢复这些原子之间的关系Api 通过A4A解决方案,api,alloy,Api,Alloy,我目前正在我的项目中使用Alloy api,我需要显示一个4Solutions。我可以用Vizaliser Alloy提供的(vizGUI)轻松做到这一点,但它对我的用途来说有点太有限了。因此,我愿意从A4Solution对象生成自己的图形(使用任何其他图形api) 我能够毫无问题地得到原子(这很简单),但我真的看不出如何恢复这些原子之间的关系 我在网上查找了一些关于如何解析A4解决方案的示例,但不幸的是没有找到任何结果 关系或字段,您可以从SIG中检索,然后对它们进行求值,以获得具体的原子,如
我在网上查找了一些关于如何解析A4解决方案的示例,但不幸的是没有找到任何结果 关系或字段,您可以从SIG中检索,然后对它们进行求值,以获得具体的原子,如下所示:
A4Solution sol = ...;
SafeList<Sig> sigs = sol.getAllReachableSigs();
for (Sig sig : sigs) {
SafeList<Field> fields = sig.getFields();
for (Field field : fields) {
A4TupleSet ts = (A4TupleSet)(sol.eval(field));
for(A4Tuple t: ts)
for(int i=0; i<t.arity(); i++)
t.atom(i);
}
}
a4solutionsol=。。。;
SafeList sigs=sol.getAllReachableSigs();
for(Sig-Sig:sigs){
SafeList fields=sig.getFields();
用于(字段:字段){
A4TupleSet ts=(A4TupleSet)(sol.eval(字段));
用于(A4对t:ts)
对于(inti=0;这正是我想要的。实际上非常简单…非常感谢您的快速支持!