[wg11] SEDS for EXPRESS (10303-11:2004)
Ed Barkmeyer
edbark at nist.gov
Tue May 17 12:56:50 EDT 2005
Lothar Klein wrote:
> In general I agree with the clarifications you propose but would
> suggest to use in the new wording more definitions from clause 3.3,
> mainly
> - 3.3.9
> (single) entity (data type) value
"a unit of data which represents a unit of information within the class
defined by an entity data type. It is a member of the domain established
by this entity data type."
The last sentence is the definition: It is a value of ("a member of the
domain established by") an entity data type. The first part says it is
the representation of an individual in the corresponding entity (class).
I'm not so sure about that; I think that is what an entity instance
is, but I won't argue the point.
Compare with:
"3.3.6
entity
a class of information defined by common properties.
"3.3.7
entity data type
a representation of an entity. An entity data type establishes a domain
of values defined by common attributes and constraints."
I don't know what the purpose of "(single)" in 3.3.9 is. Text
references to "single entity value" mean "one entity value". And 3.3.9
is not the definition of "simple entity value", or of the partial
complex entity value produced by the implied entity constructor.
> So instead of writing
> "a) In the resulting partial complex entity value, the attribute group
> corresponding to a given entity declaration shall occur at most
> once."
> I propose to write
> "a) The resulting partial complex entity value shall consists of
> single entity values of different entity data types."
But that is not at all correct.
First, the proposed replacement is a different rule: it says that a
partial complex entity value has to involve attributes from more than
one entity declaration. That is not true. The partial complex entity
value A(2) does not involve different entity data types.
Second, the proposed replacement doesn't capture the 'at most once'
constraint: A(2)|| B("Hello" || A(5) is not a valid partial complex
entity value, but it does consist of two different entity data types.
Third, a partial complex entity value cannot possibly consist of more
than one entity value. Given the definition in 3.3.9, it would
correspond to more than one individual "information unit" in the
represented entity class.
And last, a partial complex entity value is not necessarily an "entity
value" of any "entity data type". That is, it may not be the entire
collection of attribute values that constitutes a member of any domain.
Per 3.3.15, "it has no meaning on its own". For example, given
ENTITY A; a1: INTEGER; END_ENTITY;
ENTITY B SUBTYPE OF (A); b1: STRING; END_ENTITY;
the partial complex entity value B("hello") is not a member of any
entity data type domain. A member of the domain B has the form:
A(nnn) || B(sss).
I agree that EXPRESS needs a term for the group of (explicit) attributes
that is declared in a single entity declaration, exclusive of attributes
inherited from supertypes. (Indeed, that concept is an explicit
class/entity in the EXPRESS meta-model.) In my proposed text, I used
the term "attribute group corresponding to the entity declaration" for
this. But that is very definitely not the definition of "(single)
entity (data type) value" in 3.3.9.
> Instead of
> "b) In the resulting partial complex entity value, all entity
> declarations represented shall be part of at least one valid type
> graph."
> write
> "b) In the resulting partial complex entity value, all entity
> data types represented shall be part of at least one valid
> subtype/supertype graph."
I agree that the "one valid type graph" should have been "one valid
subtype/supertype graph".
As indicated above, however, at most one entity data type can be
represented, but it is true that entity data types, not entity
declarations, correspond to nodes in the graph. So I am not sure how to
write rule (b), and perhaps it is not necessary. A combination of
attribute groups that could not be part of any valid entity value will
have no possible use.
> Instead of
> "a) The partial complex entity value shall consist of a set of
> attribute groups that corresponds to the structure of a valid
> complex entity instance, as specified in Annex B"
> write
> "a) The partial complex entity value shall consist of a set of
> single entity values whose data types corresponds to the structure
> of a valid complex entity instance, as specified in Annex B"
As above, not "single entity values". But this rule should be
rewritten, because it has several problems:
a) The partial complex entity value shall consist of a set of
attribute groups that corresponds to a valid entity value,
as specified in Annex B. The entity value may be a simple
entity value or a complex entity value."
-Ed
--
Edward J. Barkmeyer Email: edbark at nist.gov
National Institute of Standards & Technology
Manufacturing Systems Integration Division
100 Bureau Drive, Stop 8264 Tel: +1 301-975-3528
Gaithersburg, MD 20899-8264 FAX: +1 301-975-4694
"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