Complex, dependable and physically-entangled systems of systems must be supported by innovations to allow a significant reduction of the cost and complexity of system design targeting computing platforms composed of parallel heterogeneous architectures. Software development is one key challenge, as current programming tools do not fully support emerging processor architectures. Parallel and heterogeneous platforms are difficult to program and even more to optimise for the multiple conflicting criteria imposed by applications, such as performance, energy efficiency, real-time response, resiliency, and fault tolerance.
AMPERE addresses this challenge by incorporating model-driven engineering (MDE) as the key element for the construction of complex software architectures. MDE enables to efficiently capture the system's functional and non-functional requirements, including multiple conflicting requirements, as well as, enabling the use of domain-specific model-driven languages (DSML) to further refine the description of cyber/physical interactions.
The vision of AMPERE is that there is a clear necessity for developing a new generation of code synthesis methods and tools capable to implement correct-by-construction systems, in which the constraints captured by the system model are efficiently transformed to the parallel programming models supported by the underlying parallel heterogeneous platform, whilst providing the level of performance required. Moreover, AMPERE will provide computing software composed of a set of advanced run-time methods implementing monitoring and dynamic reconfiguration techniques, that will support the parallel execution to improve the overall system's efficiency, and guarantee that the non-functional requirements captured by the DSML are fulfilled. AMPERE advances will be integrated into a set of ready-to-use tools and libraries, and validated through demonstration in two reference applications, from automotive and railway domains.