I’m currently trying to adopt the Arcadia methodology by using Capella workbench.
My company has been developing custom & off-the-shelf safety systems (BMS) for lithium-ion batteries for quite some time.
My initial approach consists in looking at one of our existing legacy product, and see how I can model it.
This means that my starting point in the Arcadia workflow is PA (Physical architecture).
Finally, I’m currently using Capella v.1.4.0
A BMS is a printed circuit board, composed of a plurality of sub-circuits with differents. Hence the physical architecture should be comprised of a root “PCB” and Nodes Sensor, Actuator, Controller representing each sub-circuits.
At this point, I identified 3 ways to create a composition relationship for Nodes :
- Drag and drop in the project explorer PA/structure treeview
- Create a PCBD and use the tool “Contained in” From child to parent
- Use “Deploy Node” in another Node in PAB
Problem : Node architecture :
While 1&2 seems to have the same effect, 3 will not. This means that Deploying a component in another is not equivalent to defining a composition rule “X contains Y”.
What is the difference between Containing and deploying in this scenario?
Each Node can host a Behavior. The controller sub-circuit contains a micro-controller component, which itself will run a Software.
Method 1 & 3 are available, but the tool forbids me in the PCBD to establish a “contained in” relationship between Nodes & behaviors.
Problem Node & Behavior architecture :
While the tool forbids me to create a “contained in” link, this link exists if I use method 1 (treeview drag & drop").
I can also deploy a Behavior in a Node in a, but doing that does not have any impact in the PCBD.
In the IFES model, Nodes & Behaviors are completely segregated. A Behavior PCBD is created and it seems the author created “virtual container” to group behaviors together; No hierarchical diagram is provided with a clear 1 to 1 mapping of behavior to components.
Intuitively I’d like to have a way to represent clearly a global tree-like architecture representing all the Nodes & Behaviors intertwined. Using the Treeview to create this decomposition seems to be doing that, but also seems inconsistent with the other tools, which makes me quite wary.
Is there a better way ? Am I missing something?