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.
Summary
The challenge
- To measure and improve the overall execution time of the flight control system on the Alenia Aermacchi M-346 Master
The solution
- Use RapiTime to measure worst-case execution times, identify worst-case hotspots and optimize the appropriate code
The benefits
- WCET determined with a high level of confidence and reduced effort
- Rapid identification of software bottlenecks, leading to 10% reduction in WCET
The challenge
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
The solution
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
The benefits
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