Ingénierie des systèmes complexes et sûreté de fonctionnement
Systèmes complexes
Définition d’un système
Depuis toujours, l’homme invente et conçoit des instruments, des matériels, des équipements, … pour améliorer ou faciliter sa vie. Ces fabrications ont un intérêt direct ou indirect pour l’homme en apportant un service. La motivation de toutes ces constructions vient des fonctions apportées par le système, qui se manifestent par des interactions entre le système lui-même et l’environnement. Concernant les premières réalisations de l’homme, celles-ci étaient relativement simples. Ainsi, la « structure » interne de la conception était très facilement compréhensible. Mais malgré leur simplicité, ces éléments constituaient déjà les premiers « systèmes ». Puis, ils ont sans cesse évolué en devenant de plus en plus élaborés et compliqués, surtout depuis le début de l’ère industrielle. Cependant, quelque soit le système, une caractéristique demeure. En effet, ils font tous l’objet d’association d’éléments (constituants, composants, …) en interaction dans le but de faire émerger de nouvelles fonctionnalités qui permettent de rendre un ou plusieurs services attendus.
Ainsi, nous donnons dès à présent une définition d’un système, extraite du livre «Ingénierie et Intégration des systèmes » de Jean-Pierre MEINADIER [Meinadier, 1998], qui est la suivante :
Définition : 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.
Nous constatons alors que par une généralisation, l’homme peut lui-même faire partie d’un système, à la manière d’un « constituant ».
L’AFIS (Association Française d’Ingénierie Système) [AFIS] a également sa propre définition du système, dans laquelle l’intérêt des interactions est clairement exprimé :
Définition : Un système est décrit comme un ensemble d’éléments en interaction entre eux et avec l’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 ses 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.
Une autre définition d’un système donnée par l’INCOSE (International Council on Systems Engineering) est la suivante :
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].
Finalement, nous pouvons conclure que les interactions constituent l’essence même des systèmes. Grâce à elles, de nouvelles propriétés apparaissent, dépassant celles propres aux simples constituants.
Complexité
Alors que bon nombre d’ouvrages fournissent une définition claire du mot «système », il n’en va pas de même pour l’expression « système complexe », qui s’impose pourtant largement aujourd’hui [Magee & al., 2004]. En revenant à l’origine de l’adjectif « complexe », il apparait que ce mot nous provient du latin cum plexus, qui signifie qu’il y a beaucoup d’intrications, que « tout est lié ». Le lien avec les interactions et leur nombre est alors acquis. Mais est-ce nécessaire et/ou suffisant pour former un système complexe ?
En se référant au dictionnaire, nous trouvons :
Complexe, adjectif
Sens 1 : Qui comprend plusieurs éléments ayant de nombreux rapports entre eux.
Synonyme : emmêlé. Anglais : complex.
Sens 2 : Difficile à appréhender, à analyser et en saisir le sens.
Synonyme : difficile. Anglais : complex, complicated.
Le sens 1 de la définition ci-dessous reprend l’idée d’une interaction importante entre les constituants du système, mais ajoute à cela le fait que ces éléments sont un certain nombre. Le sens 2 fait supposer que le fonctionnement du système n’est pas compréhensible immédiatement, il est difficile à suivre et à étudier. S’ajoute donc une difficulté de compréhension et d’analyse.
Nous avons alors tenté de donner notre propre définition d’un « système complexe», en tenant compte de ce qui précède mais aussi d’autres écrits que nous avons pu rencontrer pendant nos recherches.
Système Complexe : Système capable de fournir des fonctions de haut niveau, dont le comportement global est difficile à prévoir et dont la structure présente un graphe d’interaction non-trivial, souvent pourvu de boucles de rétroactions, et associant la plupart du temps plusieurs technologies de par l’implication de nombre de constituants.
La complexité de ces systèmes a forcé les concepteurs à adopter et à s’adapter à une méthode de développement bien plus organisée et rigoureuse [Bar-Yam, 2005]. La section 3 présente cette nouvelle façon d’aborder la conception, nécessaire pour maîtriser cette complexité grandissante : l’Ingénierie Système.
Propriétés émergentes
Un concept important qui a fait son apparition avec les systèmes complexes est celui de « propriétés émergentes » [Leveson, 2004], [Black & al., 2009]. Elles désignent les caractéristiques du système qui apparaissent du fait de la mise en interaction des constituants. En effet, ces propriétés émergentes ne peuvent pas être attribuées à des composants seuls. Elles sont basées sur le fait que l’ensemble fait plus que la somme de ses parties. L’émergence est un domaine de recherche à part entière, que nous n’explorons pas ici. Seulement, comme annoncé en introduction, nous allons nous intéresser aux propriétés de sûreté de fonctionnement des systèmes complexes qui sont fortement liées à un caractère émergent.
Ingénierie Système
Après avoir revu les concepts de système et système complexe, nous nous intéressons à la conception de ces systèmes. Plus particulièrement, nous exposons le domaine qu’est l’Ingénierie Système, à travers son historique, sa définition et quelques concepts comme le cycle de vie d’un système ou le cycle de développement. Nous terminons la section par deux aspects inclus dans l’ingénierie système sur lequel l’essentiel du travail va s’appuyer : l’ingénierie des exigences et la gestion des risques.
Historique et définition
L’Ingénierie Système a fait son apparition aux Etats-Unis dans les années 50 pendant les courses à l’espace et au développement de missiles équipés de tête nucléaire. Pour ces derniers, considérés comme une nécessité absolue pour la sécurité du pays, les services militaires et leurs sous-traitants civils subissaient une pression énorme pour développer, tester et mettre en service ces missiles nucléaires le plus rapidement possible, de même que pour mettre en orbite des satellites d’espionnage. Ils se sont donc attachés à trouver des outils et des techniques pour améliorer la performance du système, et surtout celle de la gestion du développement (en termes de performance technique, d’échéance calendaire ou encore de contrôle du coût). A partir de ce moment, le management de l’ingénierie a alors beaucoup évolué, en standardisant l’utilisation de spécifications, de documents d’interfaces, de revues de conception ou encore de gestion de configuration formelle. Les progrès du monde informatique ont, également, énormément contribué à l’expansion de l’Ingénierie Système, facilitant les travaux de gestion et d’enregistrement de documents et de configurations. Les outils informatiques ont aussi permis un net progrès grâce à la possibilité d’effectuer toutes sortes de simulation.
En France, il existe depuis 1999 une association regroupant des entreprises concernées par l’Ingénierie Système : l’Association Française d’Ingénierie Système [AFIS]. On y trouve entre autre des entreprises comme Airbus, Alcatel Space, Thales, Giat Industrie, Renault, PSA Peugeot Citroën, France Télécom, EDF, RATP, etc. Il existe aussi une association internationale d’Ingénierie Système, implantée aux Etats-Unis : l’International Council on Systems Engineering (INCOSE). L’AFIS est d’ailleurs affiliée à l’INCOSE en tant que « chapitre français de l’INCOSE ».
L’Ingénierie Système est donc le domaine qui va aider le concepteur et lui permettre de mener son développement de la meilleure manière possible. Cette nouvelle science est finalement le résultat d’un retour d’expérience de la part de grandes entreprises industrielles impliquées dans le développement de systèmes technologiques complexes. En fait, deux raisons principales sont à l’origine de cette science. La première provient d’échecs industriels et commerciaux, car ils ont grandement motivé l’introduction d’une méthode d’aide, d’assistance ou de gestion afin de les éviter. Ils vont d’ailleurs continuellement être analysés pour améliorer l’Ingénierie Système. La seconde vient du constat qu’une grande part des activités à mener pour les développements est un invariant vis-à-vis des projets et des secteurs d’application. Les problèmes à affronter sont en effet souvent de même nature :
❖ des besoins insuffisamment exprimés,
❖ des spécifications imprécises ou incomplètes,
❖ des solutions non justifiées ou non validées,
❖ une formation des utilisateurs insuffisante,
❖ des ressources et compétences mal planifiées,
❖ etc.
Après ce rapide historique de l’avènement de l’Ingénierie Système, voyons la définition qu’en donne l’AFIS :
L’Ingénierie Système (ou ingénierie de systèmes) est une démarche méthodologique générale qui englobe l’ensemble des activités adéquates pour concevoir, faire évoluer et vérifier un système apportant une solution économique et performante aux besoins d’un client tout en satisfaisant l’ensemble des parties prenantes.
Pour résumé, l’Ingénierie Système est donc une approche méthodologique qui a été développée et est en amélioration continue pour permettre au concepteur de système complexe d’aboutir à une solution équilibrée dans les meilleurs coûts et délais et répondant au mieux aux besoins des différentes entités concernées par l’utilisation du système (les clients, les agents de maintenance, d’autres systèmes,…).
Cycle de vie et cycle de développement
Lorsque l’on traite de l’Ingénierie Système, il est incontournable de considérer le cycle de développement du produit et son cycle de vie. Le cycle de développement le plus connu, apparu d’abord dans le domaine informatique, est incontestablement le cycle en V [Forsberg & al., 1991a]. Celui-ci est composé de 2 branches. La branche descendante correspond à une démarche de raffinements successifs qui répond à la phase de conception, partant du général (l’expression des besoins souvent à travers un Cahier des Charges Fonctionnel (CdCF)) pour déboucher sur le particulier. La branche ascendante, quant à elle, détaille les phases d’intégration et de validation du système.
|
Table des matières
Introduction Générale
Chapitre 1 : Ingénierie des systèmes complexes et sûreté de fonctionnement
1. Introduction
2. Systèmes complexes
2.1. Définition d’un système
2.2. Complexité
2.3. Propriétés émergentes
3. Ingénierie Système
3.1. Historique et définition
3.2. Cycle de vie et cycle de développement
3.3. Approche générale de conception des systèmes
3.4. Ingénierie des exigences
3.4.1. Définition d’une exigence
3.4.2. Rôle et intérêt de l’ingénierie des exigences
3.4.3. Expression des exigences
3.4.4. Traçabilité
3.4.5. Changement d’exigences
3.4.6. Quelques outils d’ingénierie des exigences
3.5. Gestion des risques
3.5.1. Définition d’un risque
3.5.2. Pourquoi s’intéresser aux risques ?
3.5.3. Etapes de la gestion des risques
3.5.4. Stratégies de la gestion des risques
3.5.5. Outils de la gestion des risques
3.5.6. Synthèse
4. Sûreté de fonctionnement
4.1. Historique
4.2. Concepts et définitions
4.3. Quelques méthodes de sûreté de fonctionnement
4.4. Enjeu de la sûreté de fonctionnement
5. Sûreté de fonctionnement des systèmes complexes
5.1. Exemples d’échecs
5.1.1. Navette spatiale Challenger
5.1.2. Ariane 5
5.1.3. Mars Polar Lander
5.1.4. Plate-forme pétrolière BP
5.2. Origines des problèmes de sûreté de fonctionnement
5.3. Nécessité d’une approche globale
6. Conclusion
Chapitre 2 : Démarche processus proposée
1. Introduction
2. Etat de l’art pour une conception de systèmes sûrs
2.1. Normes de Sûreté
2.1.1. CEI-61508 et ses dérivées
2.1.2. ARP-4754
2.1.3. ARP-4761
2.2. Quelques projets
2.2.1. SQUALE
2.2.2. ESACS
2.2.3. ISAAC
2.2.4. ASSERT
2.3. Autres travaux de recherche
2.3.1. Modèle de développement à sûreté de fonctionnement explicite
2.3.2. Méthodologie d’IS basée sur les modèles et guidées par la SdF
2.4. Synthèse
3. Processus et normes d’Ingénierie Système
3.1. Vision processus
3.2. Normes d’Ingénierie Système (IEEE-1220, EIA-632, ISO-15288)
3.3. Paradigme processus-méthodes-outils
3.4. EIA-632
3.4.1. Historique et généralité
3.4.2. Interaction entre les différents processus
3.4.3. Les 33 sous-processus de l’EIA-632
3.4.4. Structure d’un système selon l’EIA-632
3.4.5. Vision des exigences de l’EIA-632
4. Approche globale proposée
4.1. Principe d’intégration de la SdF
4.2. Les processus de conception système
4.2.1. Le processus de définition des exigences
4.2.2. Le processus de définition de la solution
4.3. Les processus d’évaluation technique
4.3.1. Le processus d’analyse des systèmes
4.3.2. Le processus de validation des exigences
4.3.3. Le processus de vérification du système
5. Conclusion
Chapitre 3 : Méthodologie de déclinaison d’exigences de sûreté de fonctionnement
1. Introduction
2. Déclinaison d’exigences de sûreté de fonctionnement
2.1. Pourquoi cette déclinaison ?
2.2. Déclinaison vis-à-vis des processus d’ingénierie système
3. Travaux sur la déclinaison d’exigences de sûreté de fonctionnement
3.1. Travaux de Peter Lindsay, John McDermid et David Tombs
3.2. Travaux de Tim Kelly et al
4. Présentation de la méthodologie
4.1. Aperçu de la méthodologie
4.2. Méthodes utilisées
4.2.1. AMDEC
4.2.2. Arbre de défaillances
4.3. Méthodologie de déclinaison
4.3.1. Etape 1 : Analyse des défaillances du système
4.3.2. Etape 2 : Analyses des causes des défaillances
4.3.3. Etape 3 : Analyses des défaillances des sous-systèmes
4.3.4. Etape 4 : Synthèse
5. Formalisation UML
5.1. Formalisation de l’AMDEC
5.2. Formalisation de l’Arbre de Défaillances
5.3. Formalisation de la méthodologie complète
6. Cas d’étude
6.1. Présentation de l’exemple
6.2. Application de la méthodologie
6.2.1. Etape 1 : Analyse des défaillances du système
6.2.2. Etape 2 : Analyses des causes des défaillances
6.2.3. Etape 3 : Analyses des défaillances des sous-systèmes
6.2.4. Etape 4 : Synthèse
6.3. Utilisation de la formalisation UML
7. Bilan de la méthodologie et complément
8. Conclusion
Chapitre 4 : Vers une méthodologie ISBM
1. Introduction
2. Modèle d’information et ISBM
2.1. Ingénierie Système Basée sur les Modèles (ISBM)
2.2. Définition d’un modèle d’information
2.3. Intérêt d’un modèle d’information
2.3.1. Appuyer la gestion des exigences
2.3.2. Partager les connaissances
2.3.3. Supporter la conception
2.3.4. Synthèse
2.4. Travaux relatifs aux modèles d’information
2.4.1. MeMVaTEx
2.4.2. Modèle de données de l’AFIS
2.4.3. Modèle de MAP Système
2.4.4. DoDAF et MoDAF
2.4.5. Snow Card Volere
2.4.6. Travaux du CRAN
2.4.7. Travaux du LAAS-CNRS
2.4.8. Synthèse
2.5. Triptyque exigences-solutions-V&V, principe de bonne conception
3. Modèle proposé
3.1. Le langage choisi : SysML
3.1.1. Historique
3.1.2. Présentation
3.1.3. Stéréotype et block
3.1.4. Traçabilité avec SysML
3.1.5. Justification du choix de SysML
3.2. Extension proposée de SysML
3.2.1. Exigences enrichies
3.2.2. Nouveaux stéréotypes d’exigences
3.2.3. Stéréotype « risk »
3.3. Présentation du modèle d’information
4. Compléments au modèle
4.1. Utilisation d’OCL
4.2. Analyses et résultats issus du modèle de données
4.2.1. Matrices de traçabilité
4.2.2. Etats des exigences
5. Conclusion
Conclusion Générale