Data flow loops in functional chains and op. process descriptions

Hi,

data flows exchange involvements which would create closed loops (cycles) are not allowed currently in FCs or OPDs. Previously, there might have been a reason to disallow them as there was no possibility to show how such cycles would be exited by control flow. Now, as there are sequence links independent from data exchanges an independet control flow can be modelled in FCs and OPDs. So there is no reason anymore to forbid cycles in the the data flow.

Of course, a workaround is to have a redundant, i.e. duplicate involvement of the same function or activity. But multiple involvements of the same function just make the diagrams more difficult to understand and disguise the fact, that it still is a closed loop.

Such closed loops are displayed as closed loops in millions of diagrams since ages. An example is e.g. the control-observe pattern Closed-loop controller - Wikipedia.

So when will this unnecessary restriction be removed in Capella?

br, M.

It is possible to create a loop, but just not on the original creation of the Functional Chain.

In the functional chain editing diagram (right click on the functional chain → Edit) you can edit the chain to create loops.

I am however also interested in the background as to why loops are restricted in the original creation.
This post seems to provide the suggested rationale.

Josh

Thanks for the tip, but there is no edit if you select a FC (in this case an op. process) in the context menu… What diagram would that be? Afa the post is concerned, it is rather a formulation of that constraint not a rationale why it exists in the first place.

Good questions and I’m interested to hear some responses on this. I implemented some previous advice from @JoshWedgwood on using MSM. I now use those more throughout my models and find they have helped articulate some of those behaviours. Another thing I’ve done to articulate looping behaviour is using the Loop fragment in Scenario diagrams and populate guard conditions with constraints to add definition to the Loop. The content assist (Ctrl+space) has been useful to link model elements e.g., functions, to those constraints forming the guard.

HTH

Cheers

sbeaz

1 Like

@ms34449 I didnt have Capella open at the time of writing the message to double check… but I do now.

Its is right click on functional chain box → New → Functional Chain Description diagram.
Or, if this diagram is already created right click on functional chain box → Open xFCD.

Josh

Thanx Josh, have to try it out for FCs, but for operational processes (which is just another name for FCs in OA) in a OPD diagram such a data flow loop is not possible. Would be strange if the FCs on other levels would allow that…

Yes, for some reason it doesn’t work for Operational Processes. I see the same behaviour which has been a little frustrating in the past.

Maybe its a bug that it doesnt work for OPs, or a bug that it works for FCs.
I would say its a feature that it works for FCs, and a bug that it doesn’t work for OPs.

@Jean-Luc_Voirin @JVoirin and/or @StephaneLacrampe should be able to advise which it is.

We should probably raise a bug on the GitHub site. @ms34449, is this something you can do?

Josh

I consider both to be a bug, cause even for FCs closed data flow loops should work in all diagram types…

Hello Everyone,

Regarding the “loops” in Functional Chains, it is not possible to create them outside of Functional Chain Description diagram as the tool cannot know the starting and ending point of a Functional Chain if you have a loop.
So it is possible to define them only in FCD for a good reason.

For Operational Processes, it is indeed a missing feature mostly due to the fact that OA is less used and therefore less advanced compared to other perspective, we have to give priority to the most used perspective as the Capella developpement resources are limited (some features of SA/LA/PA are not available in OA for the same reason).
Anyhow you can definitelly open a ticket to track this need.

Have a nice day,
Simone

1 Like

Actually, also in FCDs we have situations on adaily basis in which an exchange involvement or a sequence link cannot be created in the diagram for no obvious reason. So the issue does not affect just FCDs.