Thoughts on Credible Modelica ModelsModelingModelica
Today I want to share some thoughts on Leo Gall's talk from Day 3 of the Modelica Conference, on the "Continuous Development and Management of Credible Modelica Models" with abstract:
Modeling and simulation is more and more used in the design process in a wide area of applications. Rising demands and the complexity of modern products also increases the need for models and tools capable to cover areas such as virtual testing, design-space exploration or digital twins, and to provide measures of the quality of the models and the achieved results. In this article, we try to summarize the state-of-the-art and best-practice from the viewpoint of a Modelica language user, based on the experience gained in projects in which Modelica models have been utilized in the design process. Furthermore, missing features and gaps in the used processes are identified.
This paper is built on the SET Level project report Credible Simulation Process[pdf], which provides a hierarchical process description for what makes a simulation credible when used in virtual prototyping and in self-driving vehicle system design. I won't review either document here. The basic concern of the papers is how to communicate simulation context, its conditions and limitations, to a broader development process. For this they prescribe a hierarchical process that is generally well thought-out and appears to encompass many of the historical and expected challenges in simulation-heavy workflows.
I think the philosophical error is to treat things like simulation correctness and confidence bounds as things that need to be assigned from the outside, when in reality these are properties and results from the simulation. That is, if I'm simulating an electric motor, the terminal voltage is not ordained by metadata on the model input, but is instead determined by the thermal dynamics of the windings and other electrical connectors. My motor model is incomplete if these dynamics are not present, something that will become quite clear in the real when too large of a voltage is applied, and should too when simulated. But the power of simulation is that these effects can be turned off, according to the needs of the including model. For instance many models in the MSL multibody library have an optional heat port, where the model's thermal losses are summed and may be used to influence other processes. But the heat output can also be ignored, and that consequence is up to the user. How the model presents that consequence to the user is important; while I should see decreased motor performance above its critical temperature, a warning message or other auditable check may suffice, particularly if such a message describes its magnitude and thereby importance.
An electric motor is not at all on the same scale as a simulation framework for automated driving, and there are distinct benefits to identifying simulation limitations and assumptions from a hierarchical, simulation-agnostic perspective. More work is needed here, do say hi to discuss further.
— Ben Conrad