I'm with you, i.e., I decided to use ports. I am having problems creating instances of the defined switch model after I added ports.
SETUP: To defined the configured switch:
I have a node stereotype defined for a Switch in a toolbox, complete with associated tagged values (manufacturer, model, # ports, serail#, location, IP Addess, etc).
In a package/diagram called "Switch Types". I have dragged the Switch node from my toolbox onto the diagram and call it "Switch" to represent a generic switch.
I then drag the same Switch Node onto the diagram and called it "Cisco" to represent a generic Cisco switch and created a generalization connection to "Switch" node. I set the Manufacturer tag to "Cisco" and delete all of the other tags (allowing the others to be inherited from the parent "Switch".
I then drag the same Switch Node onto the diagram for each of the Cisco model switches we have and make a generaalization assoiciation to the "Cisco" switch, updating its tag for Model and # ports accordingly and deleteing all other tags (allowing it to inherit the Manufacter from the parent Cisco and the other tags from the grandparent "Switch".
When I want to create an instance of the specific model (I have another package/diagram for all of the switch instances, I drag the model node from the project browser onto the diagram and state I want an instance, then update the tags for the instance accordingly, deleting any null tags, allowing them to inherit from parents.
This method has worked great so far. But now I have a probelm.
On the Cisco Model node in my package/diagram for Switch Types, I added a port per the switch configuration. Now when I drag that node onto my Switch Instance Package/Daigram, it allows be to select the embedded components and I select all. Probelm is that it appears to create an instance of the port on the new switch instance, but it has no port name and some connection back to the classifier's port. For example on the Switch Model config node which would be the classifier I have a port called "1/1". When I create an instance with embedded ports, I get a port which in unnamed, but labeled on the diagram as "/1/1" which apparently is a reference to the classifier port. If I update the name on the instance to "1/1", the diagram label shows "1/48 /1/48". What I think I want is an instance created where the ports are also instances with no classification back to the parent classifier, but cannot figure out how to do this, unless I create a new ports of the instance.
Hope the above makes sense.