In Capella Studio I am looking for a way to link Logical Functions using FunctionnalExchange.
The logical functions are already existing in the project explorer tree, so what I have done so far is to :
create a FunctionInputPort/FunctionOutputPort
create a PortAllocation for each of them
set the PortAllocation’s target/source element to the concerned logical functions
add the PortAllocation to the FunctionInputPort’s/FunctionOutputPort’s owned PortAllocations
set the FunctionnalExchange’s target/source to the FunctionInputPort/FunctionOutputPort
add the FunctionnalExchange to the concerned logical function
As a result, it create the functionnal exchange and I can see it in the project explorer tree
As expected it shows the FunctionInputPort/FunctionOutputPort in the source/target properties
The problem is when I check the logical function concerned by that functionnal exchange : the properties “outgoing” and “incoming” are empty when they are supposed to reffer to the functionnal exchange
I think maybe I should add a FunctionalExchangeSpecification ?
So I try to implement my FunctionalExchangeSpecification by adding source and target to it but the type of source/target is supposed to be InformationsExchanger…
Any idea about how to get that InformationsExchanger object ?
If you create only both ports and the functional exchange it should be enough.
I created a simple model with two functions and compared it with the same model with the exchange created from the tool of the diagrams and I get:
So instead of the port allocations you should aim for adding the port to the inputs/outputs of the function and add the functional exchange in the ownedFunctionalExchanges collection of the(a) parent.