Need examples of constraint satisfaction

Hello,

(Maybe I am overthinking this question).

I see from the railroad crossing that a constraint can be satisfied simply by having a mission or capability linked to it.

But what about more complex constraints? Suppose I am designing a car, and I have a specification/constraint for the stopping distance.

Assuming my model is fully specified (such as car mass, brake type, tire type), how can I demonstrate that the stopping distance constraint is satisfied?

I imagine some “digital twin” of the car using properties from the Capella model to do the simulation/calculation and feed that info back to Capella.

Is that how it is done, or is it more of a manual process?

Thanks,

Hi Mirko,

There can be multiple answers to this question. Let’s take the railroad crossing example. You will find some constraints in the OA and SA. And let’s say you’re the client and stopping at the SA level since you’re going to give the responsibility of designing the solution, then checking your constraints is going to happen during the Verification and Validation of the system delivered by the supplier.
Checking these OA/SA constraint could be also done by verifying that the solution architecture at the LA/PA level satisfy these constraints, and this could be done manually by reviewing your model, same as verifying that each function/requirement from the OA/SA are satisfied by the solution proposed at the LA/PA level, which is the essence of Arcadia.

Now, you may also express constraints in the LA/PA. And depending on the level of abstraction of your model (System of systems? System? Sub-System? Component?), you may be down in the engineering levels so that you are closer to designing the system and you may want to check these constraints by transitioning to a simulation tool. There are some add-ons that tackle this topic.

And then, anything in between. For example, you may express a constraint at the SA level that the system should not generate more than xx kg of CO2 emission, then propose a solution architecture in which you add information about how the solution is going to be developed (which materials/energy/engines/etc…) with our EcoDesign add-on and then transition these data to a Lifecycle analysis tool (LCA) to run some analysis on the environmental impact of your system, and by doing so validate that your solution comply with a constraint defined at the SA level.

It all comes down to “what are your engineering goals in using an architecture tool like Capella?” - taking your example to a car fully specified, then the answer would be “what simulation tool would enable you to simulate your solution model and verify your constraint?”. Simulink? Open-Modelica? something else? your own Python script? And then look at what solutions/options are available for doing so.
Also keep in mind that having a full detailed digital twin that you can simulate means that you have indeed a high fidelity model. Developing high fidelity models costs time and money, maintaining them even more, and ending up with a digital twin that does not reflect the actual system makes the model useless and the investment lost. So investing in such a model is a choice depending on how important it is to validate your model and to what level of fidelity versus taking the risk to validate it fully later on in the development phase. Not the same answer if you’re building a satellite or a nuclear power plant versus a prototype smart watch I suppose.

I hope this helps.
Stephane

1 Like