Introduction à SCADE. F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 1



Documents pareils
JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

Les standards et la prise en compte des COTS : comment se concilient l utilisation des COTS et les normes actuelles?

Introduction aux systèmes temps réel. Iulian Ober IRIT

Informatique industrielle A Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Analyse,, Conception des Systèmes Informatiques

Contexte et motivations Les techniques envisagées Evolution des processus Conclusion

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

Le Processus RUP. H. Kadima. Tester. Analyst. Performance Engineer. Database Administrator. Release Engineer. Project Leader. Designer / Developer

Processus d Informatisation

La Certification de la Sécurité des Automatismes de METEOR

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Résumé CONCEPTEUR, INTEGRATEUR, OPERATEUR DE SYSTEMES CRITIQUES

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Qualité du logiciel: Méthodes de test

Développement itératif, évolutif et agile

CEG4566/CSI4541 Conception de systèmes temps réel

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Jeudi 19 Juin 2014 Novotel Paris Bercy

Synergies entre Artisan Studio et outils PLM

Qu'est-ce que le BPM?

Introduction au temps réel

Rapport de certification

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Le génie logiciel. maintenance de logiciels.

ECTS INFORMATIQUE ET RESEAUX POUR L INDUSTRIE ET LES SERVICES TECHNIQUES

Les solutions National Instruments pour le Model In-The-Loop (MIL) et le prototypage rapide (RCP)

11 Février 2014 Paris nidays.fr. ni.com

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Identification du module

GPA770 Microélectronique appliquée Exercices série A

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Conception et Intégration de Systèmes Critiques

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Variateurs de vitesse

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Surveillance et maintenance prédictive : évaluation de la latence de fautes. Zineb SIMEU-ABAZI Univ. Joseph Fourier, LAG)

Modules du DUT Informatique proposés pour des DCCE en 2014/2015

Introduction au génie logiciel

Profil d études détaillé. Section : Informatique et systèmes Finalité : Technologie de l informatique

Vérifier la qualité de vos applications logicielle de manière continue

modèles génériques applicables à la synthèse de contrôleurs discrets pour l Internet des Objets

Modelio by Modeliosoft

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

Modèles système, modèles logiciel et modèles de code dans les applications spatiales

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne Yosr Jarraya. Chamseddine Talhi.

Pour une entreprise plus performante

Chef de projet H/F. Vous avez au minimum 3 ans d expérience en pilotage de projet de préférence dans le monde du PLM et de management d équipe.

Système à enseigner : Robot M.I.M.I. MultipodeIntelligent à Mobilité Interactive. Version 1.0

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Extrait des Exploitations Pédagogiques

Architecture distribuée

Les systèmes embarqués Introduction. Richard Grisel Professeur des Universités Université de Rouen Nacer Abouchi Professeur ESCPE Lyon

UNIVERSITE D'ORLEANS ISSOUDUN CHATEAUROUX

Quoi de neuf en LabVIEW FPGA 2010?

Développement spécifique d'un système d information

Les modules SI5 et PPE2

RTDS G3. Emmanuel Gaudin

Profil UML pour TLM: contribution à la formalisation et à l automatisation du flot de conception et vérification des systèmes-sur-puce.

La conformité et la sécurité des opérations financières

PAS X. PAS-X Services. Competence. Implementation. Support. Vue d ensemble des services. Portfolio des services proposés

Démêler la complexité

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

Certification de l assemblage de composants dans le développement de logiciels critiques

Rational Unified Process

L échelle des Technology Readiness Levels (TRL ou Niveaux de maturité technologique) : Comment la prendre en compte dans nos métiers?

LOG2420 Analyse et conception d interfaces utilisateur

Chapitre VI- La validation de la composition.

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Condition Monitoring pour une gestion efficace du coût de possession.

MANAGEMENT PAR LA QUALITE ET TIC

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

C ) Détail volets A, B, C, D et E. Hypothèses (facteurs externes au projet) Sources de vérification. Actions Objectifs Méthode, résultats

Logiciel Libre Cours 3 Fondements: Génie Logiciel

MANAGEMENT PAR LA QUALITE ET TIC

2015 // des formations. programme. Retrouvez toutes ces informations sur enseirb-matmeca.bordeaux-inp.fr

Systèmes et réseaux d information et de communication

DOSSIER DE PRESSE. confidentiel

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

Méthodes Agiles et gestion de projets

Génie logiciel (Un aperçu)

EIP 2012 Projet Livepad. Documentation technique 1.5

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Gé nié Logiciél Livré Blanc

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Thème 3 Conception et vérification d architectures de systèmes sur puce

Technologie 125 Khz pour une performance optimale en en environnement industriel. Création des badges. Programmation des badges

CQP Développeur Nouvelles Technologies (DNT)

Test de performance en intégration continue dans un cloud de type PaaS

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

PAS X. PAS-X Services. Competence. Implementation. Support. Vue d ensemble des services SERVICES PAS-X. Centres de services internationaux

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

Bertrand Cornanguer Sogeti

Étude «analyse, reporting et budget» Niveau d équipement et attentes des PME françaises.

Chapitre I : le langage UML et le processus unifié

Agilité et avionique "Monteriez-vous à bord d'un avion dont des logiciels de vol sont écrits par des praticiens de l'extreme- Progamming?

Rapport de certification

DÉPLOIEMENT DES PARTIES 3 ET 4 DE LA NORME ISO 26262

Les Partenaires de IBM Rational

Bases de données Cours 1 : Généralités sur les bases de données

Transcription:

Introduction à SCADE F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 1

Introduction SCADE : Safety-Critical Application Development Environment environnement de développement pour les systèmes critiques, en particulier dans le domaine de l embarqué avionique (Airbus, Eurocopter) : leader de facto nucléaire (Schneider Electrics, CEA) automobile (standard émergent) développé initialement par le laboratoire Verimag de Grenoble à partir des travaux de recherche avec Lustre maintenant commercialisé par la société Esterel Technologies F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 2

Historique Esterel Technologies en 1984, premiers éléments du langage Esterel (issu des travaux pour construire un robot mobile pour un concours organisé par une revue de microélectronique) groupe de recherche autour de Gérard Berry pour le développement d Esterel utilisation du langage par des sociétés (AT&T Bell Labs, Bertin, Dassault) V4 du compilateur Esterel en 1994 implémentation des programmes sur des FPGA, ou par soft en 1997, intégration du langage graphique SyncCharts (proche des StateCharts) utilisé par Dassault, Thales, Thomson CSF logiciel Esterel Studio, développé par Simulog en 1999, création de Esterel Technologies F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 3

Historique SCADE Lustre développé dans les années 1980 (P. Caspi, N. Halbwachs, laboratoire IMAG) en 1986, utilisé par Merlin Gérin (maintenant Scheider Electric) pour le contrôle des centrales nucléaires (outil Saga) développement avec Verilog rapprochement avec Aérospatiale (maintenant Airbus) qui utilise un outil analogue (SAO) Verilog, en partenariat avec Merlin Gérin et Aérospatiale, développe un outil commun : SCADE en 1993, Verilog et IMAG créent un laboratoire commun : Verimag SCADE racheté par Telelogic en 1999, puis par Esterel Technologies en 2001 en 2015, Esterel Technologies racheté par ANSYS F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 4

SCADE aujourd hui environnement de développement basé sur Lustre et Esterel le langage textuel de SCADE est basé sur Lustre V3 utilisé pour sauvegarder les modèles (fichiers.saofd) ESTEREL SCADE Suite TM est le standard pour la création d applications critiques embarquées qualifié pour le standard DO-178B/ED-12B (niveau A) pour l avionique et les applications militaires certifié pour le standard IEC 6158 (niveau 3) pour les équipements lourds et la production d énergie conforme au standard EN 60128 (niveau 3/4) pour les applications ferroviaires compatible avec le standard IEC 60880 pour le nucléaire associé maintenant à ESTEREL SCADE Display TM, un environnement de développement graphique pour concevoir et vérifier des applications telles que les systèmes d affichage de cockpit ou de tableaux de bord F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 5

Standard DO-178B/ED-12B document produit par la RTCA (DO-178B, USA) et EUROCAE (ED-12B, Europe) pour fournir des lignes directrices précisant la façon de produire du code pour les applications aéronautiques (1ère version en 1992) complémentaire du document ARP 4754 qui spécifie le processus de conception des systèmes de pilotage et de modification des systèmes existants System life-cycle processes (ARP 4754) System safety assessment process System requirements allocated to software Software level(s) Design constraints Hardware definitions Fault containment boundaries Error sources identified/eliminated Software requirements & architecture Software life-cycle processes (DO-178B) part of implementation processees, for ARP 4754 F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 6

Standard DO-178B/ED-12B les lignes directrices spécifient : les objectifs pour chaque phase du cycle de vie du code la description des activités et des considérations quant à la conception pour atteindre ces objectifs la description des preuves montrant que ces objectifs ont été atteints F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 7

Standard DO-178B/ED-12B DO-178B et ARP 4654 définissent en commun les niveaux de criticité pour les systèmes, leurs composants et le code : Niveau A : Problème catastrophique - Sécurité du vol ou atterrissage compromis - Crash de l'avion Niveau B : Problème majeur entraînant des dégâts sérieux voire la mort de quelques occupants Niveau C : Problème sérieux entraînant un dysfonctionnement des équipements vitaux de l'appareil Niveau D : Problème pouvant perturber la sécurité du vol Niveau E : Problème sans effet sur la sécurité du vol l approche est orientée objectif : on formule les objectifs et on vérifie qu ils ont été atteints mais les méthodes précises à utiliser ne dont pas données (le cycle de vie du développement n est même pas spécifié) F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 8

Standard DO-178B/ED-12B approche proposée par DO-178B : s assurer que les objectifs appropriés sont définis, e.g. niveau de criticité du développement du code standards de conception définir des procédures pour la vérification des objectifs, e.g. vérifier que l indépendance des activités correspond au niveau de criticité du développement vérifier que les standards de conception sont satisfaits et que la conception est complète, précise et traçable définir des procédures pour vérifier que les procédures de vérification précédemment définies sont exécutées correctement, e.g. vérifier que les remarques des revues des documents de conception ont bien été prises en compte vérifier que les tests montrant que le contenu du cahier des charges est rempli ont été effectués F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 9

L outil SCADE la satisfaction du standard est très contraignante pour les développeurs («rendement» en termes de lignes de code produites par jour typiquement 4 fois plus faible que pour des applications non critiques des outils pour aider à satisfaire le standard sont essentiels fournit l ensemble des fonctionnalités réclamées par les standards pour le codage d applications critiques : modélisation de l application vérification du modèle génération de code certifié F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 10

modélisation de l application architecture typique d un système temps réel embarqué critique : lois de contrôle, algorithmes, logique Contrôleur d accès aux «modes», etc... complexe! application application interagissant interagissant avec avec Gestion des entrées-sorties Système d exploitation Matériel Pilotes composants composants de de bas bas niveau niveau gestion gestion des des données données environnement environnement F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 11

modélisation de l application SCADE propose un langage rigoureux pour saisir les besoins en matière de calcul et de logique équations de flot de données pour le calcul machines à états pour la logique Lustre Esterel la fonction principale de SCADE est appelée de façon cyclique code développé manuellement pour l interfaçage avec les couches logicielles de bas niveau et le matériel Code manuel Fonction SCADE Gestion des entrées-sorties Système d exploitation Contrôleur Matériel Pilotes Code manuel F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 12

Modélisation avec SCADE utilise 2 formalismes de spécifications : des machines à états finis pour les modes de fonctionnement et les transitions des diagrammes de flots de données pour les algorithmes de contrôle s'appuie sur ESTEREL et LUSTRE Les illustrations qui suivent proviennent du manuel F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 13

Modélisation avec SCADE les blocs de base sont les "opérateurs" représentés graphiquement ou textuellement pré-définis dans le langage ou définis par l'utilisateur à l'aide d'opérateurs permet de construire des structures très complexes F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 14

Modélisation avec SCADE diagrammes de flots de données pour les contrôles continus traitements périodiques du signal opérateurs entre lesquels circulent des flots de données les opérateurs sont modulaires (comportement indépendant du contexte) fortement typés chaque donnée a un type la cohérence des types est vérifiée F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 15

Modélisation avec SCADE SCADE permet de vérifier les timings et la causalité circuits récursifs exemple délai avec valeur initiale F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 16

Modélisation avec SCADE SCADE permet de vérifier que les flots de données sont initialisés correctement (essentiel dans le développement d'applications critiques) F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 17

Modélisation avec SCADE les contrôles «discrets» permettent de réagir aux événements externes asynchrones alarmes capteurs «discrets» interfaces homme-machine modélisés par des machines à états finis incluant des opérateurs de flots de données F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 18

Modélisation avec SCADE modèle de calcul basé sur une boucle calcul non interruptible dès que les capteurs ont été lus tous les opérateurs ont une horloge basée sur une horloge maître (cf Lustre) les machines à états finis utilisent aussi une approche cyclique passage d'événements entre machines communication entre machines et opérateurs l'identité des comportements du modèle séquentiel généré et des spécifications initiales est garanti par des méthodes formelles F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 19

vérification du modèle but de la vérification : conformité du modèle établi avec les spécifications contenues dans le cahier des charges absence de fonctions non intentionnelles, sans rapport avec le contenu du cahier des charges plusieurs phases dans le processus de vérification revue du modèle simulation couverture structurelle vérification formelle prédiction des performances à chaque étape, SCADE fournit des outils spécifiques F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 20

vérification du modèle revue du modèle vérification que chaque élément d un modèle SCADE est en rapport direct avec une ou plusieurs exigences fournies en entrée de la phase de conception du modèle l outil «SCADE Suite Requirements Management Gateway TM» gère la traçabilité des exigences à travers SCADE calcule également le pourcentage de couverture des exigences par le modèle F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 21

vérification du modèle simulation vérification fonctionnelle à l aide de l outil «SCADE Suite Simulator TM» SCADE garantit que les résultats de la simulation du modèle sont identiques à ceux qui seront obtenus plus tard par le code généré à partir du modèle sur la cible outil complémentaire «SCADE Suite Rapid Prototyper TM» F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 22

vérification du modèle couverture structurelle mesure de combien ce logiciel a été testé permet d identifier des parties de ce logiciel qui n ont jamais est testées outil «SCADE Suite Model Test Coverage TM» (requis par les normes comme DO-178B ou EN-50128) peut mettre en évidence les éventuelles insuffisances des tests des contradictions dans les exigences ou des parties du modèle qui ne sont pas accessibles, et qui sont donc inutiles F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 23

vérification du modèle développement «traditionnel» F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 24

vérification du modèle développement «SCADE» F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 25

vérification du modèle vérification formelle vient en complément des tests de simulation avec les tests, on ne peut pas être sûr à 100% que le modèle est correct (il peut manquer des scénarios d exécution dans l ensemble des tests) utilise l outil «SCADE Suite Design Verifier TM» associé au plugin Prover Plug-In TM de Prover Technology TM (analogue à LESAR dans Lustre) l utilisateur fournit un ensemble de propriétés de sûreté qui doivent être vérifiées (décrites dans le formalisme de SCADE) Design Verifier effectue une analyse mathématique et exhaustive de l ensemble des comportements possibles du système si la propriété n est pas vérifiée par un des scénarios, Design Verifier fournit un point de départ pour une nouvelle simulation conduisant à une erreur, qui peut alors être plus facilement corrigée F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 26

vérification du modèle prédiction des performances utilise l outil «SCADE Suite Timing and Stack Verifier TM» pour le code qui sera généré pour la cible, donne une estimation du temps d exécution maximal du code C sa consommation maximale d espace mémoire sur la pile intègre une technique d analyse statique développée par Absint avec l outil ait repose à la fois sur le modèle SCADE de l application et sur un modèle du processeur cible qui permettra d évaluer les performances F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 27

génération de code certifié la phase de codage suivant la conception est entièrement automatisée utilise le générateur de code certifié «SCADE Suite KCG TM» le code produit est traçable par rapport au modèle fourni en entrée lisible conforme à la norme ISO-C indépendant de la cible comportement déterministe pas d allocation dynamique de mémoire pas d opérations arithmétiques sur les pointeurs KCG a été développé avec le même niveau d exigence que celui attendu pour le code produit certifié niveau A de DO-178B pas de nouvelle vérification nécessaire au niveau du code F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 28

Conclusion l'utilisation de SCADE permet de réduire de moitié les coûts de certification de réduire de 70% à 90% les coûts de développement, certification et tests *de réduire de 65% à 75% le temps de mise au point d'un logiciel de supprimer les erreurs de codage et les tests unitaires maintenant le standard de facto de l'avionique F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 29

présentation du TD F. Touchard Polytech Marseille Département d'informatique SICA 5ème année 2015-16 30