Interesting, definitely need to digest this more thoroughly! As I've been doing some research on deployment diagrams, much of what I see relates to software onto hardware (even the SysML related stuff). Let me clarify my original question with an example:
At my system template level, I have a block that represents a user station, composed of several other blocks (monitor, keyboard, mouse).
Now I go to my system instance, and want to show that Room 314 has three of those user stations in it. I also need to show that two of the instances have an $80 keyboard, and the other one has a $50 keyboard (at the moment, I have the price modelled as a tagged value of the keyboard block, which is composed into the user station block).
If I didn't have to show differences down to the keyboard level, I would be tempted to create a room block at the template level, compose my user station into it and then create an instance of the room named 314, setting the multiplicity of the user station to 3.
As it is, I have created a Room 314 block in the system instance, then put it onto a BDD with two instances of the user station block. I adjust the keyboard TV accordingly.
But now, I have to show that the user stations are "inside" the room. I can't use composition or aggregation. I could use allocate, but I dont understand the ramifications of allocate... it seems to have more meaning than I am willing to give this usage. So I've been using "uses" relationships between the block and the instances.