我正在通過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