Allocation of Logical Component to Software Component

Hello,
I have the following scenario - at Logical Architecture, i modeled a component LC1, which has say 2 functions F1, F2. Now at the Physical Architecture, I have a software architecture with 2 software components that are modeled as deployed behaviour PC , BC1, BC2. How can I related the fact that LC1 is broken down into BC1 and BC2? Assume BC1 performs F1 and BC2 performs F2

  • if I do transition for the Logical Arhchitecture, then I can only deploy the transitioned LC1 into one of either BC1, or BC2 (as parent).
  • Otherwise, if i just take the transitioned functions of LC1 (namely F1, F2) and allocate them manually to BC1/BC2 - it is a manual work, and in this case, why did i need to transition LC1 at all ?

I feel my question is general because usually logical component is split between multiple lower level components at software level.

Can anyone share from his own experience on this ?

Thanks
Ron

Reading this comment should help: Transition from LA to PA motivation - #3 by StephaneLacrampe

Thanks, yes its actually a post for a previous question I had :slight_smile:
I will refine the question -

Since the purpose of layers is not “refinement”, the only way to do refinement is within a layer.
So say I work in a single layer, PA. Now I specify BC1 which is system component carrying F1, F2 and is good abstraction for system engineer. But I also want to be able to allocate it to BC2, BC3 which are SWCs implementing functions F1, F2. And some other engineers needs this view as well. But It seems there is no option to do that. Only parent-child (in this case I cannot place BC1 under both BC2, BC3. Furthermore it is not parent-child relationship)

Have you encountered this need before?

Thanks,
Ron

ok so my initial answer was to make sure you understand the logic.
Now back to your original question.
At Logical Architecture, you have LC1, with F1, F2 allocated.
You transition to the PA, you get more or less the same. The question now at PA is “What do I need to change from this initialization so that what I have in the PA implements what is defined at LA?”
So you do your changes and model (as you said) PC has BC1 and BC2 with respectively F1 and F2 allocated.
Your question was then "How can I related the fact that LC1 is broken down into BC1 and BC2? "
→ Go in the properties of BC1 and BC2 and indicates that BC1 realizes LC1 and BC2 realizes LC1.

In other words, I would say “manual work”.

Stephane

1 Like

It seems to me that you have changed your question with your second post. @StephaneLacrampe has answered the first question. As to your refined question: I think what you are trying to do here is create a physical architecture where a single physical component is re-used (as a part) within two other physical components. If this is the case you need to look at the REC and RPL capabilities of Capella. Using this BC1 would become a REC and you would then RPL this into BC2 and BC3.

Hope this helps.

1 Like

Thank you both. I believe I got the answer.
To summarize the approach for this how to do refinement of deployment components

  • The Functions F1, F2: these can be re-deployed after transition, to the SWCs
  • The SWCs BC1, BC2: these can have a “realization” link with the logical component LC1
  • The Logical Component LC1: no big motivation to transition it, as it will have no role in the physical architecture. This unless it also represented the SWC itself also in the logical architecture
1 Like