IFT734: Méthodes formelles de spécification professeur Marc Frappier. Survol rapide de CSP pour la vérification de propriétés

Documents pareils
LASTO Appuis élastomère

La rentabilité des investissements

Stabilisation des systèmes bilinéaires fractionnaires

2. Quelle est la valeur de la prime de l option américaine correspondante? Utilisez pour cela la technique dite de remontée de l arbre.

Exemples de résolutions d équations différentielles

S euls les flux de fonds (dépenses et recettes) définis s ent l investissement.

Recueil d'exercices de logique séquentielle

VA(1+r) = C 1. VA = C 1 v 1

Intégration de Net2 avec un système d alarme intrusion

Chapitre 2 L investissement. . Les principales caractéristiques de l investissement

L'algèbre de BOOLE ou algèbre logique est l'algèbre définie pour des variables ne pouvant prendre que deux états.

Les circuits électriques en régime transitoire

Rappels théoriques. -TP- Modulations digitales ASK - FSK. Première partie 1 INTRODUCTION

Calculer comment se constituer un capitale ; Calculer comment rembourser une dette en effectuant des versements réguliers.

MATHEMATIQUES FINANCIERES

Chapitre IV Les oscillations couplées «Les oscillations libres d un système à plusieurs degrés de liberté»

CARACTERISTIQUES STATIQUES D'UN SYSTEME

ANNEXES. André de Palma et Cédric Fontan. Thema Transport & Réseaux. Le 26 octobre 2000

STI2D Logique binaire SIN. L' Algèbre de BOOLE

Files d attente (1) F. Sur - ENSMN. Introduction. 1 Introduction. Vocabulaire Caractéristiques Notations de Kendall Loi de Little.

Chapitre 2 Le problème de l unicité des solutions

Texte Ruine d une compagnie d assurance

Annuités. I Définition : II Capitalisation : ( Valeur acquise par une suite d annuités constantes ) V n = a t

Réseau de coachs. Vous êtes formés dans les métiers du sport et/ou de la préparation physique (Brevet d état, Licence, Master STAPS)

Caractéristiques des signaux électriques

TD/TP : Taux d un emprunt (méthode de Newton)

n 1 LES GRANDS THÈMES DE L ITB > 2009 Les intérêts simples et les intérêts composés ( ) C T D ( en mois)

Synthèse de cours (Terminale S) Calcul intégral

Probabilités sur un univers fini

Sommaire de la séquence 12

Module 2 : Déterminant d une matrice

Calcul Stochastique 2 Annie Millet

Le mode de fonctionnement des régimes en annuités. Secrétariat général du Conseil d orientation des retraites

Cours d électrocinétique :

Les soutiens publics à l exportation

Intégrales généralisées

Techniques d analyse de circuits

TB 352 TB 352. Entrée 1. Entrée 2

Ned s Expat L assurance des Néerlandais en France

MIDI F-35. Canal MIDI 1 Mélodie Canal MIDI 2 Basse Canal MIDI 10 Batterie MIDI IN. Réception du canal MIDI = 1 Reproduit la mélodie.

Compte rendu de la validation d'un observateur cascade pour la MAS sans capteurs mécaniques sur la plate-forme d'essai de l'irccyn

Documentation Technique de Référence Chapitre 8 Trames types Article

Estimation des matrices de trafics

CHAPITRE 13. EXERCICES a) 20,32 ± 0,055 b) 97,75 ± 0,4535 c) 1953,125 ± 23, ±0,36π cm 3

Finance 1 Université d Evry Val d Essonne. Séance 2. Philippe PRIAULET

Université Technique de Sofia, Filière Francophone d Informatique Notes de cours de Réseaux Informatiques, G. Naydenov Maitre de conférence, PhD

6. Les différents types de démonstrations

Influence du milieu d étude sur l activité (suite) Inhibition et activation

PHY2723 Hiver Champs magnétiques statiques. Notes partielles accompagnant le cours.

Relation entre la Volatilité Implicite et la Volatilité Réalisée.

Séquence 8. Probabilité : lois à densité. Sommaire

Algorithmes sur les mots (séquences)

LE PARADOXE DES DEUX TRAINS

Chapitre 11 : L inductance

