
Here is the use case of the cross connect (single layer). It really makes me think about my mantra: the model can be verbose, but the syntax compact. This is the (very verbose) model. As soon we finished that, we should look into compact (syntax) shortcuts for sure! Regards, Freek THREE EXAMPLE USE CASES Created 2009-07-30 by Freek Dijkstra Cross connect use case: photonic cross connect ============================================== Case: Describe a photonic cross connect, thus a MEMS device that works as an automated patch panel. Our example device is called "pxc", and has four bidirectional ports: port1, port2, port3 and port4. Currently port2 and port3 are crossed. This example will be represented by multiple instances of the UML classes. I will denote that as follows: <UML class name> <property 1> <property value> <property 2> <property value> Or -as a shortcut- <UML class name> <property 1> <property value> Let's first define the objects that describe the device itself, the cross connect service that it offers, its ports and the crossconnect: Node id urn:ogf:network:example.org:pxc SwitchingMatrixServer id urn:ogf:network:example.org:pxc:switch Port id urn:ogf:network:example.org:pxc:port1-ingress Port id urn:ogf:network:example.org:pxc:port1-egress Port id urn:ogf:network:example.org:pxc:port2-ingress Port id urn:ogf:network:example.org:pxc:port2-egress Port id urn:ogf:network:example.org:pxc:port3-ingress Port id urn:ogf:network:example.org:pxc:port3-egress Port id urn:ogf:network:example.org:pxc:port4-ingress Port id urn:ogf:network:example.org:pxc:port4-egress Link id urn:ogf:network:example.org:pxc:port2-port3 Link id urn:ogf:network:example.org:pxc:port3-port2 Now we have to relate these objects somehow. This is done with instances of the Relation class: First the relation between the device and the ports: Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port1-ingress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port1-egress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port2-ingress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port2-egress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port3-ingress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port3-egress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port4-ingress Relation type hasPort from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:port4-egress The relation between the device and the Switch matrix service: (note that the current schema does not list "hasService" and "hasPort" as relation. I will add it.) Relation type hasService from urn:ogf:network:example.org:pxc to urn:ogf:network:example.org:pxc:switch The relation between the switch matrix and the interface: Relation type hasPort from urn:ogf:network:example.org:pxc:switch to urn:ogf:network:example.org:pxc:port1-ingress Relation type hasPort from urn:ogf:network:example.org:pxc:switch to urn:ogf:network:example.org:pxc:port1-egress .... Relation type hasPort from urn:ogf:network:example.org:pxc:switch to urn:ogf:network:example.org:pxc:port4-egress The relation between the Link and its ports: Relation type source from urn:ogf:network:example.org:pxc:port2-port3 to urn:ogf:network:example.org:pxc:port2 Relation type sink from urn:ogf:network:example.org:pxc:port2-port3 to urn:ogf:network:example.org:pxc:port3 Relation type source from urn:ogf:network:example.org:pxc:port3-port2 to urn:ogf:network:example.org:pxc:port3 Relation type sink from urn:ogf:network:example.org:pxc:port3-port2 to urn:ogf:network:example.org:pxc:port2 And that's it. If we want to group the two unidirectional links to a bidirectional link: BidirectionalLink id urn:ogf:network:example.org:pxc:port2-port3-vv element urn:ogf:network:example.org:pxc:port2-port3 element urn:ogf:network:example.org:pxc:port3-port2 Adaptation use case 1: WSS ========================== (follows) Adaptation use case 2: tunable laser ==================================== (follows)