détermination de léquivalence comportementale dalgorithmes de contrôle - commande vincent...

17
Détermination de l’équivalence comportementale d’algorithmes de contrôle - commande Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE

Upload: odilon-bousquet

Post on 04-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

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

Détermination de l’équivalence comportementale

d’algorithmes de contrôle - commande

Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE

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

AFADL 2006 16/03/2006 2

Plan de la présentationIntroduction

• Contexte• Problématique industrielle

Approche proposée• Equivalence comportementale• Principes• Verrous scientifiques

Modélisation d’algorithmes de commande• Objectif• Principes• Règles de modélisation

Synchronisation des modèles• Principes• Exemple

Conclusions• Résultats• Apports et perspectives

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

Introduction

AFADL 2006 16/03/2006 3

Contexte

Site de contrôle

Turbine électrique

Centrale thermique

Raffinerie

Quelques chiffres• 16534 lignes de code C

• 1857 sorties

• 5094 entrées

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

Introduction

AFADL 2006 16/03/2006 4

Problématique industrielleCONTROCAD :

• Outil industriel de développement d’algorithme de commande.

• programmation du fonctionnement en FBD ou SFC [IEC 61131-3].

• Génération automatique de programme exécutable spécifique au matériel.

Processus à contrôler

Entrées Sorties

Utilisateur (cahier des charges)

Contrôleur industriel

CONTROCAD

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

Introduction

AFADL 2006 16/03/2006 5

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.

CO

NT

RO

CA

D

Utilisateur(cahier des charges)

Contrôleur industriel

Équivalence comportementale ?

FBD SFC

LEA

C

Exécutable

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

Approche proposée

AFADL 2006 16/03/2006 6

Equivalence comportementale

Approche existante [Riv04] :• Certification de la compilation pour le contrôle - commande aéronautique,

par translation d’invariant.

• 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

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

Approche proposée

AFADL 2006 16/03/2006 7

Modèle global

Principes

MODEL CHECKER (NuSMV [CCG+02])

Comportement équivalent ou nonDiagnostic en cas d’incohérence

Critère d’équivalence comportementale

Programme CProgramme LEA

BOO e1 = s1IF s1THEN BOO 0 = s2

s1 = e1;IF {s1}{ s2 = 0;}

La

ng

ag

e in

du

strie

lL

an

ga

ge

du

mo

de

l-ch

eck

er

Équivalence ?

Modèle du programme C

Modèle du programme LEA

Équations récurrentes

Équations récurrentes

Moniteur du CMoniteur du LEA

ETS

I

ETS

I

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

Approche proposée

AFADL 2006 16/03/2006 8

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érale1

s2_C

s1_C

s2_LEA

s1_LEA

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

Approche proposée

AFADL 2006 16/03/2006 9

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.

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

Modélisation d’algorithme de commande

AFADL 2006 16/03/2006 10

Objectif

Ne s’inté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.

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

Modélisation d’algorithme de commande

AFADL 2006 16/03/2006 11

Principes

e1

s1

s2

Moniteur

+ Moniteur du LEAETS

I

E I1 I2 S E I1 I2 SE I1 I2 S

t

BOO e1 = s1 (I1)

IF s1

THEN (I2)

BOO 0 = s2

e1s1

s2

Programme LEA

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

Modélisation d’algorithme de commande

AFADL 2006 16/03/2006 12

Règles de modélisation

Programme LEA

BOO e1 = s1IF s1THEN

BOO 0 = s2

Modèle en équations récurrentesnext(e1):= {0,1};next(s1):= next(e1);next(s2):= case

next (s1) : 1;! next(s1) : s2;

esac;

Programme LEA

e1s1

s2

Affectation systématique des variables

Affectation conditionnelle des variables

+ Moniteur du LEAETS

I

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

Modélisation d’algorithme de commande

AFADL 2006 16/03/2006 13

Abstraction du temps physique de façon logique

Exemple [RS00] :• TON [IEC61131-3] : Temporisation à

retard d’enclenchement.

Indéterminisme entre active et enclenché

• doit être commun aux DEUX modèles Variable "time" supplémentaire d’entrée caractérisant cette indéterminisme

InactiveIn = 0Q = 0

ActiveIn = 1Q = 0

EnclenchéeIn = 1Q = 1

In == 1

In == 0

In == 1

In == 1

In == 0

TON

QTON

s1= f (Q,...)

s2= f (Q,...)In = f (e1,...)

Q

time

e1

In

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

Synchronisation des modèles

AFADL 2006 16/03/2006 14

Principes

Modèle global :• Contient le modèle de chaque programme LEA et C.

• Indéterminisme commun :

- Entrées communes.

- Indéterminisme commun de l’abstraction 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 Ce1

s2

s1

s2

s1Modèle générale1

s2_C

s1_C

s2_LEA

s1_LEA

time

e1

time

time

init(s1_LEA) = init(s1_C) init(s2_LEA) = init(s2_C)

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

Synchronisation des modèles

AFADL 2006 16/03/2006 15

ExempleModè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 Cnext(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)

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

Conclusions

AFADL 2006 16/03/2006 16

Résultats

Application industrielle : centrale thermique• 175 programmes soit :

- 16534 lignes de code C;

- 11763 lignes de code LEA.

• 1857 sorties booléennes.

• 5094 entrées booléennes.

Modèle sans optimisation Modèle avec optimisation

Nombre de variables de sortie 1857 1857

Nombre de variables mémorisées 1857 636

Temps total de vérification sur Pentium 2.6 GHz

49.7 s 11.52 s

États atteignables Min : 1048830Max : 7.922820061e+028

Min : 1048580Max : 7.922820059e+028

Temps de traduction automatique 1 min 1 min

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

Conclusions

AFADL 2006 16/03/2006 17

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.