[英]No more satisfying instances
沒有為我的合金 model 生成示例,並顯示錯誤消息:“沒有更多令人滿意的示例”(見附圖)
我在合金中創建了以下小 model:
sig System
{
subSystem : System
}
// Prevent a subsystem from directly including itself
fact noDirectInclusion
{
no s : System | s in s.subSystem
}
// Prevent a subsystem from transitivelyincluding itself
fact noTransitiveInclusion
{
no s : System | s in s.^subSystem
}
pred show {}
run show for 5
“noDirectInclusion”這一事實很好地防止了子系統是其自身子系統的示例的生成。
我可能遺漏了一些微不足道的東西,但是當我也使用事實“noTransitiveInclusion”時,不再有任何示例生成錯誤消息:“沒有更多令人滿意的實例”(見附圖)
我錯過了什么?
我錯過了什么?
嘗試只用 2 個System
信號手工制作圖表...
您將看到,使用您在System
sig 中指定的約束,您只能創建一個循環...您強制System
有 1 個且恰好有 1 個subSystem
,即字段的默認值為one
。 因此,傳遞圖只能是一個具有有限對象集的循環,這會使您的事實無效。
使subSystem
成為一個lone
或set
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.