La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Détermination de léquivalence comportementale dalgorithmes de contrôle - commande Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE.

Présentations similaires


Présentation au sujet: "Détermination de léquivalence comportementale dalgorithmes de contrôle - commande Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE."— Transcription de la présentation:

1 Détermination de léquivalence comportementale dalgorithmes de contrôle - commande Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE

2 AFADL /03/20062 Plan de la présentation Introduction Contexte Problématique industrielle Approche proposée Equivalence comportementale Principes Verrous scientifiques Modélisation dalgorithmes de commande Objectif Principes Règles de modélisation Synchronisation des modèles Principes Exemple Conclusions Résultats Apports et perspectives

3 Introduction AFADL /03/20063 Contexte Site de contrôle Turbine électrique Centrale thermique Raffinerie Quelques chiffres lignes de code C 1857 sorties 5094 entrées

4 Introduction AFADL /03/20064 Problématique industrielle CONTROCAD : Outil industriel de développement dalgorithme de commande. programmation du fonctionnement en FBD ou SFC [IEC ]. Génération automatique de programme exécutable spécifique au matériel. Processus à contrôler EntréesSorties Utilisateur (cahier des charges) Contrôleur industriel CONTROCAD

5 Introduction AFADL /03/20065 Problématique industrielle (2) Objectif industriel : Certification SIL 3 (norme sécurité fonctionnelle IEC 61508) Objectif scientifique : Déterminer si, quelles que soient les évolutions des entrées, les algorithmes émettent les mêmes sorties. Équivalence comportementale Objectif du papier : Développer une méthode pour les langages intermédiaires LEA et C avec : -Variables booléennes; -Prise en compte du temps. CONTROCAD Utilisateur (cahier des charges) Contrôleur industriel Équivalence comportementale ? FBD SFC LEA C Exécutable

6 Approche proposée AFADL /03/20066 Equivalence comportementale Approche existante [Riv04] : Certification de la compilation pour le contrôle - commande aéronautique, par translation dinvariant. Vérifie le comportement interne des programmes exécutés non – cycliquement. Notre cas : Exécution cyclique du programme sur des contrôleurs industriels. Seule étape intéressante à vérifier : lémission des sorties. Programme de commande (LEA)Moniteur BOO e1 = s1 IF s1 THEN BOO 0 = s2 lecture des Entrées Traitement programme émission des Sorties Initialisation émission des Sorties

7 Approche proposée AFADL /03/20067 Modèle global Principes MODEL CHECKER (NuSMV [CCG+02]) Comportement équivalent ou non Diagnostic en cas dincohérence Critère déquivalence comportementale Programme CProgramme LEA BOO e1 = s1 IF s1 THEN BOO 0 = s2 s1 = e1; IF {s1} { s2 = 0; } Langage industriel Langage du model-checker Équivalence ? Modèle du programme C Modèle du programme LEA Équations récurrentes Moniteur du C Moniteur du LEA E T S I E T S I

8 Approche proposée AFADL /03/20068 Critère déquivalence comportementale Propriété En fin de cycle du moniteur, les sorties ont toujours la même valeur dans chaque modèle de programme LEA et C. Condition : synchronisation des modèles dans le modèle global. Propriété en logique temporelle CTL AG(S1_LEA = S1_C) Modèle général e1 s2_C s1_C s2_LEA s1_LEA

9 Approche proposée AFADL /03/20069 Verrous scientifiques Modéliser efficacement les programmes industriels de grande taille dans le langage du model-checker NuSMV. Synchroniser les modèles de programme dans un modèle global pour vérifier leur équivalence comportementale. Optimiser le modèle obtenu.

10 Modélisation dalgorithme de commande AFADL /03/ Objectif Ne sintéresser quà létat des sorties en fin de cycle du contrôleur : Réécriture en système déquations récurrentes, avec : -Variables booléennes ; -Structures conditionnelles ; -Prise en compte du temps ; -Gestion des multiples affectations. 1 pas de calcul du model-checker = 1 cycle du contrôleur. Existant : [Ros03], [RdSLC+00] : modélisation fine des langages, non adaptée aux grands programmes. [Moo94], [Car05] : premières approches utilisant les équations récurrentes, mais restreintes en possibilités.

