Cyber-Physical Systems (CPS) demand high levels of performance, operating within small power envelopes (with operational temperature constraints in many cases), while satisfying the non-functional requirements imposed by the application domain such as real-time response, resiliency, safety and security. These performance requirements can be obtained from the computational power provided by energy-efficient and highly parallel heterogeneous processor architectures including many-cores and DSP fabrics, GPUs and FPGA-based accelerator devices.
AMPERE addresses the software productivity gap existing between the complexity of the software systems required to efficiently exploit the performance capabilities of these advanced processor architectures, and the low software development productivity when addressing these type of architectures (see Figure below). This gap is further exhacerbated by the difficulty of fulfilling the non-functional requirements imposed by the cyber-physical system in the presence of parallel execution.
The AMPERE project has addressed this gap by developing an innovative software architecture that helps unleash the efficient use of parallel and heterogeneous processor architectures for automotive and railway systems, by bridging the gap between the model driven engineering techniques currently used to develop CPS and theparallel programming models used to exploit parallel architectures in the High-Performance Computing (HPC) domain.
The AMPERE software architecture implements the complete value chain for the development, deployment and efficient execution of cyber-physical systems, while guaranteing the non-functional requirements imposed by the system, by providing solutions for system integrators and end-users who need to incorporate energy-efficiency and parallel computing into their CPS. The following objectives have been achieved:
i Facilitate the design, development and maintenance of CPS implemented with modeldriven engineering targeting parallel and heterogeneous architectures.
ii Develop a set of synthesis methods for deriving efficient parallel source codes from the model driven engineering description of the system, while performing a multi-criteria optimization model transformation.
iii Develop run-time techniques for monitoring the fulfillment of functional and non-functional constraints while optimising the parallel computation.
iv Integrate the AMPERE software ecosystem within the development environments of the AMPERE parterns BOSCH and GTSI and use it to develop, deploy and efficiently execute automotive and railway applications on two parallel and heterogeneous platforms, the NVIDIA Jetson AGX Xavier and the Xilinx Zynq Ultrascale+ ZCU102.
v. Analyse the suitability of the AMPERE technology on the requirements imposed by industrial standards, and implement extensions on the model driven engineering currently HPC parallel programming models considered in the project.