Title: Aucun titre de diapositive
1Mise en oeuvre dobservateurs temporisés pour la
validation de logiciels temps réel
Philippe Dhaussy, Jean-Charles Roger, Olivier
Habart ENSIETA Laboratoire Développement
Technologies Nouvelles 2 rue F. Verny, Brest
29806 Cedex 9 Phone 33 (2) 98 34 88 90 dhaussy
_at_ensieta.fr www.ensieta.fr/dtn
Vers 24 juin 04
2Motivation Validation de logiciels temps réel
- Notre équipe impliquée dans la conception de
systèmes robotisés (Unmanned Underwater Vehicle).
- Développement de logiciels pour UUV
- Modélisation et validation de logiciels TR
- (robotique, avionique)
- Parties critiques, protocoles de communication
- Nécessité dassurer la correction (sûreté)
3Motivation Validation de logiciels temps réel
- Validation des modèles temporisés
- Nécessité de technique vérification formelle
- (description rigoureuse du comportement dynamique
des systèmes) - Recherche dune expression plus aisée des
propriétés comportementales - Contourner le problème de lexplosion
combinatoire
- Groupes détude
- AIRBUS, CS-SI, ONERA, ENSIETA
- Pérennité de SDL et validation formelle de
modèles - DGA, TAS, ONERA, CEA, ENSIETA modèles et
validation des SIO - IRISA, VALORIA, ENST projet PRIR,
Tranformation de modèles et vérification
4Motivation Rupture dans le cycle de
développement
Modélisation Orientée Objet
Méthodes formelles pour la recherche de correction
Traduction manuelle, expertise, difficile
Changement de paradigme, écart sémantique ?
5Nécessité dune intégration des technologies
formelles dans les AGL
6Plan
- Modèles formels
- Automates temporisés
- Automates de test et vérification
- Mise en oeuvre
- Intégration en environnement UML
- Conclusion et perspectives
7Modélisation formelle et model-checking
Différents formalismes et outils appliqués à la
vérification de systèmes de taille réelle.
- Principe
- un modèle formel
- une specification formelle ensemble de
propriétés (requirements) - une technique de model-checking pour vérifier
les propriétés.
8Modélisation formelle de logiciels temps réel
- Formalismes appropriés pour capturer des
contraintes temporisés - basés sur les automates temporisés Alur Dill
94
Contexte de communication asynchrone Language
IF VERIMAG Graf Bozga all
- Expérimentation basée sur le language IF et
lenvironnement associé - Outils disponibles
- analyse statique et réduction de modèles
- simulation et vérification de modèles
9Réduction de modèle
Model-checking technique automatisable Basée
sur la génération dun graphe des états
(comportement)
Génération de lespace des états
- En général grande taille des modèles et
complexes - vérification limitée explosion combinatoire du
nombre détats - entrelacement non-déterministe de lexécution
des processus
Techniques de réduction et dabstraction des
modèles Automates observateurs (ou automates de
test) Représentent des propriétés
comportementales à valider sur le modèle
10Plan
- Modèles formels
- Automates temporisés
- Automates de test et vérification
- Mise en oeuvre
- Intégration en environnement UML
- Conclusion et perspectives
11Automates temporisés Alur Dill 94
- Interprétés comme une extension de Machines
dEtats Finies (FSM) avec horloges. - Un modèle de système composition dun nombre
fini de processus - (en exécution parallèle)
- Chaque processus caractérisé par une FSM
communicante qui gère - variables globales et locales
- horloges locales
- Etats dun processus caractérisés par des
valeurs sur les variables et horloges. - Transitions gardées par des conditions sur les
horloges ou les variables.
12Sémantique des automates temporisés
La satisfaction dune transition permet
lexécution des actions qui sont spécifiées sur
chaque transition.
Une action affectation dune variable ou dune
horloge.
- Linstant dexécution est sélectionné dune
manière non-déterministe - durant la période de validité de la garde.
- Les transitions instantanées
- Le temps sécoule dans les états seulement entre
les transitions - Sémantique dun système de transition (LTS)
- Alur 99 A. T. avec invariants sur les états
(notés TAi)
13Automates UPPAAL (TAU )
- AD 94 avec invariants, actions urgentes
(communication synchrone prioritaire par rapport
au temps ) et états commited
- Une action peut être
- réception dun signal (ou message s) (noté ? s),
- émission de s (noté ! s)
- Modèle de communication synchrone par
rendez-vous - affectation dune variable ou dune horloge.
14Automates IF VERIMAG, Bornot, Sifakis, Tripakis
97,
- Basés sur les TAD automates temporisés
classiques avec urgences de transition. - Modèle de communication asynchrone par tampons
de messages
- eager si la transition est tirable, la
transition est tirée sans que le temps ne
progresse. - delayable si la transition est tirable, le
temps peut progresser tant que la garde est
évaluée à vrai et la transition sera tirée. - lazy même si la transition est tirable, le
temps peut progresser (ce qui peut dévalider la
transition).
15Système de Transitions Etiquetées (LTS)
- Sémantique dun automate IF
- représentée par un LTS.
- Sémantique dun système
- composition des modèles de processus (opérateur
) - Temps simulé
- Discret ou dense
- Notre étude
- Systèmes simulés en temps discret
- 3 types dactions dans un LTS
- communication (? m, ! m)
- action interne
- progression du temps timex
time1
time1
time3
- Chaque location dans un LTS configuration
(description des états simulés du système) - état courant des processus,
- valeurs de toutes les variables et horloges,
- état de buffers.
16La vérification des modèles temporisés
Spécifications
- Propriétés de sûreté et vivacité bornée
- (P1) a et b doivent être reçus dans cet ordre
- et c est émis vers lenvironnement dans
lintervalle 3, 5. - Formules logiques TCTL, vérificateurs Kronos,
Uppaal, - Observateurs Jard 88, Halbwacks 93, Graf 03
- Automates de test Aceto 98, Tripakis 02
17Plan
- Modèles formels
- Automates temporisés
- Automates de test et vérification
- Mise en oeuvre
- Intégration en environnement UML
- Conclusion et perspectives
18Les automates de test Aceto et al. 98
- Automate temporisé représentant une propriété,
- Contrôle la violation de la propriété
- Contient des état spéciaux reject
- Composé avec le  système (réseau dautomates)
- Composition dautomates TAU (Uppaal)
Si le résultat de la composition entre le système
et lautomate de test contient une configuration
contenant un état marqué reject la propriété
spécifiée par lautomate de test nest pas
validée sur le système.
19 Expression des propriétés
- Constat
- Nécessité de vérifier des propriétés complexes
- Difficultés de les exprimer avec des automates
de test - Se ramener à une vérification d'accessibilité
- propriété daccessibilité atteignabilité dun
état - décidables et algorithmes efficaces
- Logique SL logique modale de sûreté Aceto et
al. 98 - Expression de propriétés de sûreté et de vivacité
bornée. - Grammaire abstraite
- ? ff ?1 ? ?2 g ? ? ? a ?
ltagt tt x in ? X max (X, ?) - g est une garde dans ?(C) avec C ensemble
dhorloges sur ? - La propriété P1 en SL (syntaxe modifiée)
- Inv ( x0 ?a ? ?b !c 3 ? x ? 5 ?
faux )
20 Quelques logiques temporelles et temporisées
- HML Hennessy Milner logique temporelle
modale - Lm HML étendue par des opérateurs de plus
grand et plus petit point fixe (m-calcul) - Ln Lm étendue par des opérateurs modaux
temporisés et des horloges - SL (Safety Logic) (ou SBLL) Aceto 98
dégradée de la logique Ln pour les automates Ã
communication synchrone. - XSL (eXtended Safety Logic) (ou L?) intègre la
notion daction urgente
Ln
Lm
Actions urgentes
HML
SL
XSL
21 Traduction de formules SL en automates de test
Règles de traduction syntaxique des formules SL
en automates de test Ex propriété P1 Inv
( x0 ?a ? ?b !c 3 ? x ? 5 ? faux )
1
2
k 0 i
X4
k 0 i
k 0
0
k 0 i
k 0 i
X1,2,3
3
4
k 0 i
k 0 i x 0 k 0
k 0 i
k 0 i
5
6
k 0 i
7
k, x clock
8
k 0 i
k 0 i
k 0 i
15
16
9
i k 0
(k0)??(x?5) i
(k0)??(3?x) i
k 0 i
k 0 i
10
11
12
13
14
22 Différents modèles dautomates temporisés
Langage UPPAAL
Langage IF
tampons finis
tampons infinis
23 Justification de la démarche de vérification
- Bornot, Sifakis, tripakis 97 Un automate TAD
est exprimable en un automate TAi. - Burgueno98 Tout automate de test qui vérifie
une propriété sur un ensemble de TAU est
exprimable par une formule XSL. - Adaptation de (2) Tout automate de test qui
vérifie une propriété sur un ensemble de TAi est
exprimable par une formule SL (preuve (2) ne
mentionnant pas les actions urgentes). - (1), (3) Tout automate de test qui vérifie une
propriété sur un ensemble de TAD est exprimable
par une formule SL. - Les communications asynchrones sont simulables
par des communications synchrones dans le cas de
tampons bornés. - Le modèle IF est donc simulable de manière
théorique par le modèle TAU.
24 En pratique
Formule SL
Automates IF
Automates de Test
Analyse daccessibilité
LTS
LTS
Composition synchrone
Verdict
- Les automates de test provenant des formules SL
permettent de vérifier - des propriétés sur les automates IF.
- Les LTS générés à partir des automates IF et des
automates de test - (traduits des formules SL) sont composables.
25Plan
- Modèles formels
- Automates temporisés
- Automates de test et vérification
- Mise en oeuvre
- Intégration en environnement UML
- Conclusion et perspectives
26IF Toolbox VERIMAG, INRIA
Applications utilisateur
API
Lotos
SDL
SDL2IF
IF2C
Modèle IF
Labeled Transition System (LTS)
CADP
Générateur de test (TGV)
Vérificateurs (Aldebaran, Evaluator)
Analyse statique, abstraction
diagnostics
27Développement dun outillage (en cours)
Le programme principal de composer main ()
IfIterator system new
IfIterator () ATIterator at new
ATIterator () Composer comp
new Composer (system,at) comp-gtdo_composition
() if ( comp-gtis_reachable (reject))
cout ltlt "Not verified"
else cout ltlt "
Verified"
28Experimentation en cours (système UUV)
validation de protocoles
Lien acoustique
Système de gestion de mission
Power PC Board Vx Works
Ethernet
68040 Vxworks
Guidage et pilotage
PowerPC board Vxworks
Système de Navigation
Système dévitement dobstacles
Commande des actionneurs
Sonars
Bus CAN
DSP-TMS320F243
Capteurs, actionneurs
29Plan
- Modèles formels
- Automates temporisés
- Automates de test et vérification
- Mise en oeuvre
- Intégration en environnement UML
- Conclusion et perspectives
30Intégration dans un environnement UML
- Projet OMEGA, débuté en 2002,
(www-omega.imag.fr) - Etude dun environnement de développement de
logiciels embarqués basé sur UML et des
techniques de vérification formelle. - Partenaires académiques et industriels.
- Nombreux travaux intégration de vérificateurs
comme SPIN ou UPPAAL. - A létude
- Traduction de modèles UML en langage IF
- Expression de propriétés SL à l'aide de
constructions UML.
31Intégration dans un environnement UML
- En cours
- Définition dune syntaxe abstraite d'UML
- Restrictions nécessaires et choix sémantiques
- Elaboration de règles formelles de
transformation UML vers IF. - Syntaxe UML choisie basée sur celle de l'outil
Rhapsody - Recherche dun langage plus accessible ou
intuitif pour l'expression des propriétés SL
(constructions UML) - Evaluation de techniques de transformation de
modèles - (MIA, MTL, )
32Outilllage
Etude de transformation de modèles (Projet
Amadeus)
33Plan
- Modèles formels
- Automates temporisés
- Automates de test et vérification
- Mise en oeuvre
- Intégration en environnement UML
- Conclusion et perspectives
34Conclusion et perspectives
- Travail méthodologique en cours
- technique de vérification de propriétés
temporisées via la manipulation d'automates de
test. - Expérimentations sur des protocoles de
communication simples - Complexité million de transitions (LTS).
- Poursuite de létude
- Atelier logiciel (groupement dutilitaires)
- Mettre en oeuvre les règles de transformation
des modèles UML - Cas réels de taille industrielle
- A cours terme, groupe de travail AIRBUS,
CS-SI, ONERA, ENSIETA - Sous-système logiciel embarqué (A380)
- Comparaison preuves avec SPIN et les A. de test.
35Conclusion et perspectives
- Ensemble d'outils complémentaires
- Intégrés dans un unique environnement (UML)
- pour être largement utilisés
- Basés sur une sémantique UML commune
- Comportant les concepts de référence pour la
validation. - Complémentaires opérations diverses pour
correction des modèles - réduction, abstraction, vérification de modèles,
- génération de test
36 Merci de votre attention Questions?