11 Modélisation dalgorithme de commande AFADL /03/ Principes e1 s1 s2 Moniteur + Moniteur du LEA E T S I EI1I2SEI1I2SEI1I2S t BOO e1 = s1 (I1) IF s1 THEN (I2) BOO 0 = s2 e1 s1 s2 Programme LEA

12 Modélisation dalgorithme de commande AFADL /03/ Règles de modélisation Programme LEA BOO e1 = s1 IF s1 THEN BOO 0 = s2 Modèle en équations récurrentes next(e1):= {0,1}; next(s1):= next(e1); next(s2):= case next (s1) : 1; ! next(s1) : s2; esac; Programme LEA e1 s1 s2 Affectation systématique des variables Affectation conditionnelle des variables + Moniteur du LEA E T S I

13 Modélisation dalgorithme de commande AFADL /03/ Abstraction du temps physique de façon logique Exemple [RS00] : TON [IEC ] : Temporisation à retard denclenchement. Indéterminisme entre active et enclenché doit être commun aux DEUX modèles Variable "time" supplémentaire dentrée caractérisant cette indéterminisme Inactive In = 0 Q = 0 Active In = 1 Q = 0 Enclenchée In = 1 Q = 1 In == 1 In == 0 In == 1 In == 0 TON Q s1= f (Q,...) s2= f (Q,...) In = f (e1,...) Q time e1 In

14 Synchronisation des modèles AFADL /03/ Principes Modèle global : Contient le modèle de chaque programme LEA et C. Indéterminisme commun : -Entrées communes. -Indéterminisme commun de labstraction logique du temps. Initialisation identique : Pour toutes les sorties s du programme, init(s_LEA) = init(s_C) Modèle programme LEA Modèle programme C e1 s2 s1 s2 s1 Modèle général e1 s2_C s1_C s2_LEA s1_LEA time e1 time init(s1_LEA) = init(s1_C) init(s2_LEA) = init(s2_C)

15 Synchronisation des modèles AFADL /03/ Exemple Modèle du programme LEA next(e1):= {0,1} next(s1):= next(e1) next(s2):= case next(s1) : 1; !next(s1) : s2; esac; Modèle du programme C next(e1):= {0,1} next(s1):= next(e1) next(s2):= s2 | next(s1) | next(e1) Init(s1_LEA)= Init(s1_C) Init(s2_LEA)= Init(s2_C) next(e1):= {0,1} next(s1_LEA):= next(e1) next(s1_C):= next(e1) next(s2_LEA):= case next(s1_LEA) : 1; ! next(s1_LEA) : s2_LEA; esac; next(s2_C):= s2_C | next(s1_c) | next(e1) Propriétés à vérifier : AG(s1_LEA = s1_C) AG(s2_LEA = s2_C)

16 Conclusions AFADL /03/ Résultats Application industrielle : centrale thermique 175 programmes soit : lignes de code C; lignes de code LEA sorties booléennes entrées booléennes. Modèle sans optimisationModèle avec optimisation Nombre de variables de sortie1857 Nombre de variables mémorisées Temps total de vérification sur Pentium 2.6 GHz 49.7 s11.52 s États atteignablesMin : Max : e+028 Min : Max : e+028 Temps de traduction automatique1 min

17 Conclusions AFADL /03/ Apports et perspectives Apports : traduction de langages industriels en langage model-checker (NuSMV). détermination de léquivalence comportementale entre deux programmes. optimisation des modèles par réduction du nombre de variables mémorisées. application industrielle : traitement de cas. Travaux en cours : vérification des variables entières et réelles. abstraction automatique de blocs fonctionnels. application aux autres langages de la chaîne de développement du logiciel.


Télécharger ppt "Détermination de léquivalence comportementale dalgorithmes de contrôle - commande Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE."

Présentations similaires


Annonces Google