OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ubl-ttsc message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: UBL-TTSC: Action requested on use case discussion


On Tue, 9 Dec 2003, Anne Hendry wrote:
>>
>>Use case for Atomic compliance (use of UBL schema/ABIEs):
>>   User is free to use all ABIEs in UBL 1.0, but in use/reuse,
>>   schema fragements must remain intact - no modification of
>>   namespace, local names, etc. within adopted ABIE fragements.
>>   Eg. Warehouse Inventory Delivery document which is not a UBL
>>   document includes UBL Reusable:AddressType schema fragment,
>>   in full, as is, from UBL 1.0.

I couldn't do the summary better;  this is good.

The "Reusable" carries the meaning of XML prefix, and expands
to the namespace value of that defined for UBL's Reusable schema.
So there's no more than that in using the word "Reusable" as a
prefix.  In so far as NDR and LC are concerned, I think the
word "Reusable" has been consistently used to refer to the
Reusable schema.  But I can understand your concern about potential
cross-fire in meanings when one customizes and start "reusing"
or "using" types and elements.  However, I suppose the context
and case-spelling surrounding their uses would make it sufficiently
clear.



>>Looking at (5) again, it has several components.  Perhaps we should
>>split (5) into 2 or 3, and have this be one of the subsets?
>>Or just create new upper level ones from the contents of (5)?
>>It depends on how many buckets we might want.

I thought the list you condensed out of the discussion was good
because it gives a very useful summary of various thoughts on
how people see, or might see, customization take place.  We can
leave (5) as-is, and start by applying the Atomic Model of
customization and compliance to see if that works out for the
use case. 

For instance, applying it to (5)'s RosettaNet's needs, they
might have implemented a number of schemas on their own with
local definitions.  However, UBL's NDR has suggested using global
and has resulted in global definitions being applied across 
the UBL schemas.  Now, suppose RN looks at AddressType and wants to
"use" it with some modification:

   - adding 1 field called RN:SubZipCode of type xsd:int
   - not using Reusable:AddressType's "ID", and "AdditionalStreetName"
     fields.

These example modifications would serve to illustrate how we can
make a step forward in terms of customization.

There're immediately two clear ways of "using" it:
------------------------------------------------------------------
(A) Start from UBL Reusable:AddressType, and EXTEND.

    By the Atomic Model of Customization and Compliance (AMCC),
    they would not touch any field within AddressType.
    To use AddressType, they would define a RN:MyAddressType
    envelope around UBL's Reusable:AddressType, looking something
    like (in the instance space):

    <RN:MyAddressType>
       <Reusable:AddressType> 
         .. atomic content structure .. 
       </Reusable:AddressType>
       <RN:SubZipCode>
         <RN:MainPart> ... </RN:MainPart>
         <RN:SubPart> ... </RN:SubPart>
       </RN:SubZipCode>
    </RN:MyAddressType>

    Note that the RN:SubZipCode structure could be defined within
    RN schema to be locally defined elements and it would still
    interoperate and not affect UBL's Reusable:AddressType 
    definition.

    On address their (example) need to not use AddressType's
    ID & AdditionalStreetName, RN would document in the usage
    of their new "RN:MyAddressType" to specify that sender's
    MUST always not define the contents of (XPath) 
    AddressType/ID and AddressType/AdditionalStreetName.
    This is permitted under current definition of UBL's 
    AddressType as the minOccurs are "0".  


(B) Start from RN's intended MyAddressType2 (to differentiate from
    (A)'s definition), and pick from the buffet menu the components
    within Reusable:AddressType, which are atomic BBIEs or ABIEs.

    A sample instance would then be:
    <RN:MyAddressType2>
       <Reusable:Postbox> .. atomic .. </Reusable:Postbox>
       <Reusable:Floor> .. atomic .. </Reusable:Floor>
       <Reusable:Room> .. atomic .. </Reusable:Room>
       <Reusable:StreetName> .. atomic .. </Reusable:StreetName>
       <!-- Skipped inclusion of <Reusable:AdditionalStreetName> -->
       <Reusable:BuildingName> .. atomic .. </Reusable:BuildingName>
       <!-- Other selected UBL BBIE/ABIEs -->
       <RN:SubZipCode>
         <RN:MainPart> ... </RN:MainPart>
         <RN:SubPart> ... </RN:SubPart>
       </RN:SubZipCode>
    </RN:MyAddressType2>

    This constructive build-up process automatically satisfies the
    initial requirements spelled out above on addition of new field
    to and removal of unwanted fields from Reusable:AddressType.

