[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