Avionics software development is expensive and release cadence is slow. Therefore, reusable software components and applications are particularly attractive to enable faster system development, increase quality and decrease costs. A common Application Programming Interface (API) can avoid strong coupling between software and its execution environment and enable re-use even when the execution environment changes. ARINC 653 describes such an API for avionics applications. However, orthogonal to the use of this API, some coupling to the hardware and the execution environment remains. Usually, an avionics application still has to be adapted to the OS implementing ARINC 653 and compiled for the target hardware architecture. In this paper, we outline a concept for removing this restriction, while increasing portability and re-usability, using WebAssembly as a common Application Binary Interface and object code format. Since WebAssembly is a universal byte-code written for a Virtual Machine, this also enables advantages towards certification and fault isolation. In this work we integrate a WebAssembly (Wasm) interpreter onto an ARINC 653 Hypervisor to demonstrate feasibility of the approach, and to assess runtime impact on binary size and performance. Moreover we argue that certification according to DO-178C is achievable for a Wasm interpreter based avionic software stack.
WebAssembly in Avionics : Decoupling Software from Hardware
2023-10-01
811247 byte
Aufsatz (Konferenz)
Elektronische Ressource
Englisch
Avionics - Software grows in importance at Honeywell; hardware shrinks
Online Contents | 2005
Flight Avionics Hardware Roadmap
NTRS | 2014
|Flight Avionics Hardware Roadmap
NTRS | 2013
|