Development of a Software Architecture for a Reconfigurable Aircraft Design System

More Info
expand_more

Abstract

Aircraft design systems are frequently used to synthesize aircraft designs. However, it is inherently difficult to reconfigure these software systems to facilitate a broader range of design studies (e.g. optimization or sensitivity studies) and to address follow-up questions about the synthesized aircraft designs. This report presents an investigation into the feasibility of developing a reconfigurable aircraft design system.

Firstly, the issues preventing current aircraft design systems from being used in a reconfigurable way are identified. These issues are closely tied to the intricate and tightly integrated nature of the source code that underpins these systems. This is unsurprising, given that these systems have typically been devised by experts in aircraft design (with varying expertise in software design) who are primarily interested in solving concrete design problems rather than creating sophisticated source code. In particular, the extensive design logic, characterized by high cyclomatic complexity, combined with cluttered and ambiguous design data structures, makes it challenging to comprehend and adapt the functioning of these systems.

An iterative development methodology is employed to come up with a software architecture aimed at mitigating the identified issues. A number of distinct architectural elements are devised that leverage a centralized semantic data management approach and a standardized interface for the formulation of modular analysis & sizing methods. Furthermore, a prototype aircraft design system that serves as a reference implementation for this architecture is developed. The prototype incorporates a graph database, a self-explanatory ontology (defining the semantics of the data stored in the database), and several abstract base classes for encapsulating the computation logic contained within typical analysis & sizing methods used during aircraft design studies. Concrete instances of these base classes are supposed to interact with the database through a well-defined endpoint interface, which includes extensive logging capabilities.

The prototype aircraft design system exhibits promising characteristics: The semantic data management approach facilitates the creation of a genuinely unambiguous and flexible data model. Simultaneously, it helps uncover inconsistencies and limitations in the employed analysis & sizing methods. Treating analysis & sizing methods as modular and nested instances of standardized classes appears to be the key to achieving reconfigurability. In addition to the unit-testability of these classes, the self-visualization features incorporated within can significantly enhance the comprehensibility and transparency of the analysis & sizing methods.

The architecture development, repository configuration, ontology formulation, and interface generation took a significant amount of time. Furthermore, some critical challenges surfaced, necessitating further investigation. Specifically, some of the employed analysis & sizing methods feature limitations and implicit assumptions that are required for a synthesis system but may need to be revised before being used in a reconfigurable design system based on the proposed architecture. In the end, there was insufficient time left for implementing a comprehensive set of analysis & sizing methods essential for materializing a thorough aircraft design loop. Therefore, achieving a fully functional aircraft design system prototype proved unattainable. Consequently, it was not possible to demonstrate that adopting the proposed architecture yields an aircraft design system that can be used in a reconfigurable way, despite indications that this could very well be the case...