Travaux de recherche

Sémantique des systèmes

Le concept de "système" est l’une des notions centrales de l’ingénierie des systèmes. Ce concept fondamental est cependant soit défini de façon très informelle - typiquement en voyant un système comme un ensemble structuré de composants (eux mêmes récursivement considérés comme des systèmes) qui interagissent pour réaliser une mission opérationnelle donnée - ou, quand il est abordé mathématiquement en toute généralité, en s’appuyant sur des modèles venant de la théorie du contrôle ou de la physique qui voient plus ou moins toujours un système sous la seule forme d’une fonction de transfert. C’est donc clairement un vrai défi que d’être capable de fournir des fondations solides à l’ingénierie des systèmes en donnant une sémantique claire et rigoureuse à la notion clef de système.


Notre réponse a consisté à élaborer une vision formelle qui permet désormais d’avoir une base mathématique solide pour parler de système tels qu’ils sont vus par l’ingénierie des systèmes. Notre approche intègre notamment dans un tout cohérent :

  • une définition mathématique des systèmes qui sont vus comme des objets caractérisés un comportement entrée/sortie y = f(x,q,t) et un comportement interne q=d(q,x,t) qui évoluent tout au long du temps ;
  • une définition mécaniste des systèmes qui sont vus comme des mécanismes à la Turing gérant des flux de calculs perrmanents au cours du temps.

Ces définitions sont complétées par celles d’opérateurs systémiques, à savoir la composition, le feedback et l’abstraction/concrétisation - pour lesquels les systèmes possèdent des propriétés naturelles de fermeture. Ces opérateurs sont notamment fondamentaux pour la modélisation systémique car ils permettent de rendre compte du processus d’intégration.

Modélisation de systèmes

Modèle d’un système

Nos travaux en modélisation de systèmes s’appuient sur un cadre simple et générique d’architecture, utilisable en toute généralité, qui abstrait la quasi totalité des cadres d’architecture existants [1]. Celui-ci est basé sur une décomposition architecturale d’un système quelconque en trois visions architecturales, à savoir son architecture opérationnelle (qui décrit le ``pourquoi" du système, c’est-à-dire plus formellement le fonctionnement du système dans son environnement), son architecture fonctionnelle (qui décrit ce que fait abstraitement le système) et son architecture organique (qui décrit comment est constitué concrètement le système), et en trois autres axes d’analyse (états, dimension statique, dimension dynamique) qui sont notamment bien adaptés à la description d’un système en SysML.


A partir de là, il devenait facile de proposer une définition - pleinement opérationnelle - d’un modèle systémique. Nous avons de fait réussi à dégager une organisation générique du modèle d’un système, basée sur le cadre architectural que nous venons de rappeler, que l’on peut naturellement décrire en s’appuyant sur un fragment du langage de description SysML (System Modelling Language) de l’OMG (Object Modelling Group) à qui l’on peut donner une sémantique non ambigüe. Cette organisation générique de notre modèle systémique est explicitée ci-dessus. On notera aussi que ce cadre de modélisation a été amplement confronté à la pratique, notamment à travers la prise en compte de plusieurs systèmes réels (infrastructure distribuée de transport urbain, système de contrôle-commande d’une infrastructure de production d’énergie) effectuée dans le contexte d’un contrat de recherche System@tic, qui a permis de faire une confrontation significative de notre approche à la pratique.

Conception modulaire

Dans une toute autre direction, nous avons commencé à aborder la problématique du dimensionnement système qui est l’une des autres facettes de l’ingénierie système. Nous avons ainsi proposé un modèle, décrit dans le langage de la programmation mathématique, pour exprimer le difficile problème de la factorisation architecturale au sein d’une famille de produits.


Nous avons notamment choisi de formaliser ce problème en le définissant comme celui de trouver la manière la plus efficace possible (en terme de réutilisation) de choisir des modules matériels ou logiciels élémentaires pour fabriquer un ensemble de produits, chacun étant modélisé individuellement par une architecture organique (i.e. par l’organisation arborescente des modules utilisés), qui répondent à des besoins externes, modélisés chacun par une architecture fonctionnelle cible spécifique pour le produit correspondant (i.e. par une organisation arborescente des fonctionnalités qu’il offre aux utilisateurs). Notre modélisation permet en particulier de mettre en oeuvre des algorithmes de recherche opérationnelle rapides (s’appuyant sur des codes de calcul existants) pour résoudre les problèmes de choix de solutions architecturales sous-jacents.

Partenaire de la chaire