Data Load Engine (DLE) Next Generation Avionics Products (NGAP): Avionics Case Study
- Category: Avionics
Development Model: Waterfall
Project Team” Project Manager; Software Engineers; Software Testers
Languages: C++, Python
Technologies and Tools: ARINC 665A, ARINC 615A, ARINC 615-3, Eclipse, gcc, Linux, LOS-178, MS Project, MS Visual C++ 6.0, XML-RPC
The Data Load Engine (DLE) Next Generation Avionics Products (NGAP) software application provides the ability to upload databases and equipment tables to avionics Line Replaceable Units (LRUs) residing onboard the aircraft. The DLE software operates within the Onboard Data Loader (ODL) subsystem, which also includes the display management applications responsible for providing the user interface and communicating with the DLE. The DLE software supports databases and equipment tables packaged in the ARINC 655 format. It provides a common interface for loading the databases and equipment tables – residing either locally or on a remote file server – to LRUs on the aircraft, supporting multiple data load protocols (ARINC 615A and 615-3).
Genova was contracted to port the existing DLE software for the Fusion program, which runs on the Windows Operating System, to the LOS-178 Real-Time Operating System and add functionality for discovering and uploading databases/tables that reside on a remote file server (the Information Management System LRU). Software development was performed to DO-178B Level D. Our responsibilities included identifying and documenting the requirements of the DLE software, design and development of the associated software, development of test suites for verifying both the DLE software and ODL subsystem, and performing formal verification.
The DLE software must be capable of running in both a host environment (Windows), as well as in the target environment onboard the aircraft (LOS-178). To provide this support, Genova implemented an abstraction layer that supports multiple Operating System (OS) platforms. Because of the limited debugging capabilities provided for the target environment and the wide range of differences between the host and target environments, Genova also added support for running the DLE software on Linux to provide an intermediate testing environment.
Integrating and testing the DLE software on the target proved particularly challenging, as the system software was being developed (by the Client) in parallel and was often not ready for use or required multiple changes to the DLE test setup and tests as systems updates were released. New functionality added by Genova to upload databases/tables that reside on a remote file server required multiple simulators for verification due to the lack of the real hardware (and software) that will support this functionality in the target environment.
Because the DLE software is targeted for use in multiple aircraft environments, the effort also required a
number of enhancements to allow more flexibility in the exposed XML-RPC interface and internal software design. Due to the flexibility and stability of the software, the Client is planning for the software as a future replacement for the original DLE software, which is currently used in multiple aircraft environments as the core data load component.
Genova handled all aspects of the project for design and development of the DLE software. Software requirements were captured by Genova with guidance from the Client, working closely with the ODL systems engineers and developers for the display applications with which DLE interacts. Software
requirements and code were reviewed jointly with the customer. Integration testing was performed together with the ODL software team lead for the customer.
Genova was responsible for performing the following tasks:
• Identify and document the DLE software requirements.
• Design and develop the DLE software.
• Perform formal verification of the DLE software.
• Develop an automated test suite to aide in future enhancements / regression testing.
• Project management (using MS Project)
• Functional requirements analysis and capture
• C++ / Standard Template Library (STL)
• Microsoft Visual C++ 6.0
• ARINC 665
• ARINC 615A and 615-3 Protocols
• TFTP Protocol
• Python scripting