were having a bit of an issue with the behavioral description of our system.
For each system capability, we usually startup with drafting out a sequence diagram depicting a black-box strict simple scenario (no crazy nesting of parallel into alternative into opt fragments).
At some point, we ended up with a large number of capabilities split down according to the commonalities weve found.
Meaning that we would like to use these capabilities as often as possible in the desciption of our SoI behavior.
The other reason why we would like to reference a capability within a sequence diagram is to use the precondition mechanism to always select the proper behaviour for our occurence.
Classical mechanism many readers might know, but ill sum up for the sake of understandability.
For a given Capability A, a Base scenario has a precondition “Train is in standby”. A reference is made to another capability B within said base scenario. The SoI behavior in order to realize this other capability B is described within other scenarii linked to the reference capability. All these scenarii have mutually exclusiv predonctions. Let us say only one of these Scenari has a predondition “Train is in standby”. Then through the precondition mechanism the correct scenario of the other Capability B would be selected. Whenever the scenarii of capability change, the result remain the same. Unless, no scenarii have the right set of preconditions.
Instead of that, the only tool we can use at the momemnt in Capella:
- either link directly only one scenario of another capability (kind of breaking the “contract based” approach of capa modeling)
- using sticky notes, reference links etc (quiet informal …)
Could you please advise how to involve capabilities in our behaviour modelling?