Contextualising diagrams

Hi there
I would like to contextualise our diagrams to support different stakeholders. I am trying to do this by pointing the Contextual Element property of an SAB to either a functional chain or a state. When I manually refresh the diagram I can see that Capella correctly brings in the relevant elements to the diagram. However if i go and change the elements relationships to the chain or state (by removing a function from the chain, or associating it to a different state), even with a manual refresh the SAB still shows the previous information. When I manually delete the function from the SAB, and refresh it again, Capella does not add it back - so it recognises that it is no longer contextually relevant. However I would expect the diagram to pick up on changes and reflect them after a manual refresh. Can anyone offer advice?

Hi Thornton,

If I understood correctly your question, you have defined a functional chain that involves a number of functions. Afterwards, you update the functions relationships in the SAB and you would like to see the updates reflected in the functional chain, correct?

When a functional chain is created the best approach will be to update it in the correspondent SFCD. Then, you can go back to your SAB and refresh it.

I hope, I did answer to your question.

Regards,
HĂ©lder

Thanks Helder for your response. This isn’t quite the situation. Let me do a better job of explaining my problem! In the Contextual Elements property of the property viewer for an SAB, I am selecting an existing functional chain. When I press refresh the SAB is correctly updated with the right elements in the context of the functional chain (it brings all the relevant functions and exchanges and actors in). However if I go to the SFCD for the functional chain and modify it, when I go back to the SAB again and refresh it, nothing happens. If for example I remove the involvement of a function from the functional chain, then the SAB doesn’t remove the function from the diagram. I feel like I have some settings wrong somewhere?

Are you opening the SFBD for the intended functional chain (mouse right-click over the small square) from the SAB?

1 Like

Yes, I am opening the SFCB from the SAB by right clicking on the small square. I can add to the functional chain and the SAB automatically updates, but when I reduce the chain, the functions are left on the SAB and have to be manually deleted…

Hi Paul,
I suppose you went through these in the documentation:
Capella Guide > User Manual > Tips and Tricks > Diagram Accelerators > Contextualize Your Diagram To Selected Model Elements
and
Capella Guide > User Manual > Diagram Management > Diagram Concepts > Blank and Contextual Diagrams, Contextual Diagram Elements

So I suppose that the behavior you are experiencing may be a bug, or not. The way this feature is described is about “adding the missing elements related to the contextual elements you selected” but I don’t think there is anything said about “removing unused elements”.
One has to decide whether, in case you’re on a blank diagram (= a diagram where you can freely decide to add/remove elements on it) and select an element of interest, then it should remove all other elements that are not of interest even if it is a blank diagram.
I do not have the answer to this question, but I believe the behavior you are seeing is what is currently implemented/intended in the current documentation.
Let’s take this scenario: Let’s say in your SAB, you have some external actors, and your system, and then about 90 functions that are displayed. Suddenly, you decide to display a functional chain containing 5 functions and to make it the contextual element. Do you then expect Capella to remove all the 85 functions from your diagram that are not part of your functional chain? And the actors that are not involved in your functional chain as well? Maybe. Maybe that is what this feature should do. Or maybe what this feature should do is to guarantee you that in your diagram, you have all the elements that are contextual to the one you selected, but it keeps other elements that you may have decided to put in the diagram as well, because it is useful to people looking at your diagram to realize that these functions are actually not in your functional chain for instance. (just giving a scenario here)
In any case I understand what you are trying to do and that in your case it would maybe be better if Capella was removing these elements.

I hope this helps.
Stephane

2 Likes

Hi. I think that what you experience is the developed behaviour of the tool, so no bug here. As Stephane wrote, the feature is about adding what is missing, not about restraining the view to the cotextual element.

There are good reasons for that. Let’s take a SAB diagram as an example and a Functional Chain as the contextual element. Obviously, the functions involved in the functional chain are relevant. But other functions on which the functions involved in the functional chain depend on (i.e. other functional exchanges and functions that are not involved in the functional chain) may be relevant as well (e.g. these functions may provide information that necessary for the expected behaviour of another function, independently of the functional chains it is involved in). In this case, we want to show the function in the view that is contextual to the functional chain.

As always, there may be other ways to do so and the choices were the fruit of compromises. And of course there is room for improvement, don’t hesitate to raise your proposals :slight_smile:

3 Likes

Thank you for this clarification @StephaneLacrampe and @JNavas, I suspected this was the case.

I agree it is not fair to see it as a bug. However I do think there is an important use case here to consider. Using the contextualisation feature is incredibly powerful where you have stakeholders who are interested in particular modes of operation or scenarios. While the system is under development we would all expect that the semantic model is changing regularly as decisions are made, which means FCs and allocation to modes are also undergoing constant change. It would be even more powerful if the user to choose to “rigidly” contextualise a diagram so that only the Contextual Elements were displayed at any time, or “loosely” contextualise just to seed the diagram initially. Otherwise the only option I can see is that all contextual diagrams are regularly deleted and repopulated, which seems somewhat wasteful. Let me know if I am missing something here.

1 Like