Hardware/Software Partitioning Methodology for Embedded Applications using Multiple Criteria Decision Analysis

Abstract: The new hardware technologies enable execution of embedded systems applications on heterogeneous execution platforms. These platforms consist of different execution processing units, for example of CPUs, and FPGAs, that enable the application execution of software (SW) components, typically implemented as C/C++ code, and hardware (HW) components, implemented as VHDL code. This heterogeneity enables building dedicated components which can significantly improve the application performance. This, however, requires decisions on which components will be implemented as SW and which as HW execution units. This decision process in known as HW/SW partitioning, and is a subject of research of more than 20 years. Typical goals of this research was to find the optimal partitioning with respect to the system performance, and possibly a couple of other properties such as power consumption, or resource utilization (e.g. related to CPU memory footprint and FPGA area). However, by significant increase in complexity of the applications, and inclusion of different requirements, the partitioning decisions become more complex, as well as the entire development process with an integrated partitioning decision process. Today there is a lack of a systematic approach for partitioning complex applications. This thesis addresses this challenge. The main objective of the thesis is to design and build a systematic partitioning decision process that includes many requirements of different types. The thesis describes a new method MULTIPAR that includes the partitioning decision process for component-based embedded systems. The method is based on model-based engineering principles; components are analysed as models which can be implemented either as a SW or HW components, and the implementation itself is performed at a late stage of the development process. The partition is based on the optimisation of the application’s and components’ extra-functional properties (EFPs) that are derived from the requirements and project constraints. For the optimization a Multiple Criteria Decision Analysis (MCDA) method is used. As a part of the main contribution, the thesis includes several independent contributions that are of a more general character: a) modeling principles for component-based applications which consists of SW and HW components, and a component can be implemented as SW or/and HW code; b) a classification and analysis of EFPs in respect to the dependency on their HW or SW implementation; c) composition rules for some of EFPs for SW and HW components; d) suitability and limitations of MCDA methods in their usage for the partitioning decisions. MULTIPAR is also implemented in a form of a tool that enables a selection of components and analysis of the system in respect to the selected EFPs. The feasibility of MULTIPAR was validated through two industrial cases. The thesis is organized in two parts; the first part includes an introduction summarizing the overall work and discussing the research approach, and the second part collect the most relevant papers published in different venues.

  This dissertation MIGHT be available in PDF-format. Check this page to see if it is available for download.