【问题标题】:How do I see the returned value(s) of a function in Alloy?如何查看 Alloy 中函数的返回值?
【发布时间】:2021-10-27 15:33:12
【问题描述】:

我试图了解 Alloy 中的函数是如何工作的,其中一个重要部分是测试它们。例如我有这个代码:

open util/ordering[Time]   // enforces total order on Time

sig Time {}                // instances denote timestamps

sig File {
   time : Time             // every file has exactly one timestamp
}

fun getTime[F : set File] : Time {
    {t : Time | some f : F | all x : F | f.time = t && gte[f.time,x.time]}
}

getTime 函数旨在返回给定文件集中具有最大时间戳的文件的时间值。我已经完成了这个功能,我相信它应该可以按预期工作,但我不知道如何实际测试它。我知道我可以在 Alloy 中运行函数,但我不知道如何创建一组样本文件以用作输入。每当我设法让某些东西运行时,在生成的可视化中都没有显示函数输出的内容。

【问题讨论】:

    标签: alloy


    【解决方案1】:

    在可视化中,您可以使用工具栏中的按钮打开“评估器”。

    您可以在此处输入以下内容:

    univ
    

    获取所有原子的列表。并且:

    getTime[File$0]
    

    评估函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多