[Nml-wg] Session notes for NML

Jason Zurawski zurawski at internet2.edu
Sat Jul 16 17:22:48 CDT 2011


Hi Freek;

A couple of comments and quibbles inline:

On 7/16/11 4:13 PM, thus spake Freek Dijkstra:
> Members of the NML working group joined for two sessions at OGF 32.
> About 15 participants attended the sessions.
>
> Here are some notes; note that they are not complete (Jerry created some
> additional notes during the 1st session). However, I'll post them here
> now before I forget... :)
>
> At the first session, Jeroen van der Ham went through the RNC schema,
> explaining and correcting minor issues.
>
> The main topic on the table was the XML syntax for describing ordered lists.
> After some heated discussions, the participants agreed on the following
> syntax for an example of a link "link_A-to-C" is described as the
> concatenation of two smaller segments, "link_A-to-B", followed by
> "link_B-to-C".
>
>    <nml:link id="urn:ogf:network:example.net:link_A-to-C">
>      <nmlserialcompound:relation type="serialcompound">
>
>        <nml:link idRef="urn:ogf:network:example.net:link_A-to-B">
>          <nml:relation type="next">
>            <nml:link idRef="urn:ogf:network:example.net:link_B-to-C" />
>          </nml:relation>
>        </nml:link>
>
>        <nml:link idRef="urn:ogf:network:example.net:link_B-to-C">
>        </nml:link>
>
>      </nmlserialcompound:relation>
>    </nml:link>
>
> A few notes are in place here:
> * As agreed earlier, the syntax does not rely on the order of the XML
> elements in the syntax (while most parser retain the order, this is not
> required by the XML specification.) Indead, the "next" relation is used
> to explicitly specify the order.
> * No explicit "first" or "last" element is specified. A "last" element
> in a list can be found by finding the item without a "next" relation. A
> "first" item in a list can be found by finding the only item in the list
> which has no pointer to it.
> * There can be only one "first" and "last" element in a list; this means
> that branching (e.g. an item with two "next" items) is not allowed; this
> should be described with another construct.
> * This means that
> * while it was argued that the "next" relation is a syntax construct,
> while the relations as defined in the NML UML schema are topology
> constructs, and thus different, the same syntax would be used to
> describe both relations.
> * The name of the topological relation in the above example is called
> "serialcompound" after Figure 10 of G.805 (of Figure 16 of G.800). The
> name was not great, but the participants were too tired to come up with
> something better :)
> * The ordered list on itself is not enclosed in it's own XML tag (like
> <nml:list>), the elements are direct subelements of the parent
> <relation>  tag.

It was discussed to modify the existing UML diagram to allow multiple 
entities in a relationship in accordance with this topic.

> * At the end of the session, the participants had a discussion how to
> encode the relation type. In the above example, it is listed as
> '<nmlserialcompound:relation type="serialcompound">' and'<nml:relation
> type="next">'. While some arguments where laid forward, no definitive
> conclusion was reached. This topic remains open for discussion>.

My understanding of the last part of the meeting regarding this was that 
the NML group would move forward with the NMLBase namespace initially, 
and modifications to extension namespaces (e.g. 'nmlserialcompound' as 
you have in your above example) could be implemented to allow for more 
syntactic checks of a target XML snippet.  As in perfSONAR, the concept 
of the 'base' needs to be much more forgiving than the more specific 
namespaces that other groups (or NML) would define if this level of 
syntactic checking is truly desired.  All 'nml capable' services should 
at a minimum speak the base.

For the sake of argument, this would be the 'base' way of specifying 
your example above:

<nml:link id="urn:ogf:network:example.net:link_A-to-C">

   <nml:relation type="serialcompound">

     <nml:link idRef="urn:ogf:network:example.net:link_A-to-B">
       <nml:relation type="next">
         <nml:link idRef="urn:ogf:network:example.net:link_B-to-C" />
       </nml:relation>
     </nml:link>

     <nml:link idRef="urn:ogf:network:example.net:link_B-to-C" />

   </nml:relation>

</nml:link>

Thanks;

-jason

> Finally, I like to thank all contributors to the discussion. It may have
> taken some time to talk some sense in me, that was due to my
> stubbornness, not due to the quality of the arguments. Those were in my
> opinion particularly good. A particular thanks to Jeff, Jason and Jeroen
> (the 3 J's) is certainly in place.
>
> Thanks,
> Freek


More information about the nml-wg mailing list