One of the conditions for functional chains is: “The path of selected elements shall only have two ends, which means that it can be composed by only one branch.”
I was wondering: how can I represent a function that needs two informations from two other functions to be executed. My functional chain needs two beginnings…
Have you tried creating the functional chain you need in your model? I was able to as seen on the attachments. Please check if it is what you need.
The Architecture diagram:
The Functional Chain Description diagram:
Also, I didn’t get any validation errors.
Thank you for your answer.
Indeed, I was able to do this but is it correct from a modeling point of view?
I mean this rule must exist for some reason?
Can you provide the origin of the phrase “The path of selected elements shall only have two ends, which means that it can be composed by only one branch.”?
Is it from the Capella help or one of the reference books? Like Jean Luc Voirin’s or Pascal Roques’?
It’s from Capella help
Maybe that’s an error on the Capella Help pages.
Mr Voirin’s book on Capella, which I believe is the main methodological reference, has a couple of examples that are not “single branch” like. You can see on the Level Crossing Traffic Control model some examples. The only real constraint I see to well-formed functional chains is that all elements must be connected by functional exchanges. Which is enforced by the tool - FCs that become invalid are marked with a (invalid) or (broken) tag, I don’t recall exactly which.
Well thank you! All of these things convinced me.
Ouafa, maybe you can raise a bug about this:
https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Capella selecting the documentation component.
Functional chains may be used for different purposes, possibly requiring some specific building rules, including one start/one end.
In Arcadia book (1) :
“A functional chain is an ordered set of references to functions and the functional exchanges that link them, describing one possible path among all the paths forming the dataflow (…) in a particular usage context (…).
If a functional chain should carry data from end to end (latency, etc.), then some interpretation conventions should be defined (only one a single function allowed as the start or end of the chain, for example).”
If you have a latency constraint to be applied to a given path in the dataflow, then you need one starting function and one ending function so as to avoid any ambiguity. But this is not to apply to any kind of functional chain.
(1) Model-based System and Architecture Engineering with the Arcadia Method, ISTE Press, London & Elsevier, Oxford, 2017, © ISTE