Part 28 support for Express v2

Ed Barkmeyer edbark at nist.gov
Mon Sep 15 17:58:29 EDT 2003


All,

Since Heidi and Josh have both asked about Part 28 v2 support for EXPRESS v2, I 
thought I would contribute my (limited) analysis.

I believe that Part 28 v2 can be easily modified to support EXPRESS v2, because 
very little text needs to be changed.

It is important to say (as Part 28 does, I think) that one can only map the 
"context schema for the exchange data set" (aka "the long form") into XML 
Schema.  You can map a module schema to XML schema if that module completely 
describes some data sets you want to exchange.  But you can't map a "module 
schema" to XML and then "import" that XML Schema where the EXPRESS exchange 
schema USEs the module schema.  That doesn't work even for EXPRESS v1, unless 
you make certain rules about EXPRESS features you can't use (e.g. you have to be 
able to use XML schema inheritance - one supertype, ONEOF subtypes).

Express Ed 2 has only a few features of interest:

  - extensible ENUMERATIONs
are only "extensible" in reference schemas and module schemas.  In the exchange 
schema that is the context schema for an exchange, they are whatever they have 
been extended to be and no more.  So we should choose our wording carefully with 
respect to the set of enumeration items that become facets of the XML data type, 
but otherwise we don't need to change anything.

  - extensible SELECTs
Similarly.  An exchange schema can extend extensible SELECTs and it can prune 
choices from any interfaced SELECT type.  But the result is a closed 
select-list.  All we have to do is choose the wording carefully.

  - renaming of attributes
We need to look at this one, but only for the case of inheritance with 
redeclared attributes (6.6.3).  In any case, we only have to mention that the 
redeclaration can include a new name.  In XML schema, it will look like a new 
content element/attribute and the deletion of the inherited one -- the EXPRESS 
relationship between them will be lost.  But that happens if you rename an 
attribute by configuration directive as well.

  - SUBTYPE CONSTRAINTs
These are global rules and are not, in general, mapped to XML schema.  It is 
possible to declare an entity ABSTRACT in a SUBTYPE_CONSTRAINT, but we only say 
"if the entity is declared ABSTRACT", we don't say where.  We should do that in 
a Note, and mention both ABSTRACT SUPERTYPE and ABSTRACT (ENTITY).

  - TOTAL_OVER and the reworking of the supertype constraint text
This only affects (global) rules and does not affect the mapping to XML schema.

  - ABSTRACT entities
What we say about mapping entities that are declared ABSTRACT is still correct. 
  But EXPRESSv2 ABSTRACT entities can have attributes whose data types are 
"generalized" (like GENERIC_OBJECT or AGGREGATE OF T).  Since such attributes 
*must be redeclared* in the instantiable subtypes, it is not actually necessary 
to map them to XML schema at all.  In all valid EXPRESS schemas, the subtype 
mapping will "add" the refined attribute to the XML schema data type, thinking 
it is "redeclaring" it.  That is my preferred solution.

This approach does require us to distinguish things that are syntactically 
'generalized_aggregation_types' but also satisfy 'aggregation_type' from those 
that don't satisfy 'aggregation_type'.  E.g.
  ENTITY gizmo ABSTRACT;
    coordinates: ARRAY[1:4] OF REAL;
    associates:  ARRAY[1:4] OF GENERIC_OBJECT;
  END_ENTITY;
'coordinates' and 'associates' both have 'generalized_aggregation_types'; but 
only 'coordinates' also satisfies 'aggregation_type'.  If XML inheritance is not 
used for gizmo, gizmo is not mapped at all.  If XML inheritance is used, 
attribute 'coordinates' need not be redeclared and must be directly mapped to 
XML schema; attribute 'associates' must be redeclared and need not be mapped 
directly to XML schema.  (It occurs to me that EXPRESS v2 itself is not clear on 
this point, but will almost certainly say that when clarified.)

I don't know of any other EXPRESS v2 feature we need to address.

-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-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