Présentation
En anglaisRÉSUMÉ
Les systèmes embarqués sont soumis à de nombreuses contraintes et certains sont en interaction étroite avec des procédés dangereux ou interviennent dans des processus de décisions impactant des vies humaines. Pour augmenter le degré de confiance en ces systèmes, plusieurs méthodes formelles peuvent être mises en oeuvre : la démonstration assistée de preuve, l'examen automatisé des comportements du système ou le raffinement de spécification. Dans chaque cas, on présente le principe, les principaux outils académiques et certains outils industriels ainsi que les réalisations pratiques.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleABSTRACT
Embedded systems are subjected to a large number of constraints and certain are closely linked with hazardous processes or are involved in decision-making processes which impact human lives. In order to increase the degree of trust in these systems, several formal methods can be implemented: theorem proving, automated scrutiny of the system or specification refinement. In each case, the principle, major academic tools, certain industrial tool and practical achievements are presented.
Auteur(s)
-
Emmanuelle ENCRENAZ-TIPHENE : Ingénieur de l'École polytechnique féminine - Maître de conférences à l'Université Pierre et Marie Curie, Paris
INTRODUCTION
Les systèmes embarqués sont soumis à de nombreuses contraintes et certains sont en interaction étroite avec des procédés dangereux ou interviennent dans des processus de décisions impactant des vies humaines. Le développement de tels systèmes doit offrir des garanties de bon fonctionnement et de bon rétablissement en cas de défaillance d'une partie interne ou d'un environnement non prévu.
Des méthodes de vérifications formelles peuvent être mises en œuvre pour augmenter le degré de confiance des systèmes. Trois grandes classes se distinguent :
-
la preuve assistée (theorem-proving) ;
-
la vérification par modèle (model-checking) et ses nombreuses variantes et extensions ;
enfin le raffinement de spécification.
On présente le positionnement de ces approches dans le flot de conception des systèmes embarqués.
Pour chaque approche, on s'attache à présenter simplement le principe de base, le domaine applicatif principal, les outils disponibles ainsi que les réalisations académiques et industrielles. Cet article n'utilise pas de formalisme mathématique poussé pour être accessible au plus grand nombre. Les références bibliographiques permettent d'approfondir chaque approche tant sur les aspects formels que sur les outils disponibles ou (le cas échéant) leur utilisation dans un contexte industriel.
KEYWORDS
review | Embedded systems | computer science | electronics | engineerings
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
6. Conclusion
Le champ des méthodes formelles est foisonnant. De très nombreux travaux de recherche ont contribué à l'émergence d'une palette variée de méthodes différentes, chacune adaptée pour traiter un aspect particulier de la vérification. Certaines propositions académiques ont abouti à des transformations industrielles réussies : le model-checking par BDD et SAT est totalement intégré dans le flot de conception des fabricants de logiciels d'aide à la conception de circuits (CAD). L'analyse de logiciel par interprétation abstraite ou les méthodes de modélisation – vérification – production de code ou circuits issus des travaux sur les langages synchrones sont utilisées couramment dans l'industrie aéronautique. La méthode B est utilisée dans le domaine ferroviaire. La preuve assistée a été mise en œuvre pour certifier des compilateurs extrêmement complexes et est intégrée au flot de conception des processeurs Intel comme un élément à part entière de la validation. Ces différentes approches ne sont pas exclusives entre elles. Elles se complémentent pour augmenter le degré de confiance des systèmes conçus. Elles nécessitent un investissement important de la part du concepteur : la vérification « presse-bouton » est un leurre : il faut pouvoir découper le problème, proposer les bonnes abstractions, guider les preuves. Cet investissement est important car il nécessite de repenser les équipes de conception en y intégrant des personnes expertes en vérification, chargées de réaliser les preuves, mais l'interaction est féconde et efficace : cette démarche a été adoptée par Intel pour le développement du processeur iCore 7 et la combinaison des différentes approches formelles a limité les tests fonctionnels et augmenté la qualité du système .
On note une tendance à l'intégration plus étroite des méthodes de vérification au processus de conception et à la proposition de méthodes de conception sûres par construction...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
Conclusion
BIBLIOGRAPHIE
-
(1) - ABRIAL (J.-R.) - The B-book : assigning programs to meanings. - Cambridge University Press New York, NY, USA © 1996 ISBN:0-521-49619-5 (1996).
-
(2) - BOUISSOU (O.) - Vérification partielle de programmes de contrôle-commande par interprétation abstraite. - Technique et Science informatiques, Lavoisier-Hermès, vol. 31, no 3, p. 337-374 (2012).
-
(3) - BRYANT (R.) - Graph-based algorithms for boolean function manipulation. - IEEE Trans. Computers, 35(8), p. 677-691 (1986).
-
(4) - CLARKE (E.) et al - Counter example-guided abstraction refinement. - CAV, p. 154-169 (2000).
-
(5) - CLARKE (E.) et al - Model checking and abstraction. - ACM-TOPLAS, vol. 16, no 5 (1994).
-
(6) - COOK (B.) et al - Terminator : beyond safety. - CAV 2006, p. 415-418...
DANS NOS BASES DOCUMENTAIRES
-
OS embarqués.
-
Méthode B pour la spécification et la réalisation de logiciels et de systèmes critiques prouvés.
Outil AbsInt analyse de programmes C par interprétation abstraite http://www.absint.com/profile.htm
Outil Astrée développé par le laboratoire LIENS pour l'analyse de programmes C et C++ par interprétation abstraite http://www.astree.ens.fr/
Projet BIP pour la connexion sûre de composants http://www-verimag.imag.fr/Rigorous-Design-of-Component-Based.html
Outil CADP développé par l'INRIA pour l'analyse par model-checking (de type équivalence d'automates) de systèmes asynchrones http://www.inrialpes.fr/vasy/cadp/
Chaînes de CAO de circuits Cadence® et Synopsis intégrant des outils de simulation et vérification fonctionnelle aux niveaux TLM, RTL http://www.cadence.com http://www.synopsys.com
Outil CVC4 SAT modulo Theory solver pour le bounded model-checking avec theories decidable http://www.cs.nyu.edu/acsys/cvc4/
Outil FoCS développé par le laboratoire de recherche de IBM-HAIFA pour la synthèse de moniteurs à partir de spécifications PSL http://www.research.ibm.com/haifa/projects/verification/focs/psl_vcs.html
Outil...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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