Jubilee Symposium 2019: Future Directions of System Modeling and Simulation Standardizing eFMI for Embedded Systems with Physical Models in the Production Code Software Jubilee Symposium: Future Directions of System Modeling and Simulation Sept. 30, 2019, Medicon Village, Lund, Sweden e Oliver Lenord, Robert Bosch GmbH – Corporate Research with contributions from all partners What is this all about? The new eFMI standard Why are you doing this? – Purpose/Motivation What is new? – Problem Statement/Benefit How does it work? – Conceptual Idea How does it work in practice? – Demonstrator How good does it work? – Performance Metrics Who will use it? – Usage Scenarios Who supports it? – Tool Prototypes When can I have it? – Project Schedule Who is doing all this? - Acknowledgements 2 1
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation Why are you doing this? Bridge the gap Modeling & Simulation Embedded Software SW 3 Why are you doing this? Bridge the gap Modeling & Simulation Embedded Software SW 4 2
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation Why are you doing this? Physical models for embedded software Online physical models key technology for advanced engine control software: Sensor Output Input Process virtual sensors, i.e., observers, model-based diagnosis, inverse physical models as feed forward Output Process Control part of control structures, and Model Function model predictive control. Observer Virtual Sensor Physical models: Typically described by differential equations, best suited for dynamics Complementary to data-based modeling, can be combined Reduced calibration effort due to physical parameters Physical Model 5 What is new? State-of-the-art Numerics Control Engineering (Algorithms, Complexity, (System Theory, Stability, Stability, Precision, Realtime Robustness, …) Performance…) ECU Software Physical Modeling (MISRA, ASIL, MSR, (Domain Knowledge, Physical Principles & AUTOSAR, …) Phenomena, System Dynamics, Model Validation, …) Super Hero Function Developer 6 3
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation What is new? New standard, new tool chains, new ways of collaboration e Numerical Services Physical Modeling Expert Control Engineer ECU Software Developer Model Libraries 7 What is new? Special requirements of automotive embedded systems Specialized hardware: µController with specialized cores, limitations in memory and data types (fixed-point, float) High safety requirements on the software Bosch MDG1 ECU: Special coding guidelines, e.g., MISRA rules current multi-core ECU Special realtime operating systems (AUTOSAR-OS) Specialized tools and tool chains (compilers etc.) AUTOSAR standard defining the structure and interface M otor I ndustry S oftware R eliability A ssociation of software modules, replacing proprietary solutions; support for some basic numerical functions Application Layer (ASW) Today ECU software requirements are not satisfied Run Time Environment (RTE) by the FMI standard. AUTOSAR Basic Software (BSW) ECU Hardware AUTOSAR architecture 8 4
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation How does it work? The eFMI workflow Production ECU Physical Code Application Model e ECU Controller Software Model .bin 9 How does it work? The eFMI enabled tool chains Software-in-the-Loop Acausal/causal tools Model Simulation (SiL) Testing of Verification of (Modelica, Simulink, ...) and comparison with eFMI C-Code eFMI C-Code reference results Acausal tools Transform Transform Binary Code Production Code Equation Code Algorithm Code eFMU eFMU Transform Transform Transform eFMU eFMU PC binary + SOA app + production C-Code + � = � ��� �̇,�, �,� ( � ��� , � ��� ) ∶= � ��� � � ,� � target specific binary FMI for Co-Sim. C-wrapper Execution on Target (compiled prod. C-Code) 10 5
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation How does it work? The eFMI enabled tool chains Software-in-the-Loop Acausal/causal tools Model Simulation (SiL) Testing of Verification of (Modelica, Simulink, ...) and comparison with eFMI C-Code eFMI C-Code reference results Acausal tools Transform Transform Binary Code Production Code Equation Code Algorithm Code eFMU eFMU Transform Transform Transform eFMU eFMU PC binary + SOA app + production C-Code + � = � ��� �̇,�, �,� ( � ��� , � ��� ) ∶= � ��� � � ,� � target specific binary FMI for Co-Sim. C-wrapper Execution on Target (compiled prod. C-Code) 11 How does it work? The eFMI enabled tool chains Software-in-the-Loop Acausal/causal tools Model Simulation (SiL) Testing of Verification of (Modelica, Simulink, ...) and comparison with eFMI C-Code eFMI C-Code reference results Acausal tools Transform Transform Binary Code Production Code Equation Code Algorithm Code eFMU eFMU Transform Transform Transform eFMU eFMU PC binary + SOA app + production C-Code + � = � ��� �̇,�, �,� ( � ��� , � ��� ) ∶= � ��� � � ,� � target specific binary FMI for Co-Sim. C-wrapper Execution on Target (compiled prod. C-Code) 12 6
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation How does it work? The eFMI enabled tool chains Software-in-the-Loop Acausal/causal tools Model Simulation (SiL) Testing of Verification of (Modelica, Simulink, ...) and comparison with eFMI C-Code eFMI C-Code reference results Acausal tools Transform Transform Binary Code Production Code Equation Code Algorithm Code eFMU eFMU Transform Transform Transform eFMU eFMU PC binary + SOA app + production C-Code + � = � ��� �̇,�, �,� ( � ��� , � ��� ) ∶= � ��� � � ,� � target specific binary FMI for Co-Sim. C-wrapper Execution on Target (compiled prod. C-Code) 13 How does it work? The eFMI container architecture eFMU: Model Representation: Compound of Code + Code Manifest representing Substructure within FMU container. the model in one particular standardized form. Classic CS-FMU eFMU eFMU Manifest: Description of the available model eFMU Manifest representations and how to access them. Other general meta information. 0..1 0..1 0..* 0..* Binary / Model Eq Code Alg Code Prod Code Bin Code Source Description: Code Legacy meta information Code Manifest: describing the Description of the model interface of Alg Code Prod Code Bin Code Eq Code Model model interface the associated code and additional Manifest Manifest Manifest Manifest Description in the standard meta information on how to access FMI format. and utilize the code. 14 7
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation How does it work? The eFMI Equation Code model representation T1 J1 J2 S1 Definition: Model 10 Nm c=1.e4 Nm/r… (Modelica, Simulink, ...) d=10 Nms/rad Flat unsorted set of equations (DAE). J=2 kgm² J=2 kgm² D1 Transform Purpose: fixed Capture the mathematical essence of a physical model. Equation Code eFMU Exchange of models on equation level: � = � ��� �̇,�, �,� Enable advanced analysis methods , e.g. diagnosability analysis with SCODE CONGRA (ETAS). equation Higher simulation efficiency and robustness compared to J1.phi = D1.phi_rel+fixed.phi0; FMI based model exchange. S1.phi_rel = J2.phi-J1.phi; S1.b.tau = S1.c*S1.phi_rel-S1.c*S1.phi_rel0; Full back-traceability from to the original mathematical J2.J*der(J2.w)= -S1.b.tau; model. D1.b.tau = D1.d*der(D1.phi_rel); J1.b.tau = S1.b.tau-D1. b.tau; J1.J*der(D1.w_rel)= J1. b.tau+T1.tau; 15 How does it work? The eFMI Equation Code model representation Specification: New flat_model Required constant, parameter, discrete, Reference to future standardized Flattened enumeration, record, Modelica: initial, equation, der, No object-orientation. operator, function, pure, impure, No algorithms. return, input, output, external, true, false, and, or, not, if, then, else, elseif, when, elsewhen, annotation, end Dispensable final, flow, stream, type, class, block, protected, public Level of Maturity: Low Not algorithm, First proposal for Flattened Modelica to be supported encapsulated, expandable, discussed in the Modelica Language Group for, in, loop, while, break, each at the Modelica Design Meeting (Oct. 2019). 16 8
Recommend
More recommend