Refactoring Software in the Automotive Domain for Execution on Heterogeneous Platforms
Paper in proceeding, 2020

The most important way to achieve higher performance in computer systems is through heterogeneous computing, i.e., by adopting hardware platforms containing more than one type of processor, such as CPUs, GPUs, and FPGAs. Several types of algorithms can be executed significantly faster on a heterogeneous platform. However, migrating CPU-executable software to other types of execution platforms poses a number of challenges to software engineering. Significant efforts are required in such type of migration, particularly for re-architecting and re-implementing the software. Further, optimizing it in terms of performance and other runtime properties can be very challenging, making the process complex, expensive, and errorprone. Therefore, a systematic approach based on explicit and justified architectural decisions is needed for a successful refactoring process from a homogeneous to a heterogeneous platform. In this paper, we propose a decision framework that supports engineers when refactoring software systems to accommodate heterogeneous platforms. It includes the assessment of important factors in order to minimize the risk of recurrent problems in the process. Through a set of questions, practitioners are able to formulate answers that will help in making appropriate architectural decisions to accommodate heterogeneous platforms. The contents of the framework have been developed and evolved based on discussions with architects and developers in the automotive domain.

software engineering

architectural decisions

heterogeneous computing

refactoring

Author

Hugo Sica de Andrade

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers), Software Engineering for Cyber Physical Systems

Ivica Crnkovic

Information and Communications technology

Jan Bosch

Chalmers, Computer Science and Engineering (Chalmers), Software Engineering (Chalmers), Software Engineering for Testing, Requirements, Innovation and Psychology

Proceedings - IEEE Computer Society Signature Conference on Computers, Software and Applications

0730-3157 (ISSN)

1534-1541

2020 IEEE 44th Annual Computers, Software, and Applications Conference (COMPSAC)
Madrid, Spain,

HELPING: Modellering av heterogena plattformar av inbyggda system

Swedish Research Council (VR), 2014-10-01 -- 2016-12-31.

HoliDev - Holistic DevOps Framework

VINNOVA, 2018-01-01 -- 2019-12-31.

Areas of Advance

Information and Communication Technology

Subject Categories

Software Engineering

Embedded Systems

Computer Systems

DOI

10.1109/COMPSAC48688.2020.00-37

More information

Latest update

12/30/2020