[Nml-wg] Case & Inbound/Outbound Ports

Freek Dijkstra Freek.Dijkstra at sara.nl
Wed Mar 28 03:49:27 EDT 2012


Dear all,

During OGF 34 we discusses a dozen topics, to decide on the syntax of
XML and RDF. The following two topics were deemed trivial and
non-controversial at the time, and I'm pleased to propose them here. If
you have any objections or remarks, please speak up.

If there are no remarks or objections before April 12, I'll consider
these proposals as "workgroup consensus".


Case in NML objects
===================
https://forge.ogf.org/sf/go/artf6534
https://forge.ogf.org/svn/repos/nml-examples/201203-schema/case.xml
(proposal #1)

Summary: Both XML and RDF are case-sensitive. We should decide on the
case convention.

Proposal:
* CamelCase for Objects defined in the NML schema
  (these are usually rendered as XML elements)
* lowerCamelCase for attributes defined in the NML schema
  (these are usually rendered as XML attributes or attribute values)

Example:

> <nml:BidirectionalLink id="urn:ogf:network:example.net:2012:between-A-and-B">
>     <nml:Link id="urn:ogf:network:example.net:2012:from-A-to-B">
>         <nml:capacity units="bps">10000000000</nml:capacity>
>         <nml:Relation type="hasSource">
>             <nml:Port idRef="urn:ogf:network:example.net:2012:A-egress"/>
>         </nml:Relation>
>         <nml:Relation type="hasSink">
>             <nml:Port idRef="urn:ogf:network:example.net:2012:B-ingress"/>
>         </nml:Relation>
>     </nml:Link>
>     <nml:Link idRef="urn:ogf:network:example.net:2012:from-B-to-A"/>
> </nml:BidirectionalLink>

(sorry about the quoting, it seems the only way to prevent my mail
client from wrapping these lines)


Inbound/Outbound Ports
======================
https://forge.ogf.org/sf/go/artf6539
https://forge.ogf.org/svn/repos/nml-examples/201203-subtopology/inbound-outbound-ports.xml
(proposal #3)

Summary: It is useful to specify the direction of a port: ingress or
egress with respect to a Node or Topology.

Proposal:
* use hasInboundPort or hasOutboundPort to relate a
  Node/Topology/Service to a Port.

Example:

> <nml:Node id="urn:ogf:network:internet2.edu:2012:rtr.atla.net">
>     <nml:Relation type="hasInboundPort"> 
>         <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-6-0-0_in" />
>         <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-7-0-0_in" />
>         <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-8-0-0_in" />
>     </nml:Relation>
>     <nml:Relation type="hasOutboundPort"> 
>         <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-6-0-0_out" />
>         <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-7-0-0_out" />
>         <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-8-0-0_out" />
>     </nml:Relation>
> </nml:Node>
> <!-- optional grouping of ports as a bidirectional ports (not part of the proposal) -->
> <nml:BidirectionalPort id="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-6-0-0">
>     <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-6-0-0_in" />
>     <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-6-0-0_out" />
> </nml:BidirectionalPort>
> <nml:BidirectionalPort id="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-7-0-0">
>     <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-7-0-0_in" />
>     <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-7-0-0_out" />
> </nml:BidirectionalPort>
> <nml:BidirectionalPort id="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-8-0-0">
>     <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-8-0-0_in" />
>     <nml:Port idRef="urn:ogf:network:internet2.edu:2012:rtr.atla.net:ge-8-0-0_out" />
> </nml:BidirectionalPort>



More information about the nml-wg mailing list