ModelIcA Translator Embedded (MIgrATE) is a software application that allows to automatically translate controller models developed in Modelica language into the equivalent ANSI C code representation for Embedded applications.
Modelica
Modelica is an open source, equation-based object-oriented language for modeling complex physical systems containing, for example, mechanics, electronics, hydraulics, thermals and controls.
The advantages of using Modelica are many and among these:
The models developed in Modelica consist of a representation in the form of source code and the related graphical representation in the form of a block diagram. In particular:
From the highlighted features, it is possible to deduce the possibility of translating the model into a source code suitable for Embedded applications: from this idea MIgrATE was born.
MIgrATE
ModelIcA Translator Embedded (MIgrATE) is a software application that allows to automatically translate controller models developed in Modelica language into the equivalent ANSI C code representation for Embedded applications.
Currently Migrate is able to translate controllers whose transfer function can be generalized as follows:
By appropriately applying the Tustin transformation, the ARMA filter representative of the model is obtained.
The application of translation algorithms to the resulting filter allows the automatic generation of ANSI C code and the application of appropriate static coding rules derived from application standards (MISRA-C) which give it precise reliability characteristics in embedded applications:
Es:
Caso di studio
Full Authority Digital Engine Control (FADEC) is a system consisting of a digital computer, called an Engine Control Unit (ECU), and related accessories that control all aspects of the aircraft relating to engine performance. FADECs exist for both piston and jet engines. FADEC works by receiving multiple variable inputs relating to the current flight condition including air density, throttle position, engine temperature and many other parameters. The inputs are received by the ECU and analyzed up to 70 times per second. Operating parameters such as engine fuel flow, bleed valve position and others are calculated from this data and applied as appropriate. FADEC also affects engine limitations which vary with the health and maintenance of the engine. FADEC controls, for example, are pertinent to torque, gas flow temperature monitoring, oil temperature and pressure. When the FADEC acquires data from the sensors, it checks the value and range of the sensors and updates the current status of the actuation subsystem based on this; for example, if the oil pressure or oil temperature or torque value is outside the relevant value range, the status is updated as invalid. The requirements for this functionality are defined as follows: • ECUX_Torque_Status shall [SRS-FADEC-112] be set to INVALID if ECUX_Torque_Value is outside [0; 210]% range of value. • ECUX_Engine_Oil_Temperature_Status shall [SRS-FADEC-125] be set to INVALID if ECUX_Engine_Oil_Temperature_Value is outside [-50; 180] °C range. • ECUX_Engine_Oil_Pressure_Status shall [SRS-FADEC-097] be set to INVALID if ECUX_Engine_Oil_Pressure_Value is outside [-0.10; 15.0] BAR range.