Formaliser la conception des systèmes complexes.

La conception et la réalisation de systèmes, et en particulier de systèmes à logiciel prépondérant, nécessite une démarche suffisamment rigoureuse pour éviter les écueils d’une mauvaise spécification (sous-spécification ou sur-spécification), et suffisamment flexible pour s’adapter rapidement aux évolutions, tant organisationnelles que techniques ou technologiques.

De ce fait, l’axe scientifique « Ingénieries système et logicielle » s’intéresse à la conception et au développement agiles et robustes de systèmes complexes dans le domaine des technologies de l’information avec des approches collaboratives, la mise en œuvre d’une ingénierie des modèles et des langages et des techniques de vérification et validation (tests, model-checking, preuve). La compréhension des besoins et l’élicitation des exigences doivent aboutir à une architecture système/logicielle optimisée opérant un compromis satisfaisant et dans un délai raisonnable entre les différentes propriétés fonctionnelles et extra-fonctionnelles (performance, coût, consommation, etc.) pour l’ensemble des parties prenantes.

L’axe s’intéresse également aux sujets liés à la capitalisation et à la réutilisation : les approches à composants, les schémas de processus ou les schémas logiciels. Au regard de l’évolution des entreprises vers le service, ces sujets ont aujourd’hui une importance cruciale avec des retombées très importantes en matière de time-to-marketou de réduction des risques et des coûts.

Une attention particulière est apportée également à l’analyse de la sûreté de fonctionnement et plus précisément aux approches qui autorisent la prise en compte des propriétés dynamiques des systèmes et de l’enchaînement de défaillances. La diagnosticabilitédes systèmes, la preuve formelle, le pronostic, les méthodes de diagnostic avancées couplées à des stratégies de maintenance préventive conditionnelle œuvrent à la maîtrise des risques et l’optimisation de la santé des systèmes maintenus.

L’axe 3 regroupe les compétences suivantes :

• système à logiciels prépondérants,

• ingénierie collaborative,

• architecture des entreprises,

• gestion des processus métiers (BPM),

• processus de prise de décision,

trade-off d’architectures,

Model Driven Architecture (MDA),

• modélisation fonctionnelle/extra-fonctionnelle.
design pattern,

• algorithmie,

• capitalisation,

• réutilisation,

• reconfiguration logicielle.
• vérification de modèles,

• preuve formelle,

• approche semi-formelle,

• test,

• sureté de fonctionnement,

• diagnostic,

• fiabilité,

• systèmes à événements discrets,

• réseaux de Petri.

Défis scientifiques associés à l’axe 3 :

Aujourd'hui, la survie d'une entreprise dépend pour beaucoup de sa capacité à collaborer avec ses partenaires / fournisseurs de manière intelligente et optimale pour répondre rapidement à la demande. La mise en œuvre de réseaux de collaboration " gagnant-gagnant " pose un certain nombre de challenges pour pouvoir être efficaces : échange d'information pertinente, exposition contrôlée de la donnée, réconciliation de points de vue, orchestration de processus et prise de décision collaborative.
Pour mener à bien la conception de systèmes critiques complexes, il est nécessaire de disposer d'outils de modélisation qui apportent une aide à la démonstration de leurs propriétés attendues (fonctionnelles et non fonctionnelles). D'une part, la nature hétérogène des sous-systèmes peut favoriser l'apparition de comportements émergents. D'autre part, le raffinement d'un niveau d'abstraction à un autre ne permet pas toujours de garantir que les propriétés qui ont été démontrées au plus haut niveau sont conservées à un niveau plus bas. Les méthodes formelles aident à solutionner ces types de problèmes.
Les approches actuelles en sûreté de fonctionnement peinent à considérer la dynamique des systèmes qu'ils modélisent. En effet, ces approches consistent à prouver des propriétés de sûreté à partir d'une image du système, établie à un instant donné, par des analyses sur des arbres de défaillance par exemple. Il serait important d'élargir ces approches pour étudier notamment les séquences d'événements qui peuvent amener à un état non désiré du système, en particulier lorsque ce dernier change de propriétés au cours du temps.
Aujourd'hui, la création de valeur ajoutée pour répondre à la demande ou l'anticiper nécessite la mise en œuvre de méthodologies coûteuses. Une manière de pallier à cela est de mettre en œuvre la composition cohérente de services sur la base d'architectures ouvertes. Même si cette approche fonctionne en théorie, des travaux de recherche sont en cours pour rendre cette approche plus efficiente.
La transition entre le monde de la spécification système au monde de la réalisation matériel / logiciel est aujourd'hui une activité manuelle chronophage car les choix de réalisation de fonctions systèmes en logiciel ou matériel sont nombreux. Pour arriver à des choix d'implantation qui tiennent compte des contraintes de performances imposées par le client (WCET, consommation, etc.), il est nécessaire de tester un grand nombre de configurations. Il y a alors un intérêt fort à pousser des travaux de recherche pour la résolution optimale de ce problème, en conception comme en exploitation (reconfiguration dynamique).