Il y a encore quelques années, les systèmes embarqués étaient souvent isolés de leur environnement. En raison des nouvelles applications comme de l’IoT, des systèmes autonomes ou plus généralement des applications qui requièrent des moyens de calcul et de stockage importants (ex. intelligence artificielle, big data), la frontière entre les systèmes embarqués et leur environnement s’est estompée. L’environnement implique de l’incertitude compliquant la garantie des propriétés non fonctionnelles mais permet aussi de disposer de ressources supplémentaires ou de nouvelle nature. Ainsi, les systèmes embarqués doivent cohabiter voire interagir avec des entités dont le comportement n’est pas complètement connu à la conception. Par ailleurs, le caractère limité en ressources associé aux systèmes embarqués ne constitue plus une de leurs caractéristiques fondamentales : l’edge computing, le cloud, permet d’accéder à des ressources importantes de calcul et de stockage. Ces systèmes embarqués ne peuvent plus être conçus comme des entités isolées et autonomes : ils font maintenant partie d’un tout, d’un système d’information réparti bien plus large et diffus, d’un système de systèmes.
Ces systèmes de systèmes voient leur complexité croître et combinent des systèmes ou applications hétérogènes, de natures et de besoins différents, incluant du legacy tant du point de vue du matériel (IP pour intellectual property ou bloc matériel) que du logiciel. Ils sont plongés dans un environnement de plus en plus incertain. Ils doivent néanmoins respecter des exigences fonctionnelles et non fonctionnelles (p. ex. empreinte énergétique, sécurité, sûreté, comportement temporel), dont la garantie n'est plus uniquement limitée au système, mais aussi aux autres entités qui interagissent avec lui. Assurer ces exigences dans ce contexte nouveau constitue un défi difficile qui nécessite :
1) D’étudier les architectures de ces systèmes à tous leurs niveaux : des couches matérielles les plus basses aux couches logicielles les plus hautes, ainsi que leurs interactions et les outils nécessaires pour les spécifier, les concevoir, les valider, les évaluer et les exploiter.
2) D’avoir une expertise dans divers domaines de recherche tels que : les architectures matérielles, les outils de CAO, les architectures parallèles, les architectures spécialisées, les architectures reconfigurables, les interactions logiciel/matériel, l’intelligence embarquée, les systèmes d’exploitation, les systèmes distribués, la vérification de propriétés, la fédération de modèles, les processus de construction de systèmes et logiciels.
Le pôle SHARP se propose d’étudier les modèles, méthodes et outils d’aide à la conception centrés « architecture » pour ces nouveaux systèmes embarqués et leur environnement. Le terme architecture s’entend ici au sens large. Il peut s’agir d’architecture matérielle sur les couches les plus basses jusqu’à l’architecture du système complet dans lequel le système embarqué étudié est enfoui, ou encore de son architecture logicielle, avec des contraintes fortes sur la prise en compte des besoins applicatifs et des interactions logiciel/matériel. Le pôle est pluridisciplinaire et regroupe des chercheurs en électronique, informatique, automatique et traitement du signal regroupé en trois équipes: les équipes ARCAD, SHAKER et P4S.