[Nml-wg] Use case: broadcast network (single layer)
Freek Dijkstra
Freek.Dijkstra at sara.nl
Fri Aug 7 09:16:25 CDT 2009
Hi all,
Yet another single layer use case (sorry to procrastinate on the multi
layer use case, I want to make sure that single layer is tackled before
diving in the hard stuff).
Let's start with a single bidirectional link (= 2 unidirectional links)
between two nodes:
---------->
Node A Node B
<----------
Each Node here has two (unidirectional!) interfaces:
Node A hasPort a_out and a_in
Node B hasPort b_out and b_in
The relations here are:
Node A hasPort a_out
Node A hasPort a_in
Node B hasPort b_out
Node B hasPort b_in
a_out source Link A-B
b_in sink Link A-B
b_out source Link B-A
a_in sink Link B-A
So far, so good.
Since we want to model Ethernet, I think we should be able to model
broadcast networks. Imagine an old-fashioned LAN:
Node A Node B
| |
--+-----+-------------+---+--
| |
Node C Node D
Again, each Node here has two (unidirectional!) interfaces:
Node A hasPort a_out and a_in
Node B hasPort b_out and b_in
Node C hasPort c_out and c_in
Node D hasPort d_out and d_in
Of course each *_out is the egress port, with each *_in is the ingress port.
Now how do I describe this LAN? (A) As a single link, or (B) as multiple
links?
Let's first try (A) as a single link:
Node A hasPort a_out
Node A hasPort a_in
Node B hasPort b_out
Node B hasPort b_in
Node C hasPort c_out
Node C hasPort c_in
Node D hasPort d_out
Node D hasPort d_in
a_out source MyFirstLAN
b_out source MyFirstLAN
c_out source MyFirstLAN
d_out source MyFirstLAN
a_in sink MyFirstLAN
b_in sink MyFirstLAN
c_in sink MyFirstLAN
d_in sink MyFirstLAN
But is this correct? Semantically, this would imply that if a_out is
sending data, it is also received by a_in.
Let's also try to describe this (B) as multiple links:
Node A hasPort a_out
Node A hasPort a_in
Node B hasPort b_out
Node B hasPort b_in
Node C hasPort c_out
Node C hasPort c_in
Node D hasPort d_out
Node D hasPort d_in
a_out source LAN_A
b_in sink LAN_A
c_in sink LAN_A
d_in sink LAN_A
b_out source LAN_B
a_in sink LAN_B
c_in sink LAN_B
d_in sink LAN_B
c_out source LAN_C
a_in sink LAN_C
b_in sink LAN_C
d_in sink LAN_C
d_out source LAN_D
a_in sink LAN_D
b_in sink LAN_D
c_in sink LAN_D
MyFirstLAN elements {LAN_A, LAN_B, LAN_C, LAN_D}
This later description is closer to the concept of Unidirectional Link
as is currently in the schema. The schema further allows grouping to a
(Bidirectional) Link. That's what I added on the last line.
What are your preferences?
I see problems with both concepts.
Regards,
Freek
More information about the nml-wg
mailing list