------------------------------------------------------------------

There's no right or wrong way to (A) & (B);  there may be perfectly
valid reasons for even the same person/organisation to use (A) 
sometimes (e.g. simplicity, more than 80% fields of AddressType
is needed, no resources to purchase consultancy to redo everything,
etc),  and to use (B) (e.g. my organisation XML Guide requires
such, only a few fields within AddressType look usable for my
purpose, the new type has a lot more extensions and will merge
in better if the individual sub-fields of AddressType are exposed,
etc).

In the real world, one size doesn't fit all.  I think people will 
just pick the way that fits their purpose most.  In both cases, 
the AMCC caters to those needs without restricting all of them to 
do and provides alternative means, allows interoperability
at structure and semantics level with all UBL users, and yet
has room for alternative manner of implementations.



>>What is your description of the target user group for this scenario?

People who want to customize, extend, use UBL's work, and
wants to say with verificable means whether they are 
"compliant" or not with UBL.



>>I also think we should remove the I18N case from (6) and make it
>>its own.  If we did that, then do you agree that the remainder
>>of (6) would be ok as 'discouraged'?

The I18N example is really a separate issue, actually not-a-issue
in the sense that it goes to the underlying XML encoding and doesn't
"surface" to the level that UBL TC is looking at.  The larger
issue is namespace definition and use, and that includes the
resulting effects of I18N examples on namespace changes due to
encoding effects.

Maybe I haven't understood your original intent of (6).  Presumably
you've wanted to document the thought about localising due to
language/ character-set requirements?  If so, my apologies as
what I said would be off-tangent to that.


Where I was steer off-course from your I18N description in this 
sense would be the sentence 
   "make a proprietary version of ubl taht only they can use - 
    keep ubl as is and change the namespace to proprietary.
    non-compliant compliant schema".

By customization, one always "makes it a proprietary version".
So if "proprietary" has some negative connotations to that, we
would better stick to "customization".

The AMCC suggests "keep(ing) ubl as is".  Maybe the commonality
between AMCC and (6) stops right there.


If it makes sense to you and the rest of the people, we could
put in a (7) of sort.  But I'm more interested in testing the
applicability of AMCC until I see an unresolvable deadlock
that AMCC fails to provide.  Then the course of action would
be to see how to modify till it works (if possible), re-visit
how AMCC applies to the test cases, or conclude if something
else is better.




>>Regarding testability/computability of the compliance definitions,
>>yes, this is one of the things that took us into this discussion in
>>the first place.  I see that tools has requirements for the complianc
>> implemenation.  From your email, this would be:
>>
>>    * Compliance must be reasonably computable/testable.
>>    * Given several compliance algorithms, the most computable would be
>>      preferrable.

Small correction:  It's "Given several compliance definitions",
not "compliance algorithms".  I hope I don't sound like picking
bones in an egg.  There's a difference here.  We are searching
for a "compliance definition" first, then algorithms and programs
can be developed to test that compliance definition.

The primary goal is to come up with such a compliance definition
in such a ways that:
    (1) computable/ testable algorithms *can* reasonably be developed,
    (2) the algorithms/programs can scale in terms of types of schemas
        and numbers of schemas.




>>I'll begin a list of such requirements as we go through this discussion.
>>If anyone has any others off the top of their heads let me know
>>(as long as it doesn't pull focus off the work of clarifying these
>>use cases at the moment, though.

I'll ask members of the group to go with Anne's suggestion
so her task is easier and she'd find more fun and spend more
time in this group  :)




>>FYI, in the lcsc discussion this morning Tim mentioned that
>>in his view there are multiple facets to compliance:
>>semantic, syntactical, and structural.  If this is
>>helpful to organizing our use cases let's apply these.

