Alternative Annex B algorithm

Ed Barkmeyer edbark at cme.nist.gov
Fri Jun 7 16:01:50 EDT 2002


Peter,

I completely agree that my algorithm did not catch the invalid combinations
of highest level supertypes.  I had forgotten about the "default ONEOF" for
highest-level supertypes, and had no rules for that.  And I agree that 2.3
Step 3 addresses just that.  (I had meant to say all that, but I was
interrupted, and when I went back to the message, I thought I had completed
what I wanted to say.)  My problem with 2.3 is only that it recalls the
Powerset shibboleth of the Annex B critics.  I simply wish there were
another way.

With respect to TOTAL_OVER, however, I disagree that your interpretation is
what was meant.  I understand the intent of the TOTAL_OVER constraint to be
that an instance of the constrained entity-type shall be an instance of at
least one of the subtypes in the list.  But I have to admit that that comes
from my prior experience with NIAM and SDM, in which constraints were
well-defined and the "totality" constraint had that explicit
interpretation.  I cannot find that interpretation in the proposed text of
the DAM. 

The proposed text for TOTAL_OVER actually says:
"A supertype entity may be declared to be fully defined for one context by a
collection of its
subtypes."
which permits something unclear, defines nothing and requires nothing.  And:
"c.  Other subtypes, however defined or constrained, must always be combined
with at
least one of the subtypes in the TOTAL_OVER specification."
whatever that is supposed to mean. How does one "combine subtypes" in
Express? In a SUBTYPE OF clause?  In an AND supertype constraint?  In an
entity constructor?

And that is the entirety of the text that describes the meaning of a
TOTAL_OVER constraint and the corresponding requirements on the population. 
But in that way, this text is consistent with all the gibberish in 9.2.4
(supertype expressions).

So I accept your position that your algorithm implements an interpretation
of TOTAL_OVER that is consistent with the proposed text.  And I was wrong
when I agree with Jochen that TOTAL_OVER declares the supertype "locally
abstract".  It apparently declares yet another useless and ill-defined
relationship among subtypes.

Let me put that another way:  If Peter's interpretation is correct, then
TOTAL_OVER serves no useful purpose and should be deleted from the DAM.  And
if it is not correct, we should discard the "normative text" of 9.7.2 and
replace it with:

"9.7.2 TOTAL_OVER constraints

A TOTAL_OVER constraint for an entity data type declares that every instance
of that entity data type  shall be an instance of at least one of the types
identified by the entity-refs in the list."

Rules and Restrictions

a. All entity-refs specified in a TOTAL_OVER constraint for a given entity
data type shall identify
direct subtypes of that entity data type.

NOTE -- Since a supertype may have more than one context, it may also have
more than one TOTAL_OVER constraint.  When two or more subtype constraints
specify TOTAL_OVER constraints for the
same entity data type, these TOTAL_OVER constraints are considered in
combination, i.e.,
TOTAL_OVER (a,b) and TOTAL_OVER (c,d) must both be satisfied."

And keep the examples.

-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