Software-Hardware Abstraction Layer for Aircraft Application Porting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for arranging application software on computer hardware are inefficient, leading to lengthy testing times and high development costs due to the need for lengthy cycles of modification, unitary testing, and the monopolization of real equipment, especially when simulating equipment control functions and bus controller functions using communications layers that only exchange data in shared memory.
Innovation Solution
A method involving the development of a standardized software-hardware abstraction software layer that interfaces with source codes and real or virtual computer hardware units, along with real-hardware or virtual-hardware software layers, to enable safe and reliable communication between software units and hardware, allowing for hosting or re-hosting on either real or virtual hardware, and incorporating a communications software layer to manage data exchanges between virtual input/output cards.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If application software is arranged on real equipment hardware for testing, then testing accuracy and reliability are improved, but testing time and development costs increase due to monopolization of real equipment
Solution Approach 1:
The patent creates a virtual copy of the real equipment hardware through virtual hardware layers that replicate the functionality, interface, and behavior of physical equipment. This virtual copy enables software testing to be performed on inexpensive standard hardware while maintaining testing accuracy equivalent to real equipment, thereby eliminating the need to monopolize actual equipment during testing phases.
Solution Approach 2:
The patent introduces a software-hardware abstraction layer as an intermediary between the application software and the physical hardware. This abstraction layer, combined with virtual hardware layers, creates a mediation mechanism that allows software to interact with virtual representations of hardware, enabling parallel testing on multiple platforms without conflicting for access to real equipment.
2Productivity
If application software is arranged on virtual hardware for early testing, then development costs and testing time are reduced, but communication reliability between software and hardware may be compromised
Solution Approach 1:
The patent segments the hardware interface into multiple layers: a standardized software-hardware abstraction layer that defines communication protocols and interfaces, and virtual hardware layers that implement these protocols. This segmentation allows the communication interface to be standardized and validated independently, ensuring that even virtual hardware communications maintain reliability by adhering to defined protocols that mirror real hardware behavior.
Solution Approach 2:
The patent creates a universal software-hardware abstraction layer that provides consistent communication interfaces across different hardware platforms. This universal layer ensures that communication protocols remain standardized whether interacting with virtual or real hardware, thereby maintaining communication reliability while enabling portability across diverse hardware environments including standard consumer hardware.
3Reliability
If specialized equipment hardware is used for software arrangement, then hardware-software compatibility is improved, but adaptability to different hardware platforms decreases
Solution Approach 1:
The patent implements a dynamic architecture where the virtual hardware layer can be configured and adapted to represent different hardware platforms. The software-hardware abstraction layer dynamically adjusts its interface based on the target platform, allowing the same software to be arranged on various hardware configurations while maintaining compatibility through the standardized abstraction interface.
Solution Approach 2:
The patent creates a universal software-hardware abstraction layer that serves as a common interface between application software and diverse hardware platforms. This universal layer translates platform-specific hardware operations into standardized commands, enabling software to adapt to different hardware configurations without requiring platform-specific modifications, thereby achieving both compatibility and versatility.
4Reliability
If real equipment is monopolized for testing, then comprehensive system integration testing is improved, but productivity and development speed decrease
Solution Approach 1:
The patent creates virtual copies of the complete hardware system including communication buses, input/output cards, and processing units. These virtual copies enable comprehensive system integration testing to be performed on inexpensive standard hardware in parallel with real equipment development, eliminating the need to monopolize actual equipment for testing purposes and thereby accelerating the development cycle.
Solution Approach 2:
The patent enables preliminary system integration testing to be performed using virtual hardware representations before the actual hardware is available or before software is finalized. This preliminary action allows developers to identify and resolve integration issues early in the development process, reducing the need for extensive retesting on real equipment and thereby improving overall development speed while maintaining testing quality.
Data Source
AI summary
A software unit arrangement method includes developing a standardized software-hardware abstraction software layer in a software unit. The standardized abstraction software layer includes a library of primitives that interface with the source codes of the software unit and with a real or virtual computer hardware unit. The method includes developing a real-hardware or virtual-hardware software layer in the associated computer hardware unit. The real-hardware or virtual-hardware software layer forming the portion of the computer hardware unit that interfaces with the standardized abstraction software layer and that presents real and/or virtual input/output cards performing at least the same functions as the real standard input/output cards of the real computer hardware unit.


