Static Stability Analysis of Embedded , Autocoded Software

Embedded software-based control systems are commonly constructed using model-based design environments such as MATLAB/SimulinkTMfrom MathWorks. These environments allow the system designer to establish critical properties ensuring the reliability of the system (stability, disturbance rejection, etc.) directly at the model level, using a rich mathematical toolset. However, the software implementation substantially transforms the mathematical model by introducing numerous programming artifacts (aggregate data structures, pointers) and altering the numerical representation (platform-dependent floating/fixed-point arithmetic, and, in the most extreme cases, conversion from continuous-time dynamics to discrete-time dynamics). Verifying that the reliability properties of the system are preserved by the implementation is extremely challenging, yet in many cases critically important. Model-based design environments usually come with an autocoder i.e., a code generation tool that automatically synthesizes an implementation of the embedded controller from the specification of its model. Autocoders are getting increasingly used in practical applications for they greatly simplify the implementation process. In many corporations however, including aerospace and automotive industries, autocoding is essentially precluded because its properties are considered to be not adequately trustworthy.