Vincent GOURCUFF, Olivier De SMET, Jean-Marc FAURE

Slides:



Advertisements
Présentations similaires
GSI Gestion des systèmes dinformation Présentation GSI GSI Gestion des systèmes dinformation.
Advertisements

SÉMINAIRE NATIONAL – LYCÉE RASPAIL – 29 et 30 MAI 2006
Chapitre annexe. Récursivité
Projet FIACRE 1 ACI Sécurité InformatiqueToulouse, novembre 2004 FIACRE Fiabilité des Assemblages de Composants Répartis Modèles et outils pour lanalyse.
Spécification et qualité du logiciel
Un exemple de système EDA d'index supérieur distillation réactive avec réactions chimiques instantanément équilibrées Dr. Karim Alloula (ingénieur informatique.
Calculs de complexité d'algorithmes
Validation des Systèmes Informatisés Industriels
Evidence Based Medicine (EBM – mise à jour 2006)
La conception d’un tableau de bord prospectif (BSC)
Approche interne de la chaîne d’énergie (approche nécessaire pour maîtriser le fonctionnement des systèmes au delà du premier ordre) Spécification des.
Approche interne de la chaîne d’information (approche nécessaire pour maîtriser le fonctionnement des systèmes au delà du premier ordre) Spécification.
SÉMINAIRE NATIONAL – LYCÉE RASPAIL – 29 et 30 MAI 2006
Le GRAFCET.
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
PROJET PERSONNEL ET PROFESSIONNEL
Quoi ? Un tampon.
INTRODUCTION.
Introduction : Compilation et Traduction
Tests et Validation du logiciel
Modélisation des systèmes non linéaires par des SIFs
LA SEMIOTIQUE DU MULTIMEDIA
Exploration textuelle dinteractions verbales entre un adulte et un enfant avec Lexico3 Luiggi Sansonetti Université Paris 3 – ILPGA EA2290 – SYLED CLA2T.
SAARA : Un Système d’Aide à l’Aménagement Routier Automatisé
Analyse lexicale Généralités Expressions rationnelles Automates finis
L'INFORMATION GEOGRAPHIQUE
Introduction à la conception de Bases de Données Relationnelles
Automates Programmables Industriels Automates Programmables
Algorithmique et Programmation
Étude d’un système technique industriel
[photo d'un système] Schéma ordonnancement XML Évaluation Code C Modélisation Solution GÉNÉRATEUR AUTOMATIQUE DE CODE pour OUTIL DE MODÉLISATION-IMPLANTATION.
Automatisme de portail Autonome
Modélisation causale multiphysique
SCIENCES DE L ’INGENIEUR
Synthèse d’activités Présentation.
Semaine #1 INF130 par Frédérick Henri.
Modèle d’entrepôt de données à base de règles
Mise en oeuvre des MMCs L'utilisation des MMCs en reconnaissance des formes s'effectue en trois étapes : définition de la topologie de la chaîne de Markov,
Partie II Sémantique.
1 Conférence ENS – Pour la Science Paris 05/01/2006 Le Séisme de Banda Aceh du 26 décembre 2004 vu par GPS Christophe Vigny Laboratoire de Géologie - Ecole.
COMPOSANTS PROGRAMMABLES
Programmation non procédurale Le projet ECOLE 2000
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI Jean-Jacques DUMÉRY -1-
Modélisation des opérations Spécifier les transformations détat que lon attend des services de la machine Létat dune machine entièrement déterminée par.
NORMALISATION DES LANGAGES DE PROGRAMMATION des Automates Programmables Industriels CEI
ANALYSE METHODE & OUTILS
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
INTRODUCTION.
Cours 1 1 Java. Cours 1 2 Plan général 1.Introduction 2.Les types primitifs, évaluation d’expressions 3.Instructions for, if…. 4.Introduction de l’objet,
MTT / RADARR Activité MTT Analyse et représentation conceptuelle
BIENVENUE à l’Assemblée constitutive d’Option Médiation
Amélioration de la simulation stochastique
Sciences de l'Ingénieur
Supports de formation au SQ Unifié
Algorithmique et programmation en
« Validation Formelle de Systèmes Interactifs »
2008/ Plan du cours 1.Introduction –Contenu du cours 2.Logique mathématique –Calcul propositionnel –Calcul des prédicats –Logique floue et aide à.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Introduction et Généralités sur l’Algorithmique
1 Vers la gestion de la cohérence dans les processus multi-modèles métier Wolfgang THEURER Ecole Nationale Supérieure d’Ingénieurs des Etudes et Techniques.
Cours 4 (14 octobre) Héritage. Chapitre III Héritage.
Sujet 5 : Intégration d’une loi d’ordonnancement dans un modèle
20/06/2015propagation de signatures lexicales dans le graphe du Web 1 Propagation de signatures lexicales dans le graphe du Web M. Bouklit M. Lafourcade.
INTRODUCTION AUX BASES DE DONNEES
Algorithmique Algorithmique  Pascal
Automates Programmables Industriels
Une progression spiralaire de l’apprentissage en technologie
Automates Programmables Industriels ( ITEEM 2004 ) I.T.E.E.M de BEAULIEU Enseignante : Mme RECHID CHAPITRE 9 Le langage Grafcet.
Transcription de la présentation:

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

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

Contexte Site de contrôle Centrale thermique Raffinerie Introduction Contexte Centrale thermique Site de contrôle Raffinerie Quelques chiffres 16534 lignes de code C 1857 sorties 5094 entrées Turbine électrique

Problématique industrielle Introduction Problématique industrielle CONTROCAD : 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. Utilisateur (cahier des charges) CONTROCAD Entrées Sorties Contrôleur industriel Processus à contrôler

Problématique industrielle (2) Introduction Problématique industrielle (2) Utilisateur (cahier des charges) 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. FBD SFC LEA C Exécutable CONTROCAD Équivalence comportementale ? Contrôleur industriel

Equivalence comportementale Approche proposée 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

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

Critère d’équivalence comportementale Approche proposée 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) s1_LEA Modèle général s2_LEA e1 s1_C s2_C

