Not bothered at all about internal struct & behav of the switch itself. So modeling the switch as a full port is good (- better than I expected).
Just that the switch connects with several external devices. So is that still ok to make the switch a full port?
I think yes, coz I can make the switch a 'nesting port' (*1), as well as full port, where it contains the right number of nested ports.
I think in your case having the switch (
by which I understand you to mean the physical ethernet connector, not a network switch) as full port does make sense, but there will just be very minimal (or no) specification within that full port.
The SysML spec (section 9.1.3) says "
[full] ports specify separate elements of the system", implying that you want to treat the port as something physically separate from the rest of the system/components (which makes sense in your case I think). However, section 9.3.2.9 states "
[full ports] might have their own internal parts and behaviors to support interaction with the owning block, its internal parts, or external blocks. They cannot be behavioral ports, or linked to internal parts by binding connectors, because these constructs imply identity with the owning block or internal parts".
So to clarify my responses, maybe you have 2 options:
i. use full ports, but simply ignore (or neglect to specify) the internal structure & behaviour of the port
ii. use proxy ports but then make sure that you actually specify the behaviours in your other structural Blocks, and expose that via the proxy port, per the SysML spec
As I said, I'd personally be tempted to go with option (i), based on my previous experience elsewhere. And it probably wouldn't matter much anyway unless there was a particular requirement or contraint e.g. from a customer or auditor.
In terms of the nested Ports, I think what you're saying does make perfect sense; one Port per connection can help separate out logical or physical links within an interface. But please don't go the direction that I've seen one customer go with by demanding one Port per signal in the interface(!).