Part 28 support for Express v2

David Price david.price at eurostep.com
Tue Sep 16 07:43:28 EDT 2003


All,

I thought the reason for writing the normative short-to-long in E2 was so
that P28, etc. didn't have to change at all. For example, what's the use of
extensible enums/selects in an XML representation of a long form schema?

Cheers,
David

-----Original Message-----
From: owner-wg11 at steptools.com [mailto:owner-wg11 at steptools.com] On Behalf
Of Ed Barkmeyer
Sent: 15 September 2003 22:58
To: STEP Part 28; SC4 WG11
Subject: Part 28 support for Express v2


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