Verrous scientifiques Approche proposée 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.

Modélisation d’algorithme de commande 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.

Principes s1 e1 s2 + Moniteur du LEA Modélisation d’algorithme de commande Principes BOO e1 = s1 (I1) IF s1 THEN (I2) BOO 0 = s2 e1 s1 s2 Programme LEA E T S I + Moniteur du LEA Moniteur e1 s1 s2 E I1 I2 S t

Règles de modélisation Modélisation d’algorithme de commande Règles de modélisation E T S I Programme LEA e1 s1 s2 + Moniteur du LEA 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;  Affectation conditionnelle des variables  Affectation systématique des variables

Abstraction du temps physique de façon logique Modélisation d’algorithme de commande 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 In == 1 In == 1 In Q TON Inactive In = 0 Q = 0 Active In = 1 Q = 0 In == 0 In == 0 Enclenchée In = 1 Q = 1 In == 1 s1= f (Q,...) time Q TON In = f (e1,...) e1 s2= f (Q,...)

Principes Modèle global : Synchronisation des modèles 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) init(s1_LEA) = init(s1_C) init(s2_LEA) = init(s2_C) time Modèle programme LEA s1 s1_LEA e1 s2 Modèle général time s2_LEA e1 time Modèle programme C s1 s1_C e1 s2 s2_C

Modèle du programme LEA Synchronisation des modèles 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)

Résultats Application industrielle : centrale thermique Conclusions 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 Nombre de variables mémorisées 636 Temps total de vérification sur Pentium 2.6 GHz 49.7 s 11.52 s États atteignables Min : 1048830 Max : 7.922820061e+028 Min : 1048580 Max : 7.922820059e+028 Temps de traduction automatique 1 min

Apports et perspectives Conclusions 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.