A Quantitative Analysis of an Automatic Code Generation Tool for Space
Software Applications
Abstract
Model-driven engineering (MDE) has become a leading methodology for the
design and development of Real-Time Embedded Systems (RTES). It makes
use of automatic code generation tools to reduce time, cost and effort
associated with writing and maintaining software. However, automatic
code generators tend to produce poor quality and inefficient code, which
is unacceptable for safety critical systems. The verification and
validation of such systems are crucial activities that require
high-level code quality and coverage enforced by standards such as
DO-178C/ED-12C for airborne software or ECSS in the European space
domain. Simulink is a modelling tool offered by MathWorks widely used in
the aerospace sector to develop and simulate models. The QGen tool-suite
offers a C and Ada code generator appropriate for Simulink and Stateflow
models. In this paper, we evaluate QGen aiming to demonstrate its
applicability in embedded software products, its integrability in other
modelling tools, and the quality of the autogenerated software. To that
end, a set of Key Performance Indicators (KPI) have been defined to
measure quantitative values mostly obtained with open-source tools. The
evaluation adopts the Attitude Control System from the UPMSat-2
satellite as the technology demonstrator and its simulation and control
Simulink models serve as evaluation models for this analysis. The
contribution of this study has been to establish a quantitative
methodology for the evaluation of the QGen tool-suite based on software
metrics at varying granularity levels such as model and source code.
This methodology should help the researchers to identify further metrics
and use them to analyze not only automatic code generators, but also to
establish a criterion to assess the technology readiness of other
software products and tools.