我正在通过Alloy教程,刚刚开始this chapter。我的问题是启动该章的一句话:合金教程,断开文件系统?
现在,我们已经建立了一个确保我们的文件系统的结构正确性的模型......
当我运行建立这样的模型远远我仍然断开连接的文件系统,这似乎与这句话相矛盾。
这与合金4.2,打造从网站上下载几天前日期2012年9月25日。我做错了什么或者这是故意的?从我的理解,我没有看到模型中的任何东西,防止这样的断开。但我的理解仍然有点模糊。
相关模型复制如下:
// File system objects
abstract sig FSObject { }
sig File, Dir extends FSObject { }
// A File System sig FileSystem { live: set FSObject, root: Dir & live, parent: (live - root) ->one (Dir & live), contents: Dir -> FSObject }{ // live objects are reachable from the root live in root.*contents // parent is the inverse of contents parent = ~contents }
我可以看到live: set FSObject
线可能需要连接,但是这不是我现在该行的语义的理解。
好点。第二课中的评论使我相信,制定的约束消除了不连贯的因素。我现在看到该评论是针对从内容关系中消除不连贯的元素。谢谢! – asm 2013-02-18 20:41:24
其实本教程继续并用'live = root。* contents'修复这个问题 – eckes 2014-11-19 23:17:51