alloy

    1热度

    3回答

    合金有大量的逻辑连接词,如and和or和implies。但我找不到true和false。他们是否失踪?目前我一直在使用1=1和1=0,但这样做很不方便(并给出编译器警告)。 我的理由,顺便说一下,对于希望true和false是我写的东西,产生.als文件。我的顶级.als文件预计我的自动生成的.als文件定义了一个wellformed谓词和一个faulty谓词。有时候这些谓词很复杂,但有时候我只想

    1热度

    1回答

    有时候,当我想在合金使用递归,我发现我可以传递闭包,或序列度日。 例如,在上下文无关文法的模型: abstract sig Symbol {} sig NT, T extends Symbol {} // A grammar is a tuple(V, Sigma, Rules, Start) one sig Grammar { V : set NT, Sigma :

    0热度

    1回答

    我目前试图弄清楚,计算解决方案的最大数量如何与A4Options和其他配置属性(我使用API​​)相关。 奇怪的是,随着范围的扩大,可用解决方案的数量不会改变。无论我是否将范围限制设置为30或100个元素或任何其他数字,它们都是恒定的。 如果我修改对称破缺量(A4Options.symmetrie),我会得到大量的解决方案,但是对称性选项的影响对我来说还不太清楚。 我的问题是:有人知道如何确保我能

    0热度

    3回答

    我必须在大学项目的需求分析和规范文档中使用合金。我从简单的东西开始,只有签名和事实。这是我使用的签名: abstract sig Date{ year: one Int, month: one Int, day: one Int } abstract sig Time{ h: one Int, m: one Int, s: one

    0热度

    1回答

    我有一个合金模型,在Alloy工具(alloy4.2.jar)中运行时,可以毫无问题地生成实例。但是,当我将这个模型用作Java中Alloy api的输入时,为了逐个获取所有这些实例,一段时间后会产生内存不足错误(在出现错误之前捕获了许多实例)。 在如果命令只是在try命令之后位于(对应于JDolly.java:192在打印堆栈跟踪进一步)所述在下面的代码完全发生该错误: @Override

    0热度

    1回答

    我试图使用拓扑排序来找到遵循它们的先决条件的两个不同的顺序计划。当我执行代码时,没有找到实例,我不知道为什么。这里是我的代码: open util/relation abstract sig Course { prereq: set Course, -- c->d in prereq if c is a prerequisite of d s1, s2: set Cours

    2热度

    1回答

    有没有一种合理的方式来表示n个元素需要相互区分?具体来说,我有类似下面这样的签名: sig Node { up: lone Node, left: lone Node, right: lone Node, left_down: lone Node, right_down: lone Node } ,并希望写一个事实,即这些定义是不同的对于任何给定的节点。我相当肯定,我可以把它写成N

    1热度

    2回答

    如果我只有一个sig A并想链接它的多个实例(例如通过后继关系),Alloy会随机为它们编号(A1,A2,A3,...)。 有没有办法告诉它,我希望这些按升序排列? 或者说A3必须在A1之后出现,但A2在A4之前或类似的约束之后。

    0热度

    1回答

    我有一个模型来指定任务之间的任务和关系。其实我有不同的关系,但为了让它更简单,我们假设只有一种。简单的代码如下: open util/ordering[Time] sig Time {} abstract sig State {} lone sig Enabled extends State {} lone sig Disabled extends State {} sig Tas

    0热度

    1回答

    我运行,涉及到寻找证人对某些existentials合金命令,像这样的: pred foo { some x, y : E -> E | baz[x,y] || qux[x,y] } 合金来了一个模型,其中foo是真实的。我看着展示台中的模型,发现y恰好是空的关系。我想深入挖掘模型,看看baz或qux是否为真。所以我启动了Evaluator窗口并输入baz[$foo_x,