Function Breakdown / leaf function

I’m not sure about the use of some features/model related to functions.
First, I have created a functional breakdown diagram. I know that the arcadia methodology is done so the user can only use leaf functions.
Does this means if I want to show a top level view of my architecture I can’t use these top level functions ?
For example, I have a “Collect data” functions that contains: collect ECU1 data / collect ECU2 data / collect ECU3 etc. Each of these also contains sub functions (please see figure 1 attached).
When I have created my logical architecture diagram and used the “Manage Function Allocation” feature, I could only use the leaf functions (figure 1 also). However, I have watched this video ( which show that it is possible to have an high level function view and also a more detail view (see figure 2 and 3).
My wish was to have a top level view with component and top level function (without exchanges) and after detail each logical component in seperate view to show leaf functions and exchanges. Is that possible in a way ? Or what do you advice me regarding this?

Yes you can build simplified view displaying the high level functions!
Actually, the tool ask you to define the information finest level of detail because this cannot be guessed.
It means that you need:

  • to allocate leaf functions on leaf components
  • to define exchanges between functions on leaf functions only.
    However, you shall not define information on high level functions:
  • you shall not allocate high level functions on components => because this can be deduced from allocation of leaf functions on components
  • you shall not define exchanges between high level functions => because this can be deduced from exchanges between leaf functions
    However, in a diagram, if you use the Show/Hide Functions tool in the palette, you can decide to display leaf functions or high level functions as you want!
    (be careful that on a [XAB] diagram, you can display only one level of function at a time)
    Finally, if you want to hide functional exchanges in order to have a simplified view, you can use the dedicated filter!

Hello Aurélien,
Thanks for all these clarifications!
I still have a question regarding functional exchanges (FE) and categories (CAT).
My model can be rather overloaded when one function has multiples FE to the same function. I have created a CAT by selecting all these FE. My goal is to display only the CAT instead of these multiple FE on that same [LAB] diagram. Is that possible ?
Thanks again

Yes it is possible. Use the tool “Switch Functional Exchanges / Categories” in the Palette. The tool is hidden below the “Functional Exchanges” tool.
You can find information about the tools in the Palette for each diagram in the Capella Help (Capella Guide --> Diagrams).
Hope it helps.

Perfect.It helped

Take care: if you have a lot of FEs beteween two functions, you should probably use the concept of Exchange Items and Types!
One Functional Exchange can carry several Exchange Items, and the same Exchange Item can be carried by several Functional Exchanges. Exchange Items can be typed precisely, using Class Diagram Blanks.
Data Modeling is very important in Systems Engineering…

Hi Pascal,
I have started to look over Data Modeling on Capella. It’s seems to offer a lot possibilities and it’s quite confusing. At the moment, I only need to know well how to modelize exchangeItem.
I will show a simple example to show what I have been trying until now:

  • On the first picture (FE_EI), I have a function “Send frame” that have one FE that contains the data shown in the CDB : picture 2 (MCU_frame).
  • Once all the frame is acquired, the data is split to different functions. Therefore, it order to be able to specify the exchange items for each FE, i have modified the MCU_frame CDB into the picture 3 (MCU_frame_Split). I am really not sure that this is the good way of doing it but for now I really think that i don’t need classes etc.
    Another question about the usage of these data in state-machine:
    I have linked these data by using the ctr+space assit feature as shown in picture 4 (Data_in_SM) ; is that a possibility?
    Finally, I want to ask if it is possible by using these data or any other features to ‘set’ value. If i take the example of the picture 4, use the /entry or /do feature of the state to set an error to true or false for example depending if it is the ‘sensor valid’ or sensor ‘invalid state’?
    Thanks a lot for helping,
    Best regards

Take care that Exchange Items and Classes/types are more types than instances…
In MCU_frame.png, it is strange to declare twice sensor status. You should declare only one type and use the same type in both FE!
When you have redundancy, do not forget to use the REC/RPL mechanism.
In the second image MCU_frame_split.png, I think you misused the generalization/inheritance arrow?
Data modeling is indeed a difficult topic. Do not hesitate to have a deep look at the long document in the Help Contents!

Copyright © Eclipse Capella, the Eclipse Capella logo, Eclipse and the Eclipse logo are Trademarks of The Eclipse Foundation.