Finding the starting/ending functions of a FC using P4C

Hi, I am teaching myself Arcadia/Capella, so I might be missing something.

As in the title, after I have managed to get all functions and functional exchanges, I couldn’t find any way to specify which function is the starting and which is the ending. I have tried multiple approaches, like assuming no loops, or using MSM to handle special cases. But in the end, I still could not resolve this problem: How can Capella indicate the starting/ending function in general?

Below is an example with loops and multiple starting/ending functions

Regards

Hello Ayman,

You can describe a Functional Chain in a xFCD. You must double-click on the FC square to create the diagram describing it (below your System on your picture). Also, please note that ARCADIA distinguish data flows and sequence flows.

Matthieu

Hi Ayman,

You can call queries from the semantique browser wwith Python for Capella:

capella_query_by_name(myFunctionalChain, "Ending Functions")
capella_query_by_name(myFunctionalChain, "Starting Functions")

The Java code used to compute those results is in FunctionalChainEndingFunctions and FunctionalChainStartingFunctions, both use the class InvolvementGraph:

  • for an ending function all outgoing edges must be SequenceLink
  • for a starting function all incoming edges must be SequenceLink