Software Development and Verification for Multi-Function Display Unit with ARINC 661 Server

about project

The client required the development and verification of a Multi-Function Display Unit (MDU) according to DO-178C DAL B standard. The project involved writing high and low-level requirements, developing and testing the software, and conducting extensive refactoring and bug fixing of existing systems. The MDU was built using the ARINC 661 standard, which standardizes the Cockpit Display System (CDS) and its communication with User Applications (UA) that manage aircraft avionics functions.

Since 2019, our team has been involved in both the development and verification of the software, including creating automated test procedures and simulations using the SCADE Suite and SCADE Display technologies. The ARINC 661 server software manages the display of information from several user applications, including FMS (Flight Management System), FWS (Flight Warning System), RMS (Radio Management System), and others. The software operates in a real-time environment using VxWorks RTOS and runs on the Snowrunner platform from Elbit Systems.

The project team, consisting of 18 highly skilled engineers, is responsible for the full lifecycle development of the ARINC 661 server, adhering strictly to DO-178C standards. The team also specializes in model-based development using ANSYS SCADE tools, covering both DO-178C and DO-331 objectives. Additionally, a unique framework was developed for automated testing, allowing for the loading of various definition files, image capture for analysis, and testing at both the ARINC 661 and ARINC 664 protocol levels.

Tasks

Development of the Multi-Function Display Unit (MDU):

Design and develop the MDU in accordance with DO-178C DAL B standards, including the integration of the ARINC 661 server.

Refactoring and Bug Fixing:

Conduct extensive refactoring to improve system performance and address critical bugs identified during testing.

Requirement Specification:

Develop comprehensive high-level and low-level software requirements. Initially, the requirements were in poor condition, and we had to create them almost from scratch.

Automated Test Procedures:

Develop and implement automated test procedures, including simulation tests using SCADE Suite and SCADE Display, as well as integration testing.

Results

Successful Development:

The MDU was developed according to DO-178C DAL B standards, successfully meeting all regulatory and performance requirements.

Enhanced System Performance:

Refactoring significantly improved the system’s performance, addressing several critical bugs discovered during testing.

Requirement Specification:

High-quality high-level and low-level requirements were developed, providing a solid foundation for further development and verification.

Code Generation:

A more optimized code generator was developed, enhancing the efficiency of software development.

Custom Widget Library:

The widget library was successfully customized to meet the client’s specific needs, and new methods for collecting CPU and memory metrics were implemented, guiding developers in optimizing page complexity.

Improved User Experience:

New functionalities were introduced to enhance the user experience for the crew, contributing to a more intuitive and efficient interface.

Comprehensive Verification:

The software was thoroughly verified against SRD and SDD, achieving full code coverage and validating performance characteristics.

Tech Stack and Standards

Technologies/Standards:

C, Python, ARINC 661, ARINC 664, ARINC 429, Coverest, Ansys SCADE Suite, Ansys SCADE Widget Creator, DO-178C, DO-330/331, VxWorks RTOS

Domain Knowledge:

ARINC 661 standard, Cockpit Display Systems, Avionics Software Development, Real-time Operating Systems (RTOS)

ARINC 661 Server Expertise

In-depth Understanding of ARINC 661 Standard:

Mastery of task division between User Applications (UA) and Cockpit Display Systems (CDS).

Expertise in the window and layer concepts within the ARINC 661 standard.

Proficiency in managing interaction protocols during both Initialization and Runtime phases.

Development of ARINC 661-Compliant Systems:

Development of Software Requirements Documents (SRD) and Software Design Documents (SDD).

Integration of ARINC 661 server software using ANSYS (Esterel Technologies) tools.

Extensive work with SCADE Suite and SCADE Display models.

Expertise in font and style management.

Code generation based on models.

Participation in the development of User Applications (UA) and UADF systems for FMS, developed in the SCADE Suite environment.

Verification in Compliance with DO-178C/DO-331:

Simulation of widget models.

Execution of module tests and coverage collection.

Performance analysis.

Development of a proprietary framework for automated integration testing.

Creation of a set of emulators and adapters to enable test development on standard PCs, reducing the need for expensive test benches.

process

Project Implementation

Requirement Definition

We began by identifying and developing high-level and low-level requirements, including the creation of the Software Requirements Document (SRD) and Software Design Document (SDD). We are currently reviewing the client’s system requirements.

Model-Based Development

During the requirements and software development phases, we conducted software modeling according to DO-331 standards, generating source code from the models and optimizing the code generator. We ported an existing ARINC 661 server example from ANSYS to a target platform with limited performance resources, ensuring compliance with ARINC 653 in an RTOS environment.

Widget Library Customization

We customized the widget library by removing unused widgets, adding new custom widgets, and modifying existing ones to meet the client’s requirements. This was accomplished using a model-based approach to implement both the graphical and logical aspects of the widgets.

Performance Metrics Development

Developed methods for collecting CPU and memory usage metrics for various widget types, enabling the formulation of recommendations for DF developers on page organization and setting complexity constraints.

Refactoring and Bug Fixing

Extensive refactoring and bug fixing were performed on the existing ARINC 661 software and systems to enhance performance and reliability.

Integration with Avionics Systems

Implemented interactions via ARINC 664 and ARINC 429 channels with other onboard systems, ensuring seamless data exchange.

Enhancement of User Experience

Implemented new functionality to improve the user experience for crew members.

Verification Strategy Development

Developed a comprehensive verification strategy to meet all DO-178C and DO-331 objectives, ensuring thorough testing and validation.

Automated Testing

We developed and implemented automated test procedures according to DO-178C standards, including both simulation and integration tests. A test environment was created to conduct integration testing and assess the correctness of information display.

Final Verification

Conducted verification to ensure compliance with SRD and SDD, collected code coverage through tests, and evaluated software performance characteristics.

review

feedback from
our customer

contacts

you have a project, and want to release it? contact us

If you hae questions or need any general information, please complete this form to request the information you need, it will be an honor to help you

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.