Yes, I'd agree with Tim's point.  I'd add that ultimately,
someone, perhaps this SC, needs to translate those 3 compliance
needs into more concrete compliance definitions that adhere
to (1) and (2) above.  I think the AMCC addresses semantic
and syntactical compliance (defining  "compliance definition"
as "compliance with AMCC itself").  

As for structural, different people would have different take
on this.  On first look, I'd think it means how the files
are grouped, what goes inside, etc.  But I'm not sure how
others look or if there's another aspect to that word.


>>
>>Thanks,
>>
>>-Anne
>>
>>
>>Chin Chee Kai wrote:
>>
>>> Great summary, Anne.
>>>
>>> As a start, I like to play with the idea of treating each UBL-defined
>>> ABIE as an atomic structure.  We can modify the concept along as we
>>> go.   We must keep in mind
>>> that while we wrestle with the axes of
>>>     - interoperability
>>>     - customizability/ extendability
>>>     - compliance
>>>
>>> we must also keep in mind the need to arrive at addressing
>>> those issues with simplicity of algorithms to check them.
>>>
>>> Given several means of defining compliance, for example,
>>> a more preferred one would be a compliance definition that
>>> is computable.  Ie., we can *develop* programs to check
>>> compliance, AND the programs would run reasonably well
>>> when scaled to larger schemas.  A compliance definition that
>>> is too abstract would not even result in the possibility or
>>> ease for programs and algorithms being developed.
>>>
>>>
>>> Now a bit more on what I think about the atomic model of
>>> compliance.
>>>
>>> In other words, a user who wishes to use any ABIEs delivered by UBL
>>> 1.0, including those ABIEs in Reusable, and the 8
>>> main documents (which are themselves ABIEs), MUST keep
>>> the ABIE schema or schema fragment in tact.  This means also namespace
>>> values and local names and every thing.  No modification is admissible
>>> within the adopted ABIE
>>> framents.
>>>
>>> With this definition, "using UBL schema/ABIE" would mean using any of
>>> UBL-defined ABIE.  Where they are used in user-extended
>>> schemas (that contain these UBL ABIEs), the compliance check
>>> is simply that that UBL ABIE that is adopted matches in complete
>>> structure with what UBL has defined.
>>>
>>> E.g. if a user uses Reusable:AddressType (Reusable prefix
>>> defined with namespace for Reusable schema) in his/her
>>> schema for WareHouse Inventory Delivery Document,
>>> then while that document is almost certainly not UBLish,
>>> the address field that is defined with Reusable:AddressType
>>> would have to be fully equatable with UBL's AddressType
>>> definition.
>>>
>>> Such comparisons are easy and unambiguous enough that
>>> even humans could visually detect any "non-compliance".
>>>
>>>
>>>
>>> Up to here, I hope I've given an inkling of what path
>>> down the road I'm heading.  Let me give a bit more thoughts
>>> to it and see how this exposition could be fanned out
>>> further, or modified in concept, or whether some aspects
>>> are fundamentally incorrect with this conceptual approach.
>>>
>>>
>>> Therefore, Anne, in your excellent summary, I'd just like
>>> to point out that Point (6) is not necessarily "not to be
>>> encouraged".  It is quite complementary to (5), and appears
>>> from the sound of it to be very compatible with an atomic
>>> model of interoperability and compliance definition.
>>>
>>>
>>>
>>>
>>> Best Regards,
>>> Chin Chee-Kai
>>> SoftML
>>> Tel: +65-6820-2979
>>> Fax: +65-6743-7875
>>> Email: cheekai@SoftML.Net
>>> http://SoftML.Net/
>>>
>>>
>>> On Tue, 9 Dec 2003, Anne Hendry wrote:
>>>
>>>>> Hi,
>>>>>
>>>>> If you've recieved this email I believe you were one of the people who
>>>>> participated in the TTSC 'user case' discussion last week.  Below are
>>>>> my notes from that discussion for your review in order to clarify what
>>>>> was said so that we can use this as the basis for a larger TC
>>>>> discussion.
>>>>>
>>>>> ...
>>>>>
>>
>>
>>




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]