I am trying to define different systems (software and hardware) made of common building blocks in SysML. In the following I try to describe my approach with a sample:
For this purpose I have defined a common set of blocks in one BDD and described the common relationships of all blocks using ports and connectors in one IBD - nothing special so far:
- block A, B, C
- each block using each two ports
- each block's port connected to other blocks ports
Now when using the blocks defined as given above, I want to add static characteristics of blocks and ports for each system I define based on the above building blocks. The system is defined in one additional BDD and IBD using the same blocks from above:
System(s) AX and AY have:
- additional connections between two blocks A and B, described in IBD (OK)
- additional characteristics of the ports (NOK)
- additional characteristics of the blocks (NOK)
Problem: The last two "NOK" points are a problem as follows:
- Whenever I add additional properties/attributes/tags to a block in one system/IBD it also applies to the other systems/blocks
- Whenever I add additional properties/attributes/tags to a port in one system it also applies to the other systems/blocks
My question can be generalized: How would I define characteristics of instances of blocks in a way that they do not affect the original blocks they are instantiated from. The issue came up in multiple attempts to design systems, maybe SysML is not intended to be used in such a way at all?
I also tried to design my system in UML using component diagrams and components / component instances and the same problem appears there: instance specific attributes/values/ports do not seem to be supported.
Side Note: I am using MagicDraw as a tool for SysML und UML.