Hi!
I usually work with ArchiMate, but the last 6 month switch to UAF, which can be implemented with SysML.
The main difference, for me, between ArchiMate and SysML is the idea with definition and usage which SysML implements. Although I get the concept and know how to use it, I don't fully get the purpose of this.
Lets say I create a block diagram defining car (from
https://www.omg.org/ocsmp/HSUV.pdf ):

Great, now I know the main components of the car. If I have a look in the traceability window I see the relations to these subsystems.
What I don't get, is WHY do I create part properties/instances of these blocks where they are used. Have a look at the internal block diagram:

Why not use the blocks from the previous diagram? If I would like to see the relations I have to find the instance of the block and then look at the relations, instead of just going straight to the block definition. Some relations, like reference associations are documented in the block diagram.
All the examples I looked at, also read Delligatti's SysML Distilled, use this pattern:
Block name: Example Block
Instance name: eb, or exampleblock - sometimes just blank
If the instance have the same name as the block, why not just use the block? I get the obvious examples like:
Block: Volvo XC90
Instance: myVolvoXC90:VolvoXC90
I think what is confusing me a bit if the go down yet another level, have a look at the block diagram for the PowerSubsystem:

Lets say that the ElectricalPowerController also is used in the LigthningSubsystem (see fig 16). In the IBD:s, do I re-use the instance of ElectricalPowerController,
epc, or do I create a new,
epc2? If I re-use the instance, why not use the block definition?
I guess what I want is an explanation motivating me to create part properties/instances of blocks to use in IBD:s instead of mindlessly create and use them. And also when I should re-use/create new these.
Compared to ArchiMate, where I create an element and only use that element. Why is instances better?