A Survey of Optimal Hardware and Software Mapping for Distributed Integrated Modular Avionics Systems  
[PERSON]  
1  
[PERSON]  
2 School of Automation, Guangdong University of Technology, Guangzhou 510006, China; 21 School of Automation, Guangdong University of Technology, Guangzhou 510006, China  
1  
[PERSON]  
1  
[PERSON]  
3 Computing Science Department, Institute of High Performance Computing (IHPC), Agency for Science, Technology and Research (A*STAR), Singapore 138632, Singapore; [PERSON].sg (R.S.F. ); [EMAIL_ADDRESS] (F.G.)3 Correspondence: [EMAIL_ADDRESS]; Tel. :+86-180-1178-58583  
all shared computational resources, DIMA extends IMA to allow their distribution throughout the aircraft [7]; typical aircraft models include Airbus A350 and Boeing 787. It provides greater flexibility for designers, thus allowing to better address user and engineering needs. The design flexibility of DIMA systems comes at the price of overwhelming configurations. Two levels of mappings [8; 9] are usually considered: (1) software modules to hardware components, and (2) hardware components to installation locations. For the software mapping, system functions in the form of software modules must be allocated to hardware components (also referred to as DIMA devices) while considering device capabilities (i.e., resources provided by the specific hardware) and relevant constraints (e.g., segregation). For the hardware mapping, DIMA devices must be assigned to installation locations that are restricted in volume, electrical power, and network connectivity. Finding valid mappings is not sufficient; the system is expected to be optimized. However, achieving global optimum for both mappings simultaneously is usually challenging. Typically, the combinatorial explosion of design choices for the mappings raises the concern on how to compare alternatives and ultimately perform decisions efficiently and effectively. In the current state of affairs, with an increasing number of software-implemented aircraft systems, a fully manual developmental approach is impractical. Although some attempts have been made to conduct configuration engineering [10; 11], develop testing framework [12] and analyze the schedulability of DIMA [13; 14; 15; 16], automatic optimization is still desired to obtain optimal configurations. It is therefore paramount that a comprehensive framework for automating the construction of optimized mapping should be available and thoroughly understood [17]. In this paper, we survey the fundamental landscape for optimization of DIMA systems. We begin by presenting the DIMA system, which consists of three hierarchical layers. We then visit the problem statement of hardware and software mapping, and how it can be translated into a mathematical model. The generic mapping problem is equivalent to the general assignment problem of optimal resource allocation in distributed computing. This is commonly formulated as an integer linear program, and solved through approximate or heuristic algorithms. We refer to such a problem of finding the optimal mapping as DIMA optimization. We review the literature and enumerate the existing approaches for solving this class of problems, and compare the different approaches, including standard solvers (e.g., WebSphere ILOG CPLEX [18] and GUROBI [19]), and metaheuristic methods (e.g., genetic algorithms). Particularly, we investigate multi-objective optimization approaches in depth, due to the conflicting nature of typical performance measures. Case studies for both single objective and multi-objective optimizations are provided. The running time of various objective functions and constraints differs from each other; it depends on what sort of optimization problem is to be solved and what sort of optimization method is to be leveraged. For the multi-objective optimization, its running time is orders of magnitude above that of single objective optimization. Finally, we present future trends and orbiting research topics that are increasingly relevant for DIMA optimization.