La caractéristique architecturale de ces systèmes, souvent distribués et très complexes, constitués d’un nombre adaptatif et dynamique de composants, est qu’ils intègrent à la fois des composants matériels et des composants logiciels ainsi que des interactions permanentes et critiques avec leur environnement et/ou des utilisateurs, souvent mobiles.

Le développement de tels systèmes requiert donc celui de modèles formels permettant de raisonner sur leur fonctionnement et garantir leur correction. Il s’agit :

  • d’une part, de modèles fonctionnels qui ont pour objet de décrire comment le système doit se comporter, de garantir que son comportement est conforme à ses spécifications et de dériver correctement son implémentation à partir de ces dernières. Parmi les formalismes utilisés pour construire ces modèles, on peut citer les states-charts, les langages formels, les modèles communicants asynchrones (e.g. CSP, DCS, ASM, la méthode B et outils associés comme FDR, RODIN, etc.).
  • d’autre part, de modèles dysfonctionnels qui ont pour objet d’analyser et de réduire la fréquence d’incidents ou d’accidents liés à l’exploitation d’un système complexe. Ces modèles sont, par exemple, typiquement des arbres de défaillance ou des schémas blocs-diagrammes de fiabilité ou encore des modèles formels de test et simulation.
  • et enfin, l’adéquation de ces deux types de modèles avec des modèles de sécurité appropriés pour les interactions des composants des systèmes entre eux et avec leur environnement (sécurité d’accès, des échanges, supports matériels pour la sécurité, etc)

Par ailleurs l’intégration des modèles de sécurité nécessite une conception globale des systèmes avec les fonctions de sécurité appropriées à chaque niveau fonctionnel et non l’ajout à posteriori, comme c’est souvent le cas, des propriétés de sécurité souhaitées.

La conséquence est que l’on peut observer un décalage préjudiciable entre les modèles fonctionnels et les modèles dysfonctionnels d’un même système. Leur intégration est donc un enjeu technologique majeur pour la complexité croissante des systèmes communicants et critiques futurs et leurs applications sécurisées.
Elle est d’actualité pour au moins quatre raisons :

  • La demande de la société et la pression économique pousse à intégrer les exigences de sûreté de fonctionnement au plus tôt dans le cycle de vie des systèmes embarqués critiques, c’est à dire dès leur spécification fonctionnelle initiale.
  • Les exigences de sûreté de fonctionnement se doublent d’exigences de disponibilité des services. Ces dernières ne peuvent être atteintes que par une analyse fine des modes de fonctionnement dégradés du système.
  • L’évolution récente des formalismes de modélisation fonctionnels et dysfonctionnels rend aujourd’hui possible leur intégration grâce aux travaux que nous menons dans la région
  • Les modèles sont aujourd’hui réalisés dans le cadre d’ateliers logiciels complexes. Ces progiciels facilitent l’intégration des différentes techniques.

Nos projets ont pour objectifs de démontrer la faisabilité de cette intégration, tant d’un point de vue fondamental que sur la base de cas d’étude proposés par nos partenaires industriels associés directement par des collaborations significatives au niveau national et européen.