Description
Complex, dependable and physically-entangled systems of systems must be supported by innovations to allow for 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 difficult to optimise because of the multiple conflicting criteria imposed by applications such as performance, energy efficiency, real-time response, resiliencyand fault tolerance. AMPERE addresses this challenge by incorporating model-driven engineering (MDE) as the key elementfor the construction of complex software architectures.
MDE enables the efficient capture of system's functional and nonfunctional 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 AMPERE project views a clear necessity for developing a new generation of code synthesis methods and tools that are capable of implementing correct-by construction systems, in which the constraints captured by the system model can be 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 parallel execution to improve the overall system's efficiency, and guarantee that the non-functional requirements capture by the DSML are fulfilled. AMPERE advances will be integrated in a set of ready-to-use tools and libraries, and validated through demonstration in two reference applications, from automotive and railway domains.