PP-D: Platform Adaption

Hardware (and software) platforms are evolving and new application scenarios are required to be supported by existing software. This steady evolution requires software developers to adapt "non-functional" properties of their code. For instance,

  1. in high performance computing (HPC) novel hardware platforms like GPUs need to be taken advantage of and existing software has to be refactored to enable that potential increase in efficiency;
  2. in the Industry 4.0 (I4.0) context, novel cyber-physical production software (CPPS) such as networks or cooperating CNC machines, require updates of their software layers.

The goal is to develop methods and tools to perform and validate software adaptions for the characteristics of different target platforms in the application areas HPC and I4.0. The work is centered around the generation of recommendations for software adaptations and the test-based verified and validated adaptation.

The challenges are to find recurring patterns for efficiency-improving refactorings, to associate performance measurements gained from profiling with code constructs to infer optimization potential and test techniques for a systematic validation of software refactoring as well as for abstract machine testing.

The approach is illustrated in the figure below:
PPD Workflow