Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使alloy在数据集上运行以检查所有规则_Javascript_Java_Python_Alloy_Declarative Programming - Fatal编程技术网

Javascript 如何使alloy在数据集上运行以检查所有规则

Javascript 如何使alloy在数据集上运行以检查所有规则,javascript,java,python,alloy,declarative-programming,Javascript,Java,Python,Alloy,Declarative Programming,我已经建立了一个alloy程序来检查系统的一些规则。现在我想检查实际系统中的规则。 为此,我有来自真实系统的所有数据。比如说, 我的合金工具检查两个用户之间寻找共同朋友的规则。我可以用合金给出一些简单的规则。现在,我想在一个大数据集中测试它。假设我有facebook好友数据集。现在,我如何将我的facebook数据集提供给alloy,以便使用alloy查找facebook用户的共同朋友 是否可以编写一个javascript/python/java包装来在我的alloy analyzer和json

我已经建立了一个alloy程序来检查系统的一些规则。现在我想检查实际系统中的规则。 为此,我有来自真实系统的所有数据。比如说,

我的合金工具检查两个用户之间寻找共同朋友的规则。我可以用合金给出一些简单的规则。现在,我想在一个大数据集中测试它。假设我有facebook好友数据集。现在,我如何将我的facebook数据集提供给alloy,以便使用alloy查找facebook用户的共同朋友


是否可以编写一个javascript/python/java包装来在我的alloy analyzer和json数据之间建立链接?

IMHO,alloy不适合在大型数据集上执行分析

话虽如此,我相信您可以使用Ruby中的Alloy嵌入,它不仅允许您编写导入数据集的脚本,还允许您指定所谓的“部分实例”,即部分填充数据的实例,可以通过分析完成

如果您更喜欢使用Java,可以直接使用(将Alloy jar添加到项目构建路径)


在开始之前,请确保可伸缩性不是一个关键要求,因为这两种方法都肯定需要您在其实现中投入一定的工作量和精力。

我一直在为Alloy开发一个合适的API,目前它处于一个新的阶段。有了这个API,可以很容易地使用Alloy作为验证器

与Loïc的回答相反,我认为您可以在相对较大的数据集上轻松地运行此操作,因为速度较慢的部分是尝试查找实例的解算器。如果您创建了一个实例,那么很容易验证它是否符合所有规则


显然,您也可以使用现有的API,但新设计的API用于您的应用程序和其他目的。显然,这是正在进行的工作,但如果有问题,您可以随时与我联系。

感谢您的帮助和推荐。我想首先使用Java,因为与Ruby相比,我对这种语言比较熟悉。你能给我指出一些有助于解决我的问题的示例代码吗?到目前为止,我已经从下载的Jar文件中下载了Jar文件。在您下载的Jar中,包
edu.mit.csail.sdg.alloy4whole
包含示例<代码>示例使用eapi.java可以是一个很好的开始。谢谢。谢谢你主动帮助我。我浏览了你的github网站。您是否有任何关于如何在项目中使用此API的示例?如前所述,它正在进行中。但是,您可以查看
org.alloytools.alloy.classic.test
项目。这包含许多测试用例。我已经尝试使
org.alloytools.alloy.api
项目中的javadoc尽可能清晰。在现实生活中,OP提到的“大数据集”很容易达到百万条条目。上一次我尝试将一个不太大的xml文件解析成A4解决方案时,我遇到了可伸缩性问题:而且,我相信OP对做的不仅仅是简单的验证(例如,从友谊关系中获得共同的朋友)感兴趣。我认为这些都是有效的用例,所以我们应该尝试让它们发挥作用。我已经为重要的类定义了接口。这使得理论上可以定义由文件映射的“惰性”元组集。它是API尝试的驱动因素之一。只是时间上的一个小问题。