RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

My apologies: I missed the following point in my reading of the text:

 

SML IDCs do make use of existing inter-document references (in this
example, the sml:key constraint will use existing inter-document
references from the datacenter document to navigate to the server
documents) but they do not result in new inter-document references.

 

In fact, the passage I quoted says that if you read it from this
perspective: IDCs "traverse" inter-doc references.  The precise import
and impact of this statement went over my head.  (It turned out to be
kind-of a duck-rabbit statement.)  Thanks for this VERY clarifying
statement, Pratul.

 

Ok, so let me see if I understand this.  My original example, where A in
Document D1 has an acyclic reference to B in Document D2  and B defines
a key in A and provides a keyref based on that key, has to assume that
there is an inter-document reference from B back to A (for the IDC to
"constrain"), thereby violating the acyclicity of the original
reference.  So the example ultimately amounts to a violation when the
example is well-formed, i.e., all its assumptions are made explicit. 

 

Kirk Wilson, Ph.D.
Research Staff Member

CA Labs

603 823-7146

 

________________________________

From: Pratul Dublish [mailto:Pratul.Dublish@microsoft.com] 
Sent: Friday, August 03, 2007 12:40 PM
To: Wilson, Kirk D; Lynn, James (HP Software); Smith, Virginia (HP
Software); public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

 

Pls see inline

 

From: Wilson, Kirk D [mailto:Kirk.Wilson@ca.com] 
Sent: Friday, August 03, 2007 8:05 AM
To: Pratul Dublish; Lynn, James (HP Software); Smith, Virginia (HP
Software); public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

 

Sorry, I've been traveling.  Again, apologies for missing Thursday's
teleconf.

 

Pratul, your statement that "Key references are not inter-document
references" is strange and even apparently contradictory when applied to
the sml key references.  See the spec: "SML defines analogs for these
[XSD] constraints, whose scope extends   to multiple documents by
allowing them to traverse inter-document references." XS IDCs are not
inter-document references, but I thought sml IDCs were-at least they are
a FORM or TYPE of inter-document references.

SML IDCs can be defined across multiple documents (e.g., the document
for a datacenter can define a sml:key constraint that references the
documents corresponding to servers in the data center and specifies that
server names are unique) but the IDCs themselves are not inter-document
references (in this case, the sml:key constraint is about the uniqueness
of server names).    SML IDCs do make use of existing inter-document
references (in this example, the sml:key constraint will use existing
inter-document references from the datacenter document to navigate to
the server documents) but they do not result in new inter-document
references. 

 

I agree-everyone has convinced me-that acyclicity only applies to sml
references defined with sml:ref="true".  But if I want a graph of the
references in my model, I want to see the IDCs as well.  

The primary key to foreign key relationships are shown in an
entity-relationship diagram, so why wouldn't the sml IDC arcs be part of
a graphical representation of an SML model?  

A graphical rendering of an SML model can display the IDCs that exist
between documents - nothing in the spec prevents this. Please help me
understand why this requires SML IDCs to be categorized/labeled as
inter-document references. 

Perhaps what I'm looking for is explicit recognition of a fact that's
implicit in the spec-that the arcs representing inter-document
references are of different type and have different semantics.  There
are sml:ref=true semantics, which carries lots and lots of special
constraints and then there are IDC arcs carry their own individual
semantics.

 

I hope this clarifies what my concerns seem to boil down to.

 

Kirk Wilson, Ph.D.
Research Staff Member

CA Labs

603 823-7146

 

________________________________

From: Pratul Dublish [mailto:Pratul.Dublish@microsoft.com] 
Sent: Sunday, July 29, 2007 6:45 PM
To: Wilson, Kirk D; Lynn, James (HP Software); Smith, Virginia (HP
Software); public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

 

Acyclicity is defined for inter-document references (sml:acyclic can
only be specified on sml:refType and its derived types).  Key references
are not inter-document references (rather they are analogous to foreign
keys in databases), and therefore acyclicity does not apply to them. 

 

Acyclicity is determined polymorphically, and this should be made
clearer in the SML spec.  In particular, if sml:acyclic="true" for a
reference type R, then a model is invalid if edges of R and any derived
types of R create a cycle in the model. It will be good to see a  use
case for the "strict" attribute proposed by Jim.

 

 

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On
Behalf Of Wilson, Kirk D
Sent: Thursday, July 26, 2007 7:22 AM
To: Lynn, James (HP Software); Smith, Virginia (HP Software);
public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

 

Here's what I have in mind as a potential problem:

 

Assume there is a reference element E which is defined as acyclic.  E
contains element A (just a property like Name) and the reference scheme.
The reference scheme points to an element S.  S defines E.A as a key and
provides a key reference back to E based on A.  Does this structure
violate the acyclicity requirement of E?  If so, I don't think the text
is clear that it is not allowed.  On the other hand, if it doesn't
violate the requirement, why isn't this a cyclic reference?    (Does
this make sense?)

 

If this does not make, then my underlying question is, how come key
references aren't subject to similar constraints as SML references (esp.
acyclicity)?  And deeper: what is the scope of the word "reference"?  If
just SML references, then are key references "references" or not?

 

I think you bring up another good issue:  How polymorphic is acyclicity?
Yes, polymorphology might have to be an option.

 

Kirk Wilson, Ph.D.
Research Staff Member

CA Labs

603 823-7146

 

________________________________

From: Lynn, James (HP Software) [mailto:james.lynn@hp.com] 
Sent: Thursday, July 26, 2007 8:31 AM
To: Wilson, Kirk D; Smith, Virginia (HP Software); public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

 

Kirk,

 

Section 3.3 defines acyclic in terms of edges of a graph which are
instances of some type which is derived from sml:refType. I think we
might make this a bit more clear, perhaps as part of our effort to
separate the Normative from the Non-normative in the spec. One point
that is not very clear is whether acyclicity is determinied by exact
match, i.e. references of type R, or whether the criterion should
include R and all derived types of R. I think a use case could be given
for either way, perhpas indicating a need for a "strict" attribut.

 

Jim

James Lynn 

HP Software
610 277 1896 

________________________________

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On
Behalf Of Wilson, Kirk D
Sent: Wednesday, July 25, 2007 7:05 PM
To: Smith, Virginia (HP Software); public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

I have a question on references.  What is the scope of 'reference' in
this context?  Does it include key references or just (SML) reference
schemes?  Could a cycle be constructed by having a key reference cycle
back to an element that is an acyclic SML reference?

 

Kirk Wilson, Ph.D.
Research Staff Member

CA Labs

603 823-7146

 

________________________________

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On
Behalf Of Smith, Virginia (HP Software)
Sent: Wednesday, July 25, 2007 6:22 PM
To: public-sml@w3.org
Subject: RE: [w3c sml] Bugzilla Issue: 4639 - Cyclic SML models

 

To answer the 2 questions, I posed in the original email - I've spoken
to an engineer at HP who worked on an SML validator project last year.
He does not see any technical problems in implementing cycles based on
elements instead of (or in addition to) cycles based on documents. This
verifies Valentina's comment.

 

--

ginny

 

---------------------
Virginia Smith
HP Software / BTO R&D
916-785-9940
8000 Foothills Blvd | Roseville | CA 95747
www.hp.com/software

 

 

________________________________

From: public-sml-request@w3.org [mailto:public-sml-request@w3.org] On
Behalf Of Valentina Popescu
Sent: Tuesday, June 26, 2007 12:36 AM
To: Smith, Virginia (HP Software)
Cc: public-sml@w3.org; public-sml-request@w3.org
Subject: Re: Bugzilla Issue: 4639 - Cyclic SML models


There is an SML validator implementation in the COSMOS open source
project http://www.eclipse.org/cosmos/ <http://www.eclipse.org/cosmos/>
and I am leading this team. 
We did not have any issue with supporting cycles at the element level as
opposed to ( or complementing ) document cycles as described by the
current specification. Our validator is using a file based SML
repository implementation. 

To be honest, I think that what is missing here are the set of usecases
we want to enable with this function. 


Thank you,
Valentina Popescu
IBM Toronto Labs
Phone:  (905)413-2412         (tie-line  969)
Fax: (905) 413-4850

"Smith, Virginia (HP Software)" <virginia.smith@hp.com> 
Sent by: public-sml-request@w3.org 

06/25/2007 05:45 PM 

To

<public-sml@w3.org> 

cc

 

Subject

Bugzilla Issue: 4639 - Cyclic SML models

 

 

 





This email is to start a discussion on document-based cycles vs.
element-based cycles in SML.
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4639 

In the current SML spec, there is a mismatch in that references are
defined as pointing to elements and model cycles are defined based on
documents. Since the concept is question (references) are based on
elements, it makes sense to me that SML model cycles should be defined
based on elements. 

I see 2 scenarios that pose a problem when testing for cycles according
to the current spec.

1) Since a reference can point to an element defined in the same
document as the reference, a cycle could exist within a single document
but not appear as a cycle in a document-based graph. (false negative)

2) Let's say Document A contains a reference to element X in Document B
and Document B contains a reference to element Y in Document A and
elements X and Y are not related in any way. This is not really a cycle
(of element references) but will appear as a cycle in a document-based
graph. (false positive)

I think we need to answer the following question:

- Are there implementation-related reasons to support document-based
graphs but not element-based graphs? (An SML validator implementation
must be realistically achievable.) 

Does anyone have experience with implementing an SML validator (or know
someone with relevant experience)? 


--
ginny

-------------------------------------------
Virginia Smith 
HP Software / BTO R&D
916-785-9940
8000 Foothills Blvd | Roseville | CA 95747
www.hp.com/software 

Received on Friday, 3 August 2007 17:03:40 UTC