MIgrATE ModelIcA Translator+ Embedded

[cml_media_alt id='208']migrate[/cml_media_alt]ModelIcA Translator Embedded (MIgrATE) is a software application that allows you to translate automatically models of controllers (Modelica language) into C code for embedded applications


Modelica is an open source object-oriented language based on equations for modeling complex physical systems (i.e. mechanical, electronic, hydraulic, thermal and controls).

The benefits of using Modelica are different and among these:

  • Dynamic behavior modeling of complex multi-domain;
  • No description by partial differential equations, i.e., no FEM (finite element method) and no CFD (computational fluid dynamics), but using results of, e.g., FEM programs.

The models developed in Modelica are represented by source code and block diagram. In particular:

  • Each block graph is an instance of a class;
  • The connections between blocks are equations.

Migrate born from the idea to translate the model into a source code for embedded applications



ModelIcA Translator Embedded (MIgrATE) is a software application that allows you to translate automatically models of controllers (Modelica language) into C code for embedded applications (fig.1).

[cml_media_alt id='209']migrate2[/cml_media_alt]

Fig. 1-MIgrate

Currently Migrate is able to translate controllers whose transfer function is described as follows:

[cml_media_alt id='210']migrate3[/cml_media_alt]

ARMA filter of the model is obtained from the processing of Tustin.

[cml_media_alt id='211']migrate4[/cml_media_alt]

Fig. 2 – Digital controller

The application of translation algorithms to the obtained filter allows the automatic generation of code ANSI C.  Furthermore, the static encryption rules (MISRA-C) give to algorithms features of reliability in embedded applications:


  • static allocation of memory;
  • loop length default;


Video 1 – MIgrATE translation demo

The possible evolutions of migrated may be adaptation to the objectives of compliance to RTCA DO178-B / C (standard avionics) and EN 50128 (standard rail)

Case study

Full authority digital engine (or electronics) control (FADEC) is a system consisting of a digital computer, called an electronic engine controller (EEC) or engine control unit (ECU), and its related accessories that control all aspects of aircraft engine performance. FADECs have been produced for both piston engines and jet engines. FADEC works by receiving multiple input variables of the current flight condition including air density, throttle lever position, engine temperatures, engine pressures, and many other parameters. The inputs are received by the EEC and analyzed up to 70 times per second. Engine operating parameters such as fuel flow, stator vane position, bleed valve position, and others are computed from this data and applied as appropriate. Examples of FADEC controls are relevant to :  couple, monitoring of the gas flow temperature, temperature and oil pressure. The FADEC acquires data from sensors to update the current status of actuator subsystem; for example, if the oil pressure or the oil temperature or the torque value is out of its range of value, 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.

Contact us

Start typing and press Enter to search