Reconstruct Product Breakdown Structure (PBS) from a federated model


We have used the System to Sub-System Capella add-on to create new models from our main system; we have used the vertical transition SA. The result is somehow similar to slide 1 - attached .pptx file.

We are now facing a challenge and a need from other departments, that see the model as a great reference for:

  1. Obtain the Product Breakdown Structure (PBS)
  2. Cost of the overall System-of-Systems.

As the physical elements are at the lowest layer of each model there is the need to navigate, obtain each physical element with correspondent traceability and extract to reconstruct the PBS. Expected result should be as captured in slide 2.

Is it foreseeable with Python4Capella to navigate different models and obtain a similar hierarchy PBS outcome (slide 2), in Excel for example, of the different physical elements modelled in different models in a federated model?

Hélder Castro

Python 4 Capella explore capability.pptx (29.7 KB)

I’m not an expert on the System to Sub-System add-on but if you have a reference in the main model to navigate to sub systems you should be able to navigate it with Python4Capella. Note that the API might not already exists but can be easily added. For this first step maybe CapellaModel.get_referenced_libraries() might be helpful.

For the second step you can navigate from one layer to an other using:

  • to go down: realizing* EReferences
  • to go up: realized* EReferences

Those APIs are missing but you can add them. For instance on LogicalComponent you could add something like:

    def get_realizing_physical_components(self):
        return create_e_list(self.get_java_object().getRealizingPhysicalComponents(), PhysicalComponent)

I opened an issue to keep track of the need:

If you implement them please open a pull request or share the code here.

1 Like

I am not sure that sub-systems models have links to the system model when they are produced with the System to Sub-System add-on transition.
I believe Python4Capella can open and navigate more than one model.
And I think that the traceability information between a system model and a subsystem one is stored in the SID field of the sub-system model.
So with that, you should be able to reconstruct your global model, but that will require a bit of coding… We can help with that if needed (through professional services).
I hope this helps.
Stephane Lacrampe

1 Like