Sciences Industrielles pour l Ingénieur

Les solutions solides et les diagrammes d équilibre binaires. sssp1. sssp1 ssss1 ssss2 ssss3 sssp2

F 2 = - T p K F T = - T p K 0 - K 0

EVALUATION DE LA FPL PAR LES APPRENANTS: CAS DU MASTER IDS

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

EFFICIENCE INFORMATIONNELLE DES UNE VERIFICATION ECONOMETRIQUE MARCHES DE L OR A PARIS ET A LONDRES, DE LA FORME FAIBLE

THÈSE. Pour l obtention du grade de Docteur de l Université de Paris I Panthéon-Sorbonne Discipline : Sciences Économiques

TSM EVOLUTION > SYSTÈME DE DÉTECTION INCENDIE ADRESSABLE ET CONVENTIONNEL ADR

Toyota Assurances Toujours la meilleure solution

100 % gratuit. inédit.

Chapitre 3: TESTS DE SPECIFICATION

Programmation, organisation et optimisation de son processus Achat (Ref : M64) Découvrez le programme

Modèles de dimensionnement et de planification dans un centre d appels

CH.6 Propriétés des langages non contextuels

LOGICIEL FONCTIONNEL EMC VNX

Molécules et Liaison chimique

ManSafe. pour les Utilitiés. La Protection antichute pour les Industries de l'energie. Français. TowerLatch LadderLatch

LITE-FLOOR. Dalles de sol et marches d escalier. Information technique

Intégrale et primitives

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

N Juin. Base de données CHELEM commerce international du CEPII. Alix de SAINT VAULRY

Portiers audio et vidéo ABB-Welcome et ABB-Welcome M

Bienvenue. au Collège Montmorency. Présentation destinée aux nouveaux admis

Electrovanne double Dimension nominale Rp 3/8 - Rp 2 DMV-D/11 DMV-DLE/11

NUMERISATION ET TRANSMISSION DE L INFORMATION

Université Paris-Dauphine DUMI2E 1ère année, Applications

Tout ce qu il faut savoir en math

Utilisation des tableaux sémantiques dans les logiques de description

Correction de l épreuve CCP 2001 PSI Maths 2 PREMIÈRE PARTIE ) (

Notes de révision : Automates et langages

PREMIÈRE PARTIE LIQUIDITÉ ET MICROSTRUCTURE. La Liquidité - De la Microstructure à la Gestion du Risque de Liquidité

AMPLIFICATEUR OPERATIONNEL EN REGIME NON LINEAIRE

Statuts ASF Association Suisse Feldenkrais

semestre 3 des Licences MISM annnée universitaire

Exprimez-vous lors du choix de vos pneus:

CANAUX DE TRANSMISSION BRUITES

BILAN EN ELECTRICITE : RC, RL ET RLC

Suites numériques 3. 1 Convergence et limite d une suite

A - REGLEMENTATION. B - ALARMES INCENDIE S.S.I. ; Systèmes de Sécurité Incendie de catégories A à E C - ALARMES TECHNIQUES D - ALARMES VOL

ECVET GUIDE POUR LA MOBILITÉ

- Phénoméne aérospatial non identifié ( 0.V.N.I )

Les Comptes Nationaux Trimestriels

Séquence 2. Pourcentages. Sommaire

Fonction dont la variable est borne d intégration

La médiatrice d un segment

Qu est-ce qu une probabilité?

Transcription:

Universié de Sherrooke Fculé des sciences Dépremen d informique IFT734: Méhodes formelles de spécificion professeur Mrc Frppier Survol rpide de CSP pour l vérificion de propriéés 1 Rppel des définiions 1. Σ dénoe les cions oservles du sysème. 2. Σ dénoe oues les rces générées à prir de Σ (ie, l fermeure de Kleene) 3. τ dénoe une cion inerne, non oservle pr l environnemen. 4. dénoe l erminison vec succès d un processus. Prfois dénoé δ dns mes noes de cours. 5. A = A { }. 6. A τ = A {τ}. 7. BE dénoe l ensemle des expressions de processus. 8. B µ B dénoe que l expression de processus B peu exécuer µ e se rnsformer en B. µ 9. B dénoe que B ne peu exécuer µ. 10. CHAOS(A) = ( x : A @ x CHAOS(A)) STOP 11. µ s = µ s 12. s µ = s µ 1

Sémnique opérionnelle de CSP - règles d inférence Noe: P X Q es noé ici P [ X ] Q comme dns l version ASCII de CSP. P P SKIP Ω SKIP P Q τ P 1 P Q τ Q 2 P P Q τ P τ P Q 1 Q P Q τ Q τ P Q 2 P σ P σ τ Q σ Q σ τ P Q σ P 3 P Q σ Q 4 σ P P σ P ; Q σ P ; Q ; 1 P P P ; Q τ Q ; 2 P σ P σ B { } P \ B σ P \ B P P \ 1 P \ B Ω \ 2 σ P P σ B P \ B τ P \ B \ 3 σ P P P [ X ] Q σ X { } σ P [ X ] Q [ ] 1 σ Q Q σ X { } P [ X ] Q σ P [ X ] Q [ ] 2 P σ P Q σ Q σ X P [ X ] Q σ P [ X ] Q [ ] 3 P P P [ X ] Q τ Ω [ X ] Q [ ] 4 Q Q P [ X ] Q τ P [ X ] Ω [ ] 5 Ω [ X ] Ω Ω [ ] 6 Definiion 1 L fermeure rnsiive e reflexive de l relion de rnsiion, noée, es un sous-ensemle de l espce BE (Σ τ ) BE e elle es définie comme sui. Soien B, B BE des expressions de processus, s (Σ τ ) une séquence e µ Σ τ une cion. 1. B ɛ B 2. B µ s B B : B µ B B s B 2

Definiion 2 L resricion d une séquence s ux élémens d un ensemle A es noée s A e définie comme sui. A = u A (u s) A = u (s A) u A (u s) A = s A Definiion 3 L fermeure rnsiive e reflexive de l relion de rnsiion resreine ux cions oservles, noée =, es un sous-ensemle de l espce BE (Σ ) BE e elle es définie comme sui. Soien B, B BE des expressions de processus e s (Σ τ ). B s Σ = B B s B Definiion 4 Une relion R sur l espce BE es une isimulion file ssi elle sisfi l condiion suivne. B 1, B 2 BE, s (Σ ) : (B 1, B 2 ) R ( B 1 : B s 1 = B 1 B 2 : B s 2 = B 2 (B 1, B 2 ) R) ( B 2 : B s 2 = B 2 B 1 : B s 1 = B 1 (B 1, B 2 ) R) Definiion 5 Deux expressions de processus B 1, B 2 son dies équivlenes pr oservion, noée B 1 B 2, ssi il exise une isimulion R elle que (B 1, B 2 ) R. L figure 1 illusre l noion de isimulion file. Les expressions P 5 e P 6 son reliées pr une isimulion. Les pires de cee isimulion son représenées pr les noeuds reliés pr une ligne poinillée. On peu donc conclure que P 5 es équivlen pr oservion à P 6. De l même mnière, P 7 e P 8 son ussi reliés pr une isimulion, e son donc équivlen pr oservion. Touefois, on noe que P 8 peu diverger en exécun une oucle infinie sur l cion inerne τ. L noion d équivlence pr oservion ne ien ps compe de ce phénomène. Voici les lois de congruence pour l équivlence pr oservion. Soien B, C, D BE des expressions de processus e µ + Σ τ une cion. B C c C B (1) B (C D) c (B C ) D (2) B B c B (3) B sop c B (4) µ + Skip; B c µ + B (5) B (Skip; B) c Skip; B (6) µ + (B Skip; C ) µ + C c µ + (B Skip; C ) (7) 3

P5 P6 P7 P8 Figure 1: Exemples de isimulion Definiion 6 Un échec sle (sle filure) d un processus P es une pire (s, X ) elle que 1. P P s = τ P P P (ie, P es sle) 2. X P (ie, P refuse chque élémen de X ). On noe filures(p) = {(s, X ) (s, X ) es un échec sle de P}. On noe rces(p) = {s s Σ P P = s P }. Definiion 7 Rffinemen: on di que P es rffiné pr rces pr P, noé P T comme sui: P, e défini P T P rces(p) rces(p ). On di que P es rffiné pr échecs sles pr P, noé P F P, e défini comme sui: On noe insi que P F P filures(p) filures(p ). P 1 = T P 2 P 1 T P 2 P 2 T P 1 P 1 = F P 2 P 1 F P 2 P 2 F P 1 L figure 2 illusre le rffinemen pr rce e pr échec sle. On noe que P 1, P 2, P 3 e P 4 son équivlens pr rce (ie, ils on les mêmes rces). Le processus P 0 rffine pr rce chcun de ces processus. P 1 = T P 2 = T P 3 = T P 4 T P 0 Qun u rffinemen pr échec sle, P 2, P 3 e P 4 son équivlens, e ils son rffinés pr P 0 e P 1. Noons que P 0 F P 1 e P 1 F P 0, cr leurs échecs sles son différens. P 2 = F P 3 = F P 4 F P 0, P 1 4

P0 S-{} P1 P2 P3 S-{} S-{} P4 S-{} S-{} S-{,c} S-{} S-{c} S-{} c c S-{} S S S S S S-{} c S-{c} S-{} c S-{c} S S S S Figure 2: Processus vec idenificions des échecs On filures(p 2 ) = filures(p 3 ) = filures(p 4 ) = { } (, Σ {}), (, Σ {}), (, Σ {c}), (,, Σ), (, c, Σ) e filures(p 0 ) = { } (, Σ {}), (, Σ {}), (,, Σ) e filures(p 1 ) = { } (, Σ {}), (, Σ {, c}), (,, Σ), (, c, Σ) Noons que pr convenion e souci de concision, on ne menionne ps dns l ensemle un échec sle (, S) si (, S ) e S S, pr soucis de concision. On donc filures(p 2 ) = filures(p 3 ) = filures(p 4 ) filures(p 0 ), filures(p 1 ) On voi que P 0 rffine P 2, P 3 e P 4 en réduisn le nomre de rces, ou en yn les mêmes refus pour chque rce. On voi que P 1 rffine P 2, P 3 e P 4 en yn les mêmes rces, mis en réduisn le nomre de refus, cr Σ {, c} Σ {}, Σ {c}; P 1 es donc plus déerminise que P 2, P 3 e P 4. 2 Vérificion de propriéés vec FDR2 L ouil FDR2 peu vérifier des sserions de rffinemen pr rces e pr échecs sles. Pour vérifier une propriéé de sûreé pour un processus P en représenn l propriéé pr un ure processus, disons Prop, e en monrn que Prop T P. Le processus Prop représene les rces cceples selon l propriéé e on vérifie insi que P n que des rces cceples selon cee propriéé. Si l propriéé ne pore que sur des événemens de A, on vérifie lors Prop T P \ (Σ A). Pour vérifier une propriéé de vivcié, on uilise le rffinemen pr échec sle. Pr exemple, supposons que l on veuille prouver l propriéé suivne. 5

S-{} S-{} S-{,} S-{,c} S-{,d} S S c d S S S S S S Figure 3: Propriéé immédiemen suivi pr. Le sysème peu fire un immédiemen près un. On peu spécifier cee propriéé en CSP comme sui: Spec = -> ( -> STOP [] CANREFUSE({,c,d})) CANREFUSE(S) = ( ~ x:s @ x -> STOP ) ~ STOP L rre de rnsiion du processus Spec es illusré dns l figure 3. Les refus son indiqués dns un ovle pour chque é sle (ie, é sns rnsiion sorne sur τ) Pour l rce, on les échecs sles suivns: 1. (, Σ {}) 2. (, Σ {, }) 3. (, Σ {, c}) 4. (, Σ {, d}) Donc, un rffinemen de ce processus doi cceper immédiemen près un, puisque chque ensemle de refus près ne comprend ps (ie, on ne refuse jmis ). Il es possile de refuser, c ou d (d où l inérê d uiliser CANREFUSE({,c,d}) dns Spec). Noons ussi qu un rffinemen de Spec: doi cceper dès l é iniil, cr on le refus (, Σ {}) peu cceper les rces,,,,, c,, d, mis il n es ps oligé; il peu cceper seulemen, s il le veu. Le processus Spec es rffiné pr échec sle pr Min2 e Min3, mis ps pr Min1. Min1 = -> STOP Min2 = -> ( -> STOP [] c -> STOP) Min3 = -> -> STOP sser Spec [F= Min1 -- FAUX : Min1 ne peu cceper sser Spec [F= Min2 -- VRAI : Min2 peu cceper e ure chose sser Spec [F= Min3 -- VRAI : Min3 peu cceper 6

Considérons minenn l propriéé suivne: Le sysème peu fire un près un. Noons que cee propriéé n impose ps que surviennen immédiemen près. Considérons le sysème suivn Min4 = (( -> P ; -> STOP) Q) P = c -> P [] SKIP Q = d -> d -> Q [] STOP On peu spécifier cee propriéé en CSP comme sui: Spec2 = -> -> STOP en vérifin l sserion suivne sser Spec2 CHAOS({d}) [F= Min4 \ {c} On msque les événemens survenn enre e, c es-à-dire c, e on fi un enrelcemen vec CHAOS({d}) pour fire srcion de Q. On noe que l spécificion de l propriéé en CSP doi prendre en compe l srucure du sysème à vérifier; ce n es ps le cs lorsqu on uilise une logique emporelle comme LTL ou CTL pour spécifier les propriéés, ou ien des prédics sur les rces comme en Alloy. Le pron à uiliser pour écrire un processus représenn une propriéé découle de l monoonicié des opéreurs de CSP pr rppor à T e F. On peu l exprimer comme sui: soi Ξ(X ) une expression de processus CSP comprenn l vrile X qui dénoe une expression de processus. L expression Ξ(P 1 ) dénoe le remplcemen de X pr P 1 dns Ξ. P 1 T P 2 Ξ(P 1 ) T Ξ(P 2 ) P 1 F P 2 Ξ(P 1 ) F Ξ(P 2 ) Cel signifie qu en rffinn une composne (ie, un sous-processus) C d un processus P, on rffine du même coup P. On ussi que, pour ou P e Q CHAOS F P P Q F P P Q F Q On voi donc que Spec éé consrui en considérn Min2 e Min3 e l monoonicié. Puisque CANREFUSE({, c, d}) F ( x : S x) vec S {, c, d}, on que ( STOP CANREFUSE({, c, d}) F Min2, Min3 7

L expression suivne es un pron fréquen: Prop CHAOS(B) F P \ C où B dénoe les cions où Prop n impose ps d ordre priculier, e C son les cions qui surviennen enre les cions de Prop dns P, mis don on ne veu ps enir compe dns Prop, pr souci de simplicié. On peu ussi vérifier qu un processus P ccepe une rce s = σ 1, σ 2,... de l mnière suivne P T σ 1 σ 2... STOP Cel ne grni ps que cee rce es oujours possile, à cuse du non-déerminisme qui pourri survenir dns P (ie, choix inerne, ec). Une possiilié es d uiliser le pron suivn Spec3 = ANYBUT(SIGMA,) [] -> ( ANYBUT(SIGMA,) [] -> ( ANYBUT(SIGMA,c) [] c -> CHAOS(SIGMA) )) ANYBUT(S,x) = ( ~ y : diff(s,{x}) @ y -> CHAOS(S)) ~ STOP Min5 = -> -> c -> STOP [] -> c -> STOP Min6 = -> -> c -> STOP [] -> c -> STOP Min7 = -> ( -> c -> STOP ~ d->stop) sser Spec3 [F= Min5 -- VRAI sser Spec3 [F= Min6 -- FAUX : près peu refuser, -- à cuse du nondéerminisme de Min6 sser Spec3 [F= Min7 -- FAUX : près peu refuser, -- à cuse du nondéerminisme de Min7 Ces exemples son disponiles dns le fichier fd-ref-exemple-v2.csp. Pour d ures exemples, voir le fichier properies.csp qui donne des propriéés vérifiées sur l spécificion de l iliohèque. Noons finlemen que FDR2 perme de vérifier qu un processus ne conien ps d impsse (ie, dedlock, un é où ucune rnsiion n es possile) e de oucle infinie sur τ (ie, livelock). 8