当前位置: 首页 > 面试题库 >

Alloy-从.als生成.xml实例

湛光明
2023-03-14
问题内容

我需要从程序中的.als生成随机的.xml实例。我设法通过在后台(不可见的JFrame)中运行Alloy并调用doOpen,doExecuteLatest和doShowLatest函数来做到这一点。但是每次我运行代码时都必须等待合金启动,这很痛苦。我认为,如果我只使用执行此过程的Alloy代码段(我想那将是kodkod)会更有效。有谁知道这是怎么做到的吗?我发现Alloy的代码非常混乱…


问题答案:

您可以使用Alloy API。遵循以下步骤可以轻松完成生成实例并将其编写为XML文件的操作:

  1. 从源文件中读取合金模型。

模型= CompUtil.parseEverything_fromFile(null,null,“ yourmodel.als”);

  1. 获取要执行的命令。例如 :

命令cmd = model.getAllCommands()。get(0);

  1. 使用在步骤2中获得的命令执行模型

A4Solution解决方案=
TranslateAlloyToKodkod.execute_command(null,model.getAllReachableSigs(),cmd,new
A4Options());

  1. 编写在步骤3中生成的解决方案

solution.writeXML(“ path / to / your.xml”);

可在Alloy jar文件的edu.mit.csail.sdg.alloy4whole软件包中找到示例



 类似资料:
  • 问题内容: 我想知道是否有一种方法可以在我拥有数据和标签的情况下自动从XSD架构生成XML文件。我想在python / java中做到这一点。似乎很有可能,但是我找不到任何允许我执行此操作的库。我正在寻找一个相当快速的解决方案。 问题答案: 查看适用于与JAXB相似的Python工具的pyXSD。 XSD用于创建Python类。Python对象用于发出XML。

  • 问题内容: 我们正在使用Oracle 11数据库和Java开发环境(使用Eclipse),并且希望将多个xml模式迁移到SQL模式。 已经看过xsd了,但是确实需要一些可以在不安装SQL Server的情况下从ant / Eclipse运行的功能。 问候, 安迪 问题答案: 另一个选择是使用JAXB生成Java对象,并使用Hibernate创建基于类层次结构的架构。 话虽如此,这取决于您要尝试做的

  • 本文向大家介绍c#递归生成XML实例,包括了c#递归生成XML实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了c#递归生成XML的方法。分享给大家供大家参考。具体实现方法如下: 这里结合网上搜到的资料,写了个递归生成xml,经过调试可以使用,数据库结构如下图所示: 代码如下: 希望本文所述对大家的C#程序设计有所帮助。

  • Alloy 是用于描述结构(structure)的语言,也是探索结构的工具。从发现安全机制的漏洞到设计电话交换网络,它已被广泛用于各种应用中。 Alloy 4 是一个自包含的可执行文件,其中包括 Kodkod 模型查找器和各种 SAT 解算器,以及标准的 Alloy 库和一系列教程示例。可以将相同的 jar 文件合并到其他应用程序中,以将 Alloy 用作 API,并包含源代码。 要求: Allo

  • 我一直在努力寻找一些可以从java中的yang模型生成示例xml/json数据的工具,例如对于xsd,有一些工具可以生成示例xml。 我试过平:1。它是用Python编写的。2.转换后,它给了我yin格式,这是相当于yang规范的xml。例如,对于以下阳代码,如果我使用pyang将其转换为阴: 这就是我得到的- 相反,我想要的是 这样我就可以得到xml,输入详细信息并根据相同的数据进行验证。

  • AlloyUI是一个构建在YUI3 (JavaScript)之上的框架,它使用Bootstrap 3 (HTML/CSS)提供了一个简单的API来构建高可伸缩的应用程序。 在线演示