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

 


Help: OASIS Mailing Lists Help | MarkMail Help

regrep message

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


Subject: Re: Call Tomorrow (Len's rethinking)



All,

In a previous email message this morning, I promised to send a new message 
to this list explaining the changes in my thinking that were necessary in 
order to feel more comfortable with the Registry model proposed as a 
compromise by several of us.

My major issue in the past was that nearly every class in the model was a 
subtype of RegistryEntry and thus had to carry along all of the attributes 
of RegistryEntry, even when they made no logical sense. Our proposed 
revision would re-arrange the type hierarchy so that all of these 
attributes on non-RegistryEntry objects are no longer required. I'm very 
pleased with those proposed modifications.

Another issue that concerned me was that "classification scheme" and 
"package" were terms used with dual meaning. One meaning was that these 
terms were metadata used to describe these items and another meaning was 
that they were the repository item itself. The model is now much more clear 
that it supports only the first meaning! I'm OK with that although I'll 
probably still slip occasionally and refer to one of these things 
incorrectly. How about if we agree on the following definitions of these terms:

classification scheme -- a real world term referring to a set of nodes 
arranged in a hierarchy.

ClassificationScheme -- a class in our model that represents only the 
metadata for a classification scheme. It is NOT a representation of the 
classification scheme itself. Thus a ClassificationScheme instance is just 
a RegistryEntry instance, but it is a special RegistryEntry instance that 
may have different relationships with other classes in the model. For 
example, every ClassificationScheme instance will be linked to a hierarchy 
of nodes that represent the real world classification scheme it describes.

package -- a real world term referring to a set of identifiers of other 
instances in the Registry model.

Package -- a class in our model that represents only the metadata for a 
package. It is NOT a representation of the package itself. Thus a Package 
instance is just a RegistryEntry instance, but it is a special 
RegistryEntry instance that may have different relationships with other 
classes in the model. For example, every Package instance will be linked to 
Association instances that determine the membership of the real world 
package it describes.

CAUTION: It the past I've used the lowercase term (e.g. registry entry) to 
represent an instance of the class it identifies (e.g. RegistryEntry). This 
will no longer work (in general) as a convention because "classification 
scheme" is not an instance of ClassificationScheme and "package" is not an 
instance of Package.

Another past issue of mine was that our model would be more meaningful if 
we included a RepositoryItem class. Each instance of this class would 
represent a "repository item" that was referenced by a RegistryEntry 
instance. I always supported the notion that this class was for 
definitional purposes only and was not directly accessible by Registry 
Services.  Because of this restriction, others argued that it would be 
counter-productive to include this class in our model. I'm now OK with not 
having this class in the model -- there should be no effect on Registry 
Services. In the past I argued that this class was necessary to support the 
notions of ClassificationScheme and Package (using the 2nd meaning above). 
However, with the restricted meaning for those terms proposed above, I no 
longer make this argument.

The new proposed model is more general than the existing model because:

i) it allows Classification instances linked to any RegistryObject rather 
than just to RegistryEntry instances,

ii) it allows Association instances whose "sourceObject" is an arbitrary 
RegistryObject instance rather than just a RegistryEntry instance,

iii) it allows Association instances whose "targetObject" is an arbitrary 
RegistryObject instance rather than just a RegistryEntry instance,

iv) it allows Slot instances on any RegistryObject instance instead of just 
on RegistryEntry instances.

The proposed generalization of Slot makes sense to me because we can think 
of it simply as the ability to define a new "attribute" for any class in 
the model. I fully support the generalization of Slot.

I'm less comfortable with the generalization of Classification and 
Association, although I agree that there are good examples of where this 
generalization could be useful. For example, a user could now classify an 
Organization even though an Organization instance is no longer a 
RegistryEntry instance. Or a user could classify an Association instance in 
multiple ways instead of just by "associationType" as in the current 
specification.

My potential concern with this generalization of Classification and 
Association is that it may have a significant impact on how one chooses to 
implement the model. And it could have a significant impact on how 
FilterQuery is specified in the Registry Services document.

For example, the FilterQuery definition in RS makes the assumption that the 
"sourceObject" and "targetObject" of an Association instance will have all 
of the attributes of a RegistryEntry instance.  With the generalization of 
Association, we may no longer be able to make this assumption. The 
sourceObject and targetObject identifiers could point to an object of any 
type in the model.

In my mind, an important issue to be resolved is how much of the potential 
generalization of Classification and Association should be required of a 
conforming implementation? I'd favor a conformance statement that would 
allow an implementation to restrict Classification instances only to 
RegistryEntry or Organization instances as the source, and restrict 
Association instances so that sourceObject and targetObject are 
RegistryEntry instances. Otherwise, the FilterQuery section of Registry 
Services would become much more complex. For example, in RS Section 8.2.2, 
RegistryEntryQuery, the SourceAssociationBranch and TargetAssociationBranch 
would have to be modified to allow the "sourceObject" or the "targetObject" 
to reference an instance from an arbitrary class in the model. It would 
have to provide a way for the user to filter the "Source" and "Target" 
objects by "objectType" and provide options to link to classes of all of 
the possible target types. Admittedly, this provides additional 
functionality, but possibly at the price of too much additional complexity.

-- Len



At 03:37 PM 8/8/01, you wrote:
>Hello All,
>
>As many of you know, throughout the ebXML effort Len Gallagher from NIST 
>had raised serious concerns regarding the ebXML information model and 
>services.  Most of these issues were raised prior to our ebXML meeting in 
>Vancouver.  At that meeting, the committee decided to defer resolution on 
>many of these issues until after Phase I.  So here we are in Phase II.
>
>As those who attended the Vancouver meeting know, Farrukh Najmi (and 
>others) had serious concerns regarding many of Len's issues.    It became 
>apparent to me that some benefit may be derived if I put Len and 
>Farrukh  in a room for a day or so to discuss Len's issues.   So we did 
>just that.
>
>Last week Len, Farrukh, Nikola Stojanovic, and I met for a day and a half 
>to discuss Len's recurring issues.  The meeting was extremely productive 
>in that many issues were resolved to all parties' satisfaction (sort 
>of).   The attached file represents two proposals for changing the 
>information model and inheritance diagrams for the RIM.  (We additionally 
>started a list of bugs that were identified during the discussion.  I'll 
>provide that in a separate message.)
>
>Please recognize that the attached documents do not represent consensus of 
>the OASIS/ebXML Registry TC.  Currently the attached documents are based 
>on the opinions of 3 TC members.  (My role was more of a facilitator than 
>a TC member.)  We will discuss these proposals during the conference call 
>tomorrow.  These proposals will be accepted only if we achieve positive 
>consensus within the TC.
>
>I have a number of other items for the agenda; I'll try and send you email 
>regarding them before the meeting.
>
>Call-in information:  NOTE: THIS NUMBER IS DIFFERENT THAN THE LAST CALL.
>
>CALL DATE:         AUG-09-2001  (Thursday)
> > CALL TIME:         04:00 PM EASTERN TIME
> > DURATION:              2 hr
> > USA Toll Free Number: 888-566-5920
> > USA Toll Number: +1-630-395-0252
> >  PASSCODE: 13852
> >  LEADER:            Ms Lisa Carnahan
>
>--lisa

**************************************************************
Len Gallagher                             LGallagher@nist.gov
NIST                                      Work: 301-975-3251
Bldg 820  Room 562                        Home: 301-424-1928
Gaithersburg, MD 20899-8970 USA           Fax: 301-948-6213
**************************************************************





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


Powered by eList eXpress LLC