So the words “contributing” and “logical relationship” sounds different to me, it sounds more like there is a relationship (and interfaces) between your sub-system and the others rather than it is “part of both systems”. Hierarchy of components in Capella express containment, not collaboration.
Of course, you are better placed than me to make this choice as I don’t know the details here. But it probably comes down to a modelling choice. I am not sure why you want to model a sub-system that contributes to 2 systems as being part of the 2 systems. The sub-system logically contributes to both systems, ok, but logically this system is going to be somewhere, contained by someone, and there be a logical interface between them. From my understanding, this is what would make sense to me from an architectural standpoint.
“Using generalized component can be a solution for this?” → I would generally discourage users to use Capella in that mode, although it is technically possible. But then, from a modelling standpoint, how does that differ than using REC/RPLs? From a semantic standpoint, a generalized component is abstract and the 2 instances of this generalized components will mean that they are not the same component as well. But maybe I am not understanding well what you mean here.
Maybe another idea: you may be in the process of modelling a sub-system (L4 Machine Control) that, in the end, is going to be developed and build in both systems (in the idea that your company is providing/developing both systems, and that you just want to say that both system use the same “L4 Machine Control” sub-system from a logical standpoint, but physically they end up being a duplication of the same sub-system). In that case, for me, REC-RPL are exactly for that: It is a mechanism in Capella to enable reuse of modelling element. You create a REC “L4 Machine Control”. You could even move it in a library as a reusable asset in your organization, and then instantiate when need in all your systems.
(And final comment, please note that in Capella, there is supposed to be one SOI per Capella model. It looks like you are implying that you have multiple systems (SOIs) in your LAB, and that’s ok right, as long as you are aware of why you are doing it, like if you are actually modeling a SOS case).
Stephane