
Hi Aaron, Good points. To me, a "Node" is a network element with switching capability and interfaces. I love that concept. "Network" and "Device" classes are subsets of the more generic "Node" concept. (Subclasses in a UML relational diagram.) A Device is a Node with some additional properties (for example a device has a Location, while a Network is not bound to a single location). If we want to have a "View" object that can also describe network elements in multiple domains, all I can think of is just a "Group" (of network elements), but NOT a Node subclass. (Feel free to counter this argument. Maybe my imagination is limited!) Both "View" and "Network" are groupers. Groups exist only because we humans like to talk about them and refer to them. We like to abstract things, and that is very useful. A path finding may ignore these groups and only looks at the switching capabilities (I've got a path finding that totally ignores devices and domains, and only looks at interfaces, adaptations and switch matrices). In my view, the difference between "View" and "Network" is that a network element can only be in ONE "Network", but can occur in multiple "Views". This is an arbitrary distinction, but to me a very useful one. The restriction of network takes away a bit of flexibility, but in return my control plane software becomes much more simple. And I like that. To summarize: Device: a node, not a group. Network: a node, a group. A network elt. can be in only 1 network. View: not a node, a group. A network elt. can be in multiple views. Are we missing something? Perhaps Aurélien's Model concept: Model: a node, a group. A network elt. can be in multiple models. (if I understood correctly, that is) I'm currently fine with "just" the above 3 concepts. Regards, Freek