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 Sunday, 29 July 2007 22:53:54 UTC