Ed2 short to Ed1 long conversion (SUBTYPE_CONSTRAINT)

Ed Barkmeyer edbark at nist.gov
Wed May 15 18:39:11 EDT 2002


Phil Spiby wrote:
> 
> Ed,
> 
> Sorry to do this but...
> 
> > the mapping of s2 to Ed1 contains:
> >   ENTITY A SUPERTYPE OF ((B AND C) ANDOR (B AND X));
> ...
> Meaning the result set is:
> ([A, A&B&C, A&B&X, A&B&C&X] - [A&B&X]) - [A&B&C]
> = [A, A&B&C&X]
> 
> Which is exactly the same as the edition 2 interpretation.

Phil is right.  And what that means is that the meaning of AND is
defined in step (h) of Annex B and nowhere else in Part 11.  Notably, it
is impossible to obtain the interpretation in step (h) from the verbiage
in 9.2.4.4.  The Note is much closer to what is intended than the text
is.

Step (h) interprets an expression of the form S1 AND S2 as "every
instance of S1 must also be an instance of S2 and vice versa", no matter
where it appears in a supertype-expression.  Further, the meaning of a
supertype-factor as an operand in a more complex supertype-expression is
specified only in Annex B.2, and even that is only tentatively correct.  

In a similar way, step (g) of Annex B enforces ONEOF rules, no matter
where they appear.  But that is at least consistent with the
interpretation of ONEOF in 9.2.4.2.  What 9.2.4.2 does not say (and
should) is that, as an operand, ONEOF(...) means the union of the named
type populations.

And the interpretation of ANDOR in the above expression is not at all
what is stated in 9.2.4.3. It has nothing to do with overlapping
combinations of subtypes.  Rather the interpretation of ANDOR between
AND rules and ONEOF rules in the highest level expression is the same as
the semicolon between WHERE rules -- it is "and also".  

It follows that ANDOR *is* a valid connector for arbitrary subtype
expressions.

It also follows that 9.2.4.2, 9.2.4.3 and 9.2.4.4 must be rewritten so
as to make the intent of SUBTYPE_CONSTRAINTs clear.

9.2.4.2 Replace the normative text with: "The ONEOF constraint states
that the populations of the operands in the ONEOF list are mutually
exclusive.  No instance of any of the populations of the operands in the
ONEOF list shall be an instance of the population of any other operand
in the ONEOF list.  When a ONEOF constraint occurs as an operand in
another constraint it represents the union of the populations of the
operands in the ONEOF list."

9.2.4.3 Replace the normative text with: "ANDOR does not state a
constraint.  Within a complex constraint, the ANDOR represents the union
of the populations of the operand expressions.  An instance of the
population designated by the ANDOR expression may be an instance of
either operand population or both."

9.2.4.4 Replace the normative text with: "AND states the constraint that
the populations specified by the two operands shall be identical.  That
is, any instance of the left operand population shall also be an
instance of the right operand population, and any instance of the right
operand population shall also be an instance of the left operand
population.  When the AND expression occurs as an operand in a complex
constraint, it represents either/both of its operand populations."

In 9.2.4, after the second paragraph of text insert:
"The meaning of a subtype-constraint is the set of constraints stated in
the supertype-expression.  Although the result of the
supertype-expression is nominally a population, that population has no
significance.  That is, the nominal population resulting from the
supertype-expression may include instances that are not actually
contained in the constrained population, and that population does not
necessarily include all instances of the supertype.

NOTE -- A subtype-constraint can contain any number of AND constraints
and ONEOF constraints.  Each is interpreted as a separate constraint, in
addition to its interpretation as a population in the statement of some
more complex constraint.  Independent constraints can be connected by
ANDOR."

and at the end of the next paragraph, add:
"That is, Annex B characerizes the populations which satisfy the whole
subtype-constraint." 

And all of this will still be correct for SUBTYPE_CONSTRAINT.

-Ed

-- 
Edward J. Barkmeyer                       Email: edbark at nist.gov
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Mail Stop 8260          Tel: +1 301-975-3528
Gaithersburg, MD 20899-8260               FAX: +1 301-975-4482

"The opinions expressed above do not reflect consensus of NIST,
and have not been reviewed by any Government authority."



More information about the wg11 mailing list