[graap-wg] Re: Fw: Complex Constraints, our call today

Heiko Ludwig hludwig at us.ibm.com
Wed Jul 20 08:45:21 CDT 2005


Dear GRAAP members,

one of the last open issues for the next release of our spec was the 
semantics of compositors and the use of templates. There were some 
concerns about using compositors on a template as well as offer/agreement 
level, potentially introducing semantic ambiguity as to who must or can 
exercise options.

After some discussion since the last call, Toshi, karl and I propose the 
following, to be discussed in today's call:

1. Compositors have agreement offer-level semantics only. They are not to 
be interpreted as choices of the initiator.
2. To express more flexibility, we propose to extend the 
CreationConstraints as follows:

Add an attribute "mode" to Location that can be "insert" or "replace". If 
the value is set to replace, have another attribute "before" with values 
of positive integers and "end". With those instruments in addition to 
complex types in creation contraints we can express, for example, the 
following:

...
   <wsag:ServiceDescriptionTerm>
      <ns1:docroot>
         <ns1:fieldA>myfixedvalue</ns1:fieldB>
         <ns1:fieldB>default value</ns1:fieldB>
      </ns1:docroot>
   </wsag:ServiceDescriptionTerm>
 
...

<CreationConstraints>

  <Item name="i1">
    <Location mode="replace">//ns1:fieldB<Location>
    <xsd:restriction base="xsd:string">
      <xsd:enumeration value="foo"/>
      <xsd:enumeration value="bar"/>
    </xsd:restriction>
  </Item>

  <Item name="i2">
    <Location mode="insert" before="end">//ns1:docroot<Location>
    <xsd:sequence maxOccurs="128">
      <xsd:element ref="ns1:fieldC"/>           // You could inline a more 
complex element here.
      <xsd:choice minOccurs="0">                        // To any fieldB 
element, we can add more arbitrary input, e.g., file names etc.
        <xs:element ref=wsgram:FileStageIn minOccurs=0 
maxOccurs=unbounded/>
      </xsd:choice>
    </xsd:sequence>
  </Item>

</CreationConstraints>

Using the added expressivness of the Location element, we can deal with 
zero or more cardinalities. I propose to use schema for associating the 
occurrance of one element (fieldC) with another (fieldC). You cannot 
express this in either the Infoset notation nor the compositors.

This way, we achieve a pretty powerful composition semantics, do not 
replicate expressivness covered by schema and don't need template-level 
compositors.


Talk to you at 11 EST,
Heiko

-----
Heiko Ludwig, Dr. rer. pol.
IBM TJ Watson Research Center, PO Box 704, Yorktown, NY, 10598
hludwig at us.ibm.com, tel. +1 914 784 7160,  mob. +1 646 675 8469
http://www.research.ibm.com/people/h/hludwig/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.ogf.org/pipermail/graap-wg/attachments/20050720/f34d84a1/attachment.html 


More information about the graap-wg mailing list