Alenia Aermacchi® (now Leonardo®) has built over 7,000 aircraft and supplied 2,000 trainers to more than 40 countries worldwide.
A military transonic trainer aircraft designed for training combat pilots for front line fighter aircraft, the Alenia Aermacchi M-346® Master is powered by a digital flight control system.
An important part of the development of this system’s software is the efficient capture and use of worst-case execution time data.
In developing the flight control software, the challenge for Alenia Aermacchi was to simultaneously reduce the costs and improve the quality of worst-case execution time measurements.
Recognizing that manually determining execution times is expensive and time consuming, Alenia Aermacchi selected RapiTime (part of the Rapita Verification Suite, RVS) because it was the only commercially available tool that could deliver WCET measurements given the existing hardware/software architecture.
Alenia Aermacchi planned to use RapiTime to:
- Reduce the effort required to carry out timing analysis on the flight control software
- Optimize code which powers the flight control system and reduce worst-case execution times
- Compare the benefits of using RapiTime with established manual approaches
Measuring worst-case execution times
RapiTime was first used to measure the execution time of short sub-paths between decision points in the code. This measurement is combined with static path analysis information to compute worst-case execution times and execution time variations.
Highlighting worst-case hotspots
Conventional code profiling techniques identify the lines of code that execute the most on average. By contrast, RapiTime identified worst-case hotspots in Ada sub-programs and even specific lines of source code from the point of view of their contribution to the overall worst-case execution time.
Once identified, hotspots were:
- Stripped of code contributing heavily to worstcase execution times
- Provided with rewritten code
According to Alenia Aermacchi engineers working on measuring and improving the overall execution time of the M-346 flight control system,
“The main advantage [of using RapiTime] is the possibility to identify the software bottlenecks that can be subject to optimization.
Without RapiTime, the mandatory code optimization would have been done without the knowledge of where to concentrate the efforts
With RapiTime, we discovered the possibility to reduce by 10% the time spent by a Computer Software Configuration Item”
Alenia Aermacchi are now exploring a number of options after using RapiTime, including:
Possible use of worst-case execution time information to aid DO-178B qualification;
Selecting RapiCover to help meet code coverage measurement requirements.
To learn how RapiTime can help reduce the cost and effort of execution time analysis, see our product page.
To enquire about how Rapita can help, visit our contact page.