[wg11] Part 28 teleconferences

Ed Barkmeyer edbark at nist.gov
Thu Jul 15 11:05:32 EDT 2004


David Price wrote:

> I'm a bit confused. If there's no user scenario/requirement where the
> runtime requires access to the EXPRESS/Part 28 parser, then why is the Part
> 28 Base XSD and Configuration XSD required when validating the XML document
> against the XSDs?

There are two answers to this:
1.  The simple XML schema (Heidi's option 1) is intended to be supported 
by EXPRESS-based validation.  (You don't need extensive XML validation 
if you are going to do EXPRESS-based validation.)  The simple XML schema 
is also easier for the "typical Vbasic programmer" (TVP) to use and the 
"XML-only modeler" = "modeler somewhat literate in XML Schema" to 
understand.  Neither of them needs to know much about the EXPRESS 
references, except that it is part of the magic incantation that 
precedes the data.  So option 1 serves 2 objectives:  EXPRESS-based 
validation and presentation to illiterate model readers.

2.  The Part 28 Base XML Schema is an accident of the design of the 
standard.  We factored all of the stuff that is invariant over all Part 
28-conforming schemas into a single XML schema and made that schema a 
normative resource.  We could have created 3 separate normative resource 
schemas, or simply required a conforming XML schema to contain all of 
those declarations, or at least the ones it uses, verbatim.  The three 
"separable base schemas" are:
- the configuration language schema
- the document structure schema
- the data types and elements that may be used in a derived XML schema
I would also observe that the last group is made much larger by the 
existence of the map directive.

[It wouldn't bother me to have separate resources and separate XML 
namespaces for each of the 3.  And it wouldn't bother me if we changed 
the standard to mandate the inclusion of the last group directly in the 
derived XML schema, but I don't think that is a better idea.  In 
general, interchange will be more reliable if people import data type 
sets rather than defining their own.]

> I do want to continue to try and explain about the communities that want a
> simple XSD and that do not want to learn EXPRESS. The complexity of the
> directives required by the XSD generator to not have to be simple. Only the
> resulting XSD has to be simple. So, removing all the configuration
> capability is not necessarily the answer if it turns out that AIM-based and
> ARM-based XSDs have different user communities with different needs.

The main issues with the configuration capability are also twofold:

1) As currently described, the configuration capability allows any 
"preprocessor" to choose a configuration set that generates a derived 
XML schema its author/user likes, and generate data sets conforming to 
that schema.  The result is that there are thousands of different XML 
data organizations and representations that conform to a given normative 
EXPRESS schema and to Part 28, and any one you use is conforming, even 
if no one else agrees to use that one.

2) To make this "agreement to disagree" work, a conforming 
post-processor is required to accept *any* of those conforming 
organizations and interpret it properly.  In effect, the postprocessor 
must dynamically generate the XSLT transform to the form it uses as a 
reference for data interpretation and perhaps EXPRESS validation.  (In 
practice, a postprocessor will generate the transform once, and reuse it 
every time it sees the same configuration file, assuming the 
preprocessor is kind enough to provide a URN and change it when the 
version of the configuration file changes, but of course we don't 
mandate that, either.)

[I personally regard the configuration capability, as currently 
specified, as totally counterproductive.  The U.S., however, holds no 
such position.]

Note, please, that everyone who thought they wanted this capability, in 
order to make their favorite XML representation conformant, has realized 
the cost of reading other people's documents and (with one notable 
exception) changed their minds.

What has emerged instead, from at least STEPTools (AP238) and 
PDTEC/ProSTEP (AP214) is a requirement to be able to describe the 
transform from the normative EXPRESS model to a specific normative XML 
schema that was designed to support the EXPRESS (ARM?) schema.  For that 
case, what is required of preprocessors and postprocessors is to conform 
to the standard that defines that normative XML schema.  The 
configuration feature of Part 28 allows the normative XML specification, 
or some supporting specification, to define the EXPRESS->XML Schema 
transform in a standard language.  And that enables a "smart" 
post-processor, of the kind the current Part 28 requires, to process 
this "foreign" XML data organization against the normative EXPRESS 
schema, and perhaps convert the data sets to a Part 21 form or some form 
that supports SDAI access.

As I understand that approach, it would make the documents conforming to 
the "foreign" XML specification "conformant to Part 28 only by 
extension" or something like that.  But no one cares whether that 
*document* "conforms to Part 28"; what is important about that 
*document* is that it conforms to AP238 or to the OMG PLM or to some 
OASIS spec.  What Part 28 defines for that case is "conformance of the 
configuration file" and "conformance of the smart post-processor" -- the 
enablers for the advanced tooling that brings these "foreign XML 
schemas" into existing SC4-technology environments.

The main thrust of the U.S. position is that there must be one standard 
XML representation that corresponds to a normative EXPRESS schema, and 
it must be simple enough to be inexpensive to program for.  There may be 
two conforming XML schemas that describe that XML representation -- one 
simple description, and one utilizing additional XML schema features to 
improve "validation" capabilities.  But "validation capabilities" and 
"configuration capabilities" must be mandated only for the "power 
tools", and be separate conformance classes or a separate standard.

[It is my personal belief that the validation capabilities should be a 
conformance class and the configuration capabilities should be a 
separate standard.  But I also believe, as I said to Howard in Bath, 
that SC4 does not currently have the resources to make a separate 
standard.  I just don't want the simple mapping to be delayed another 
year while we resolve the configuration issues.  Configuration and 
validation have already cost this project one full year.]

-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