Présentation
En anglaisRÉSUMÉ
Les systèmes mécatroniques sont de plus en plus complexes. Ils induisent par voie de conséquence de multiples défaillances. La sécurisation de ces systèmes vise à combattre ces erreurs et à tenter d'en limiter le risque. Cet article s'intéresse à l'aspect application logicielle, dont la sécurité passe par la maîtrise de la qualité. Sont présentées quelques techniques de programmation tolérante (redondance, détection d'ereurs ou programmation défensive). Les fautes sont souvent dues au caractère artisanal de la réalisation d'une application logicielle, et l'utilisation d'outils d'un environnement de développement ne retire pas au logiciel sa complexité intrinsèque.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
Mechatronic systems are becoming increasingly complex. As a result they induce multiple failures. Securing these systems is aimed at combating these errors and attempting to limit the risk. This article focuses on the software application aspect on which the security relies on quality control. Fault-tolerant programming techniques (redundancy, error detection or defensive programming) are presented. Errors are often due to the artisanal nature of the implementation of a software application, and the use of tools from a development environment that detracts from the software’s inherent complexity.
Auteur(s)
-
Jean-Louis BOULANGER : Docteur en science de l'informatique - Évaluateur-Certificateur
INTRODUCTION
Dans cette seconde partie [BM 8071] sur la sécurisation des systèmes mécatroniques, nous nous intéressons à l'aspect « application logicielle » (composante informatique). Le risque lié à l'architecture matérielle (composante électronique) ayant été traité dans la première partie [BM 8 070]. Pour ce qui concerne les concepts de base et les normes applicables à la sécurisation des systèmes mécatroniques, le lecteur se reportera également en [BM 8 070].
La sécurité d'une application logicielle passe principalement par la maîtrise de la qualité (évitement et élimination des fautes). Nous présentons :
-
les principes de la maîtrise de la qualité (ISO 9001:2000) ;
-
quelques techniques de programmation tolérante (la redondance, la détection d'erreur ou la programmation défensive) ;
-
l'apport des méthodes formelles.
La réalisation d'une application logicielle est actuellement une activité à la portée de tous. La mise à disposition d'environnements de développement (Case Tools , cf. [Doc. BM 8 070]), proposant la modélisation, des vérifications et la génération automatique de code, a grandement simplifié le développement d'une application logicielle. Mais la principale particularité du logiciel est la présence de fautes (bug ). Ces fautes peuvent être systématiquement exécutées et leur présence est due au caractère artisanal de la réalisation d'une application logicielle. L'utilisation d'environnements de développement donne l'impression d'industrialiser la réalisation d'une application logicielle mais il n'en est rien. En effet, les outils d'un environnement de développement sont développés classiquement et leur utilisation a tendance à faire oublier la complexité intrinsèque du logiciel au travers de représentations graphiques plus ou moins claires. La présence de fautes est un fait et il faut soit les accepter, soit les gérer, soit les corriger.
DOI (Digital Object Identifier)
CET ARTICLE SE TROUVE ÉGALEMENT DANS :
Accueil > Ressources documentaires > Mécanique > Fonctions et composants mécaniques > Mécatronique > Sécurisation des systèmes mécatroniques. Partie 2 - Techniques de mises en sécurité d'une application logicielle > Maîtrise de la qualité
Accueil > Ressources documentaires > Génie industriel > Métier : responsable bureau d’étude/conception > Mécatronique > Sécurisation des systèmes mécatroniques. Partie 2 - Techniques de mises en sécurité d'une application logicielle > Maîtrise de la qualité
Cet article fait partie de l’offre
Véhicule et mobilité du futur
(80 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
3. Maîtrise de la qualité
3.1 Qualité et cycles de vie
Alors que son rôle est d'aider, la qualité est souvent vue par les membres du projet :
-
soit comme un « mot » qui ne sert à rien, invisible sur le projet et n'apporte rien...
-
soit comme un « maux » ; c'est une perte de temps qui crée plus de problèmes qu'il n'en règle, c'est un carcan...
La qualité est une activité de prescription et de contrôle qui doit être comprise et acceptée. Elle doit fournir des méthodes, des processus et elle doit permettre le contrôle des activités. La maîtrise de la qualité permet ainsi d'avoir des activités préétablies et systématiques. Au travers des aspects préétablis et systématiques de la mise en œuvre du référentiel qualité, on va voir émerger la compétence et l'efficience. En effet, la compétence s'obtient par l'application et la compréhension des processus, l'efficience s'obtient par des propositions d'amélioration, par la compréhension et l'acceptation des difficultés rencontrées et la mise en place de retours d'expérience.
La réalisation d'une application logicielle est décomposée en étapes (spécification, conception, codage, tests...). On parle de cycle de vie. Le cycle de vie est nécessaire pour décrire les dépendances et les enchaînements entre les activités. Le cycle de vie doit prendre en compte l'aspect raffinement progressif du développement ainsi que de possibles itérations.
Nous allons présenter ici le cycle de vie qui est utilisé pour réaliser une application logicielle « critique ».
Comme le montre la figure 5, pour la réalisation d'une application logicielle, il existe plusieurs cycles :
-
cycle en V ;
-
cycle en cascade ;
-
cycle en spirale...
Mais le cycle recommandé par les différentes normes (CENELEC EN 50128, DO 178, IEC 61508, ISO 26262) reste le cycle en V.
HAUT DE PAGE3.2 Mise en œuvre du cycle en V
Dans le cycle en V, l'objectif de l'analyse des besoins est de vérifier l'adéquation des attentes du client et la faisabilité technologique....
Cet article fait partie de l’offre
Véhicule et mobilité du futur
(80 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Maîtrise de la qualité
BIBLIOGRAPHIE
-
(1) - ABRIAL (Jr.) - The B book – Assigning programs to meanings. - Cambridge University Press, Cambridge, août 1996.
-
(2) - BALEANI (M.), FERRARI (A.), MANGERUCA (L.), PERI (M.), PEZZINI (S.) - Fault-tolerant platforms for automotive safety critical applications. - Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems, p. 170-177 (2003).
-
(3) - BIED-CHARRETON (D.) - Concepts de mise en sécurité des architectures informatiques. - Recherche Transports Sécurité, no 64, p. 21-36, juil.-sept. 1999.
-
(4) - DUFOUR (J.L.) - Automotive safety concepts : 10-9/h for less than 100E a piece. - Automation, Assistence and Embedded Real Time Platforms for Transportation, AAET, Braunschweig, Allemagne, 16-17 fév. 2005.
-
(5) - GEORGES (J.P.) - Principes et fonctionnement du Système d'Aide à la Conduite, à l'Exploitation et à la Maintenance (SACEM). Application à la ligne A du RER. - Revue Générale des Chemins de Fer, no 6, juin 1990.
- ...
DANS NOS BASES DOCUMENTAIRES
ANNEXES
Atelier B http://www.atelierb.eu
SCADE http://www.esterel-technologues.com/products/scade-suite
ECLIPSE http://www.eclipse.org
TOPCASED http://www.topcased.org
MATLAB http://www.mathworks.fr
HAUT DE PAGE
VERIMAG concernant les langages synchrones et en particulier LUSTRE http://www-verimag.imag.fr/SYNCHRONE/index.php?page=lang-design
ESTEREL...
Cet article fait partie de l’offre
Véhicule et mobilité du futur
(80 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive