对 PER 中约束的可扩展性和可见性感到困惑

Confusing regarding the extensibility and visibility of constraints in PER

我对 X.691-0207 第 49 页的示例感到困惑。

根据条款 B.2.2.10(第 48 页):因为 UNION 和 INTERSECTION 都是可交换的,所以结果规则仅针对 V 第一种情况给出。如果所有组件都是 V,那么 ITU-T Rec. 的正常规则。 X.680 | ISO/IEC8824-1申请,这里不再赘述。所有组件都是 I 的情况总是给出 I,并且再次未列出。规则是:

V UNION I => I
V INTERSECTION I => V
-- The resulting V is just the V part of the intersection V EXCEPT I => V
-- The resulting V is just the V without the set difference I EXCEPT V => I
V, ..., I => I
I, ..., V => I

对以下示例的约束进行算术运算:

A13 ::= IA5String (SIZE(1..10, ...) ^ FROM("A".."D"))

产量:

  SIZE(1..10, ...) ^ FROM("A".."D")
= { SIZE(1..10, ...), ALL } ^ { SIZE(MIN..MAX), FROM("A".."D") }
= { SIZE(1..10, ...) ^ SIZE(MIN..MAX), ALL ^ FROM("A".."D") }
= { SIZE(1..10), FROM("A".."D") }

但是例子说的是"A13 has an extensible effective size constraint of SIZE(1..10,...)",可扩展性是哪里来的?

非常感谢任何帮助。

您使用的示例等同于 "V INTERSECTION V => V",因为作为交集一部分的每个约束都是 PER 可见约束。相交的结果也是 PER 可见也就不足为奇了。请注意,应用 INTERSECTION 不会消除可扩展性。与其只查看附件 B 中的信息示例,您还应该查看 X.691 的第 10.3 节中的规范规则,其中明确定义了 PER 可见约束的规则。特别是,10.3.9 表示所有大小约束都是 PER 可见的,而 10.3.21 表示当 PER 可见约束是 INTERSECTION 的一部分时,生成的约束是 PER 可见的。