Tout élément en interaction avec un autre peut être considéré comme un système. Aujourd’hui, certains des systèmes conçus par l’homme doivent répondre à des problématiques complexes et opérer dans un contexte critique. L’ingénierie système a dû constamment s’adapter pour répondre aux besoins croissants en complexité et en criticité des applications. L’utilisation de modèles a été une des réponses à cette croissance, en permettant de s’abstraire de problématiques plus techniques, et en autorisant l’abord du système selon des points de vue et des objectifs différents. Le modèle permet de décrire ce qui constitue le système, pour mieux comprendre son comportement et son évolution. La première utilisation des modèles était d’ordre contemplative, ils étaient un support à la réflexion et à la communication. L’interaction entre les modèles était alors limitée à la seule force de pensée des ingénieurs. La disponibilité des outils informatiques dans les années 1950-1960 va rapidement s’intégrer dans le processus d’ingénierie système. Il est alors possible d’implémenter le modèle dans un langage informatique pour simuler son comportement sur un ordinateur afin de l’étudier. Il devient indispensable de s’assurer que tous les acteurs de la simulation aient une compréhension identique du modèle, sans erreur d’interprétation sur sa signification .
Aujourd’hui, la simulation est présente tout au long des processus d’ingénierie, comme moyen d’aide à la décision et de validation des systèmes en cours de développement. De nombreux acteurs, industriels et académiques, s’investissent dans ce domaine émergent portant le nom de Modélisation et Simulation (M&S). On pourra citer la création du Modeling and Simulation Office en 1991, connu aujourd’hui sous le nom de Modeling and Simulation Coordination Office, le Navy Modeling and Simulation Management Office en 1995, ou encore la division Modélisation-SimulationExpérimentation en France. L’activité de validation des modèles et des simulations est devenue une activité incontournable, pour s’assurer du crédit que l’on peut porter aux résultats fournis par la simulation, en fonction des objectifs d’utilisation, mais aussi de l’environnement d’exécution.
Il est possible de considérer la simulation comme un ensemble de modèles, représentant d’un coté le système à étudier, et de l’autre l’environnement d’exécution et les objectifs de simulation. De ce fait, la simulation ajoute de nouvelles contraintes et regroupe de nombreuses sources potentielles d’erreurs (modèle de l’environnement, objectif de simulation, choix d’implémentation, plateforme d’exécution, etc.). Ces éléments sont susceptibles d’impacter le niveau de crédibilité des résultats de simulation. Il est primordial d’étudier la relation liant le modèle du système au modèle de l’environnement. C’est dans ce contexte que B.P. Zeigler fait une proposition dans l’ouvrage « Theory of modeling and simulation » [Zeigler 2000] : « The solution lies in a capable tool set that recognizes the influence of modeling objectives and error tolerances, the multidimensional choices of bases for agregation mappings. Formalizing such dimensions of the problem leads to a sophisticated framework that involves concepts such as scope/resolution product, experimental frame, applicability and derivability lattices, and conditions for valid abstractions ». B.P. Zeigler .
Sans apporter de réelle solution à cette problématique, B.P. Zeigler soulève ici l’absence de démarche standardisée permettant d’évaluer la crédibilité des résultats de simulation. Il propose de s’intéresser à la relation entre le modèle du système d’intérêt et les objectifs de simulation. Les travaux de V. Albert, sur l’évaluation de la validité de la simulation dans le cadre du développement des systèmes embarqués [Albert 2009], reprend le principe énoncé par B.P. Zeigler. Il propose un ensemble de règles formelles permettant une mise en correspondance entre objectifs de simulation et domaine d’usage du modèle. Il s’agit ainsi de proposer une approche générale d’évaluation statique de la validité des modèles de simulation.
Cette thèse s’inscrit dans la suite des travaux de V. Albert. Elle propose un apport théorique pour évaluer la validité d’une abstraction, i.e. évaluer si la simulation d’un modèle abstrait et la simulation d’un modèle de référence conduisent au même jugement pour l’objectif considéré. L’idée est de proposer au modèle un ensemble d’informations permettant de préciser son domaine de validité. Ces informations incluent :
— les moyens de controlabilité permettant de stimuler le modèle,
— les moyens d’observabilité permettant d’observer les effets des stimuli d’entrée sur le modèle,
— le type et la structure des données échangées ,
— les traces d’exécutions acceptables.
L’utilisation de ces informations, au travers de métriques, va permettre de statuer sur l’efficacité du cadre expérimental à satisfaire les objectifs de simulation.
Ingénierie des systèmes complexes et simulation
Systèmes complexes
La résolution de problèmes fait partie intégrante de l’évolution de la nature humaine. En imaginant de nouveaux outils, matériels et techniques, l’Homme a su évoluer et apprendre à survivre jusqu’à devenir ce qu’il est aujourd’hui. Si les premiers éléments proposés par l’Homme étaient simples, l’interaction et la composition de ces éléments constituent déjà des « systèmes ». La complexité des systèmes n’a cessé de croitre pour résoudre des problèmes de plus en plus complexes. La solution n’est plus apportée par un élément seul mais par l’apparition de propriétés émergentes (cf. 1.2.3), engendrées par l’interaction entre plusieurs éléments. L’Homme a dû se spécialiser et créer un environnement favorable à l’élaboration de solutions à des problèmes complexes.
Systèmes
Il existe un grand nombre de définitions du terme système. Nous allons en voir quelques unes afin de mettre en évidence les termes communs et leurs différences.
L. Von Bertalanffy énonce dés 1956 une définition de système dans « General system theory » :
Définition 1. […] un système est un ensemble d’éléments en interaction ouvert à leurs environnements […]. En outre, ils peuvent acquérir qualitativement de nouvelles propriétés émergentes,[…]. [Von Bertalanffy 1956] .
L’INCOSE (International Council On Systems Engineering) définit un système de la façon suivante :
Définition 2. Un système est un ensemble d’éléments interdépendants qui interagissent entre eux de façon organisée et forment un ensemble unique. [INCOSE 2004] .
JP. Meinadier nous présente sa propre définition de système dans le livre « Ingénierie et intégration des systèmes » :
Définition 3. Un système est un ensemble composite de personnels, de matériels et de logiciels organisés pour que leur interfonctionnement permette, dans un environnement donné, de remplir les missions pour lesquelles il a été conçu [Meinadier 1998] .
L’AFIS (Association Française d’Ingénierie Système) possède une autre définition de système :
Définition 4. Un système est décrit comme un ensemble d’éléments en interaction entre eux et avec leur environnement, intégré pour rendre à son environnement les services correspondants à sa finalité. Un système présente donc des propriétés nouvelles résultant des interactions entre constituants : si l’on intègre des éléments pour faire un système, c’est bien pour bénéficier des effets de synergie résultant de leurs interactions. [AFIS 2014] .
Il apparaît clairement que l’interaction est la quintessence des systèmes. C’est elle qui permet l’apparition de propriétés émergentes dépassant celles propres à chaque éléments. Si la définition de l’INCOSE semble vouloir se limiter à cet aspect, JP. Meinadier, L. Von Bertalanffy et l’AFIS évoquent d’autres aspects essentiels des systèmes comme l’environnement et la mission, deux constituants fondamentaux de cette thèse.
D’autres définitions s’orientent plus vers la notion de produit et de processus, comme celle de l’EIA-632 (Electronic Industrie Alliance) :
Définition 5. Un système est une agrégation de produits nécessaires à la réalisation d’un but donné. Un système est composé de produits nécessaires à la réalisation de la fonction opérationnelle et de produits nécessaires à sa réalisation, sa mise en service, son maintien et son retrait de service [EIA 2003].
Systèmes complexes et systèmes compliqués
S’il est une distinction essentielle à connaitre pour maîtriser la notion de système complexe, c’est la différenciation en complexe et compliqué. C’est JL. Le Moigne qui nous précise que l’intelligibilité du compliqué se découvre par simplification alors que l’intelligibilité du complexe se construit par modélisation [Le Moigne 1990].
Cela signifie que le compliqué est lié à une superposition de composants qui conduit à une accumulation de difficultés, alors que la complexité d’un système est davantage inhérente aux combinaisons et interactions nombreuses et variées entre composants qu’aux composants eux-mêmes.
Un système compliqué peut être ramené à ces éléments essentiels : on le « mutile » pour l’analyser. Un système complexe doit être modélisé pour le comprendre, en aucun cas « mutilé ». Une simplification hasardeuse ou une mutilation pourrait détruire son intelligibilité. Les systèmes complexes existent à l’état naturel : l’interaction des cellules nerveuses dans le cerveau, une colonie de fourmis, un marché économique, sont autant de systèmes complexes. Il existe aussi des systèmes complexes artificiels, les plus proches sont dans notre poche alors que d’autres sont à quelques 18 milliards de kilomètres de notre planète (sonde Voyager 1).
La terme système complexe est défini dans plusieurs travaux [EIA 2003, Sage 2000, IEEE 2005, Haskins 2011, Guillerm 2011].
Définition 6. Un système complexe est un ensemble d’éléments en interaction, organisé pour atteindre un ou plusieurs objectifs donnés. C’est un ensemble intégré d’éléments, de sous-systèmes ou assemblages qui permettent de réaliser un objectif défini. Ces éléments comprennent les produits (matériels, logiciels, micrologiciels), processus, personnes, informations, techniques, structures, services et autres supports. [Haskins 2011] Cette première définition de l’INCOSE, qui fait apparaître l’interaction entre éléments, peut être complétée par la définition donné par G. Wang d’un système complexe où la notion de complexité apparait telle qu’expliquée par JL. Le Moigne :
Définition 7. Un système complexe est un système qui par sa conception ou ses fonctions ou les deux est difficile à comprendre et à vérifier.[Weng 1999] .
|
Table des matières
Introduction
La thèse en quelques lignes
Plan du manuscrit
1 Ingénierie des systèmes complexes et simulation
1.1 Introduction
1.2 Systèmes complexes
1.2.1 Systèmes
1.2.2 Systèmes complexes et systèmes compliqués
1.2.3 Propriétés émergentes
1.3 L’ingénierie des systèmes
1.3.1 Ingénierie des systèmes
1.3.2 L’erreur
1.4 Validation & Vérification
1.4.1 Le Test
1.4.2 La M&S
1.5 Résumé
2 V&V pour la M&S
2.1 Introduction
2.2 État de l’art sur la V&V appliquée aux modèles de simulation
2.2.1 Modèle conceptuel
2.2.2 Exigences de la M&S
2.3 Théorie de la M&S
2.3.1 Modélisation des systèmes dynamiques
2.3.2 Entités de la M&S
2.4 Compatibilité entre cadre expérimental et modèle
2.4.1 Dérivabilité et morphisme : une histoire d’abstraction
2.4.2 Compatibilité
2.5 Discussions
2.5.1 Est-il nécessaire d’obtenir une compatibilité totale ?
2.5.2 Quel intérêt porter aux résultats fournis par la V&V ?
2.6 Résumé
3 Qualification de la validité d’un modèle de simulation
3.1 Introduction
3.1.1 Crédibilité du produit de M&S
3.1.2 Une première idée de la notion de métrique et de distance
3.2 État de l’art sur les métriques d’évaluation des modèles
3.3 Rappel : Combinatoire des mots et langages
3.4 Étude de la compatibilité : Approche automates à interface
3.4.1 Automates à interface
3.4.2 Automates à interface pour l’IS et la M&S
3.4.3 Arbre de décomposition, composition et simulation
3.4.4 Proposition de métriques génériques d’évaluation pour les automates à E/S
3.5 Étude de la compatibilité : Approche automates DEVS
3.5.1 DEVS
3.5.2 Graphe de classes
3.5.3 Proposition de métriques d’évaluation associées aux graphes de classes
3.6 Discussion
3.6.1 Quelle est la valeur ajoutée d’une métrique dans un contexte de validation ?
3.6.2 Arbre vs graphe de classes : avantages et inconvénients
3.6.3 Inférence des hypothèses : la création d’un langage d’hypothèses
3.6.4 Synthèse des métriques de crédibilité
3.7 Résumé
4 Profil pour la simulation
4.1 Introduction
4.1.1 Description d’une méthodologie d’évaluation
4.2 État de l’art sur la création et la transformation des modèles
4.2.1 Ingénierie dirigée par les modèles
4.2.2 La méta-modélisation
4.2.3 UML et notion de profil
4.3 SiML : Langage de modélisation dédié à la simulation
4.3.1 Développement utilisant le principe de profil UML
4.3.2 Développement utilisant le principe de méta-modèle formel : Approche avec le formalisme DEVS
4.4 Outils de vérification et de simulation à évènement discret
4.5 Discussion : divergence implémentatoire, l’interprétation de la sémantique est-elle toujours décisive ?
4.6 Résumé
Conclusion