• Aucun résultat trouvé

Modèle de développement à sûreté de fonctionnement explicite

Chapitre 2 : Démarche processus proposée

2. Etat de l’art pour une conception de systèmes sûrs

2.3. Autres travaux de recherche

2.3.1. Modèle de développement à sûreté de fonctionnement explicite

Dans [Laprie & al., 1995], un modèle de développement de système est proposé. Il est caractérisé de modèle de développement à Sûreté de Fonctionnement explicite. En effet, les moyens de la SdF sont directement identifiables à travers les processus proposés.

La vision processus est adoptée pour la description de ce nouveau modèle, qui voulait regrouper au sein de processus fondamentaux les activités nécessaires à la construction d’un système et celles relatives à la sûreté de fonctionnement. Le processus principal est alors celui dit de création du système, qui inclut les sous-processus d’expression des exigences, de conception, de réalisation et d’intégration. Autour de ce processus de base vont se greffer les processus spécifiques à la SdF que sont les processus d’élimination des fautes, de prévision des fautes, de tolérance aux fautes et de prévention de fautes. A cela

44

s’ajoute encore tous les autres processus classiques d’assurance qualité, de certification, etc. (voir la Figure II.4).

Figure II.4 : Modèle de développement à SdF explicite

Le processus de création fait donc apparaître quatre activités de base : l’expression des exigences, la conception, la réalisation et l’intégration. L’expression des exigences correspond aux activités de spécifications fonctionnelles, où il est question de définir les fonctions et les services que le système devra rendre. Une description de l’environnement d’utilisation doit également être faite et toutes les contraintes liées au développement, à la validation ou encore à l’exploitation doivent être identifiées. Cet ensemble d’activités doit aboutir à une spécification (formelle ou informelle) du système à concevoir. La conception correspond aux activités qui permettent de définir l’architecture du système, activités souvent itérées jusqu’à la définition de composants élémentaires. La réalisation consiste en la réalisation des composants ou à l’adaptation des composants qui sont réutilisés. Enfin,

l’intégration correspond à l’assemblage des composants pour fabriquer le système et à

l’intégration du système ainsi construit dans son environnement d’utilisation.

Le processus de prévention de fautes va définir et coordonner les activités de création du système avec les autres processus, ceci à travers trois activités principales :

définition des formalismes et des langages, organisation du projet (allocation des tâches aux

équipes et gestion des ressources), et planification et évaluation des risques liés au

développement.

Le processus de tolérance aux fautes comporte trois classes d’activités : la définition des classes de fautes pour lesquelles le système devra se prémunir et la description du

comportement du système en présence de ces fautes, le partitionnement du système en zone

de confinement d’erreur et d’indépendance de fautes, et la définition d’algorithmes et de mécanismes de traitement des erreurs et des fautes.

Le processus d’élimination des fautes est en fait le processus qui va se charger de toutes les vérifications ou les tests nécessaires au développement, à la cohérence de la

Chapitre 2 Démarche processus proposée

45

progression de la conception ou à la conformité de ce qui est produit. Il pourra être à l’origine de demande de modification de la conception, si nécessaire.

Le processus de prévision des fautes est composé des activités qui permettent

d’exprimer les objectifs de sûreté de fonctionnement du système, d’allouer ces objectifs aux

différents constituants du système et d’évaluer la sûreté de fonctionnement.

Toutes ces activités sont en forte interaction, que ce soit entre les processus de sûreté de fonctionnement et le processus de création, ou entre les processus de sûreté de fonctionnement eux-mêmes. Ceci provient du fait que les exigences de sûreté de fonctionnement et l’élaboration de mécanismes de tolérance aux fautes nécessitent une analyse globale. Cela rejoint le constat que nous avions fait de la nécessité d’une prise en compte au niveau global des exigences de sûreté de fonctionnement du système.

Les détails des processus de sûreté de fonctionnement et du processus de création ont été proposés dans [Laprie & al., 1995] sous la forme d’un ensemble de mots-clés, ceci pour chaque étape du processus de création (expression des exigences, conception, réalisation et intégration). Ils sont repris en annexe A de ce mémoire.

Critique du modèle

Le modèle ainsi proposé offre un cadre général pour le développement de systèmes sûrs de fonctionnement, ceci en regroupant et faisant apparaître clairement les activités relatives à la prévention de fautes, la tolérance aux fautes, l’élimination des fautes et la prévision des fautes. Les points importants exprimés à travers les différentes listes de mots-clés constituent une base très complète et intéressante pour l’ingénierie du système. Néanmoins, l’approche reste vraiment orientée « systèmes informatiques ». De plus, il a été question lors de la construction de ce modèle de distinguer et regrouper en blocks les activités en fonction de leur appartenance soit à la prévention de fautes, soit à l’élimination de fautes, soit à la prévision des fautes ou encore à la tolérance aux fautes. Mais vouloir absolument faire cette séparation rend le modèle, et surtout une instanciation de ce modèle, bien difficile à saisir. Vouloir absolument distinguer et regrouper les activités pour faire apparaître en quatre blocs les moyens de la sûreté de fonctionnement casse la logique de conception. Les concepteurs auront plus de difficulté à comprendre les flux entre activités et leurs enchaînements à travers ce modèle qui semble devenir trop artificiel. Les activités n’étant donc pas regroupées en fonction de leurs interactions, il est normal d’aboutir à des schémas d’interaction avec une intrication importante de flèches représentant les interactions en question.