【发布时间】:2015-09-15 11:33:16
【问题描述】:
我在 Alloy 中对基于基数的特征模型进行建模,允许创建多个特征实例。
所以我的合金模型具有特征模型本身、特征和实例的签名。 Feature-Model 有一组Features和一组Instances(配置,包含所有Features的所有Instances)。一个特征有一组实例和一个包含特征允许多重性的间隔(使用下限和上限)。 现在我试图在特征的间隔中找到整数,任何配置都不会满足。
我尝试了许多不同的解决方案,但目前都没有。 例如这个断言:
assert featureInstanceCardinality{
all f: Feature, d: Int - 0 | some c: FM.config | IsPossibleCardinality[f, d] => (#(f.instances & c) = d)
}
在我看来应该导致正确的解决方案(对于每个 Feature f 和每个 Integer d,如果 d 是 f 的可能多重性,则至少存在一个配置 c,其中 f 有 d 个实例)。 不幸的是,这会为每个功能的每个可能数量的实例返回反例。
任何人都可以解释为什么会发生这种情况,或者是否有可能我正在尝试做什么? 在这种情况下,我非常感谢您的帮助。
【问题讨论】:
-
这个问题恕我直言,因为您没有提供足够的模型让我们知道发生了什么,所以这个问题仍未得到解答。如果您仍在寻求帮助,请编辑您的问题 :-)
标签: alloy