Introduction à SCADE®

Transcription

Introduction à SCADE®
Introduction à SCADE
F. Touchard
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
®
1
Introduction
SCADE : S afety-C ritical A pplication D evelopment
E nvironment
● 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 2016-17
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
➢
●
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)
➢
➢
➢
F. Touchard
utilisation du langage par des sociétés (AT&T Bell Labs,
Bertin, Dassault)
utilisé par Dassault, Thales, Thomson CSF
logiciel Esterel Studio, développé par Simulog
en 1999, création de Esterel Technologies
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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)
➢
●
●
●
●
●
F. Touchard
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
4
SCADE aujourd’hui
●
environnement de développement basé sur Lustre et
Esterel
➢
➢
●
ESTEREL SCADE SuiteTM est le standard pour la création
d’applications critiques embarquées
➢
➢
➢
➢
●
F. Touchard
le langage textuel de SCADE est basé sur Lustre V3
utilisé pour sauvegarder les modèles (fichiers .saofd)
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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
Fault containment
boundaries
Software level(s)
Error sources
identified/eliminated
Design constraints
Hardware definitions
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 2016-17
6
Standard DO-178B/ED-12B
●
les lignes directrices spécifient :
➢
➢
➢
F. Touchard
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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 :
➢
➢
➢
➢
➢
●
l’approche est orientée objectif : on formule les objectifs
et on vérifie qu’ils ont été atteints
➢
F. Touchard
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
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é)
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
8
Standard DO-178B/ED-12B
●
approche proposée par DO-178B :
➢
s’assurer que les objectifs appropriés sont définis, e.g.
✔
✔
➢
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.
✔
✔
F. Touchard
niveau de criticité du développement du code
standards de conception
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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 :
●
➢
➢
➢
F. Touchard
modélisation de l’application
vérification du modèle
génération de code certifié
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
10
modélisation de l’application
●
architecture typique d’un système temps réel embarqué
critique :
!
lois de contrôle,
e
x
e
algorithmes,
l
Contrôleur
p
logique d’accès
m aux « modes »,
o
etc...
c
application
application
interagissant
interagissant
avec
avec
Gestion des entrées-sorties
composants
composants
de
debas
basniveau
niveau
Système
d’exploitation
Matériel
F. Touchard
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
Pilotes
gestion
gestiondes
des
données
données
environnement
environnement
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
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
Lustre
Esterel
Fonction SCADE
Contrôleur
Code manuel
➢
Code manuel
●
Gestion des entrées-sorties
Système
d’exploitation
Pilotes
Matériel
F. Touchard
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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 2016-17
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
➢
✔
F. Touchard
permet de construire des structures très complexes
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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
✔
✔
F. Touchard
chaque donnée a un type
la cohérence des types est vérifiée
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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 2016-17
16
Modélisation avec SCADE
●
F. Touchard
SCADE permet de vérifier que les flots de données sont
initialisés correctement (essentiel dans le développement
d'applications critiques)
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
17
Modélisation avec SCADE
●
les contrôles « discrets » permettent de réagir aux
événements externes asynchrones
➢
➢
➢
●
●
F. Touchard
alarmes
capteurs « discrets »
interfaces homme-machine
modélisés par des machines à états finis
incluant des opérateurs de flots de données
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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
✔
✔
●
F. Touchard
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
19
vérification du modèle
●
but de la vérification :
➢
➢
●
plusieurs phases dans le processus de vérification
➢
➢
➢
➢
➢
●
F. Touchard
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
revue du modèle
simulation
couverture structurelle
vérification formelle
prédiction des performances
à chaque étape, SCADE fournit des outils spécifiques
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
20
vérification du modèle
●
revue du modèle
➢
➢
➢
F. Touchard
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
GatewayTM » gère la traçabilité des exigences à travers
SCADE
calcule également le pourcentage de couverture des
exigences par le modèle
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
21
vérification du modèle
●
simulation
➢
➢
➢
F. Touchard
vérification fonctionnelle à l’aide de l’outil « SCADE Suite
SimulatorTM »
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 PrototyperTM »
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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 CoverageTM » (requis par
les normes comme DO-178B ou EN-50128)
peut mettre en évidence
✔
✔
F. Touchard
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
23
vérification du modèle
●
F. Touchard
développement « traditionnel »
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
24
vérification du modèle
●
F. Touchard
développement « SCADE »
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
25
vérification du modèle
●
vérification formelle
➢
vient en complément des tests de simulation
✔
➢
utilise l’outil « SCADE Suite Design VerifierTM » associé au
plugin Prover Plug-InTM de Prover TechnologyTM (analogue à
LESAR dans Lustre)
✔
✔
✔
F. Touchard
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)
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
26
vérification du modèle
●
prédiction des performances
➢
➢
utilise l’outil « SCADE Suite Timing and Stack VerifierTM »
pour le code qui sera généré pour la cible, donne
✔
✔
➢
intègre une technique d’analyse statique développée par
Absint avec l’outil aiT
✔
F. Touchard
une estimation du temps d’exécution maximal du code C
sa consommation maximale d’espace mémoire sur la pile
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
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
KCGTM »
● 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
✔
✔
●
KCG a été développé avec le même niveau d’exigence
que celui attendu pour le code produit
➢
➢
F. Touchard
pas d’allocation dynamique de mémoire
pas d’opérations arithmétiques sur les pointeurs
certifié niveau A de DO-178B
pas de nouvelle vérification nécessaire au niveau du code
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
28
Conclusion
●
l'utilisation de SCADE permet
➢
➢
➢
➢
●
F. Touchard
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
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
29
présentation du TD
F. Touchard
Polytech Marseille Département d'Informatique
SICA
5ème année 2016-17
30