1Chapitre 2Spécification des protocolesMachines à étatsw3.uqo.ca/luigi
INF6001 Chap 2 2Exemple:un automate qui modè le le comportement d’unordinateur Au début il est en état éteint L’événemen...
INF6001 Chap 2 3Concept d’é tatLe concept d’état du système est une abstraction utileReprésente une instantanée (snapsho...
INF6001 Chap 2 4Machines à é tatsComportements possibles decette machine: Elle peut: Envoyer un message 1, Puis recevo...
INF6001 Chap 2 5Tableaux de transition d’é tatsétat 1 état 2état 3 état 4! 1? 2? 3? 5! 4!1 !4 ?2 ?3 ?51 3 22 43 44 2 5Mach...
INF6001 Chap 2 6Diffé rents modè les à é tatsLes machines à états, aussi appelés automates, sontun concept très utilisé e...
INF6001 Chap 2 7Systè mes de transitionLe concept le plus généralNous avons un ensemble d’états (pas nécess. fini) etune...
INF6001 Chap 2 8Systè mes de transition é tiqueté s (LTS, labeled transitionsystems)Les transitions sont nomméesétat 1 ét...
INF6001 Chap 2 9Utilisation des é tiquettesNous pouvons donner une signification aux étiquettes,p.ex. ?x Veut dire une e...
INF6001 Chap 2 10Notation+ et – sont aussi utilisés pour indiquer la réception oul’envoi d’un message, respectivement? e...
INF6001 Chap 2 11Machines de MealyChaque arête est étiquetée par une paireEntrée/SortieVoulant dire que quand une entrée ...
INF6001 Chap 2 12Machines de MoorePlus semblables aux systèmes de transitions étiquetésChaque arête est associé à un sym...
INF6001 Chap 2 13Le passage du temps dans lesmachinesEn principe, les transitions sont instantanéesLe temps passe quand ...
INF6001 Chap 2 14Machines communicantesUne machine à états peut définir un système entier ouune partie de systèmeSi elle...
INF6001 Chap 2 15Communication asynchrone Dans la communication asynchrone, les machines communiquent par descanaux pouva...
INF6001 Chap 2 16Modè les de machines à é tats finiscommunicantes asynchrones(appelé s aussi CSM ou CFSM, Communicating Fi...
INF6001 Chap 2 17Exé cution du systè me L’état global initial est l’ensemble de tous les états initiauxdes composants e...
INF6001 Chap 2 18Construction de la machine globale dusystè me Chaque état global du système spécifie: L’état des deux m...
Transitions possibles à l’é tat initial?INF6001 Chap 2 19……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Trans...
Transitions possibles?INF6001 Chap 2 20……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?41
Transitions possibles?INF6001 Chap 2 21……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4
Retrouver un é tat pré cé dentINF6001 Chap 2 22……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Après la trace:...
INF6001 Chap 2 23La machine globale du systè me (compositionasynchrone)<10,20>,<ε, ε><11,20>,<1, ε><11,21>,< ε, ε><11,20>,...
INF6001 Chap 2 24É quivalence d’é tatsPourquoi sommes-nous retournés à un état précédentaprès certaines transitions?Car ...
INF6001 Chap 2 25Machines globales finies et infiniesOn voit que C12 n’aura jamais plus de 2 messages etC21 jamais plus d...
INF6001 Chap 2 26INF6001 Chap 2Machines infiniesUne file peut grandir ‘à jamais’ Dans ce cas, il y aura (au moins) un ch...
INF6001 Chap 2 27Analyse d’accessibilitéLe processus d’obtenir la machine globale à partir desmachines locales s’appelle...
INF6001 Chap 2 28Critique du modè le de communicationasynchroneLe modèle de communication asynchrone représente bien lafa...
INF6001 Chap 2 29Repré sentation de canaux avec files non-FIFODeux manières: Représenter la perte ou autres dans une des...
INF6001 Chap 2 30Modè le de communication synchrone Dans le modèle synchrone, nous n’avons pas de canaux prédéfinis Les ...
INF6001 Chap 2 31Machine globale pour le cas synchrone(aussi appelé e composition synchrone)!1?3?2!4101112?1!3!2202122?4La...
INF6001 Chap 2 32Critique du modè le synchroneL’envoyeur et le récepteur sont bloqués ensemblependant l’exécution d’une o...
INF6001 Chap 2 33Ré lation entre les deux modè lesLe modèle synchrone peut modéliser le modèleasynchrone par l’utilisatio...
INF6001 Chap 2 34Conditions d’erreur dans les systè messynchrones Dans les systèmes synchrones, il y a essentiellement un...
INF6001 Chap 2 35Conditions d’erreur dans les systè mesasynchronesDans le cas asynch, il y a plusieurs cas d’erreur Impa...
INF6001 Chap 2 36Un CFSM trè s malade…!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a
INF6001 Chap 2 37Arbre d’accessibilité partiel<10,20>,< ε, ε ><11,20>,<a, ε> <10,21>,< ε,b><12,20>,<ac,ε> <11,21>,<a, b> <...
Ré ception non-spé cifié e bloquanteAprès la trace !b, ?b, !cINF6001 Chap 2 38!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?...
Impasse - deadlockINF6001 Chap 2 39<12,22>,< ε, ε >Les deux machines ne peuventrien envoyerEt il n’y a rien à recevoir dan...
Ré ception non spé cifié e non bloquanteINF6001 Chap 2 40!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a!a?d101112?b !c?b?b…...
INF6001 Chap 2 41Dans une seule feuille…<10,20>,< ε, ε ><11,20>,<a, ε> <10,21>,< ε,b><12,20>,< ac,ε> <11,21>,<a, b> <11,21...
INF6001 Chap 2 43Gé né ralisation au cas de plusieursmachines Jusqu’à présent, nous avons discuté le cas de 2 machines co...
INF6001 Chap 2 45Problè mes fondamentaux dansl’analyse des protocolesProblèmes d’indécidabilitéProblèmes d’explosion d’é...
INF6001 Chap 2 47Entrelacement d’é vé nements etexplosion d’é tats Malheureusement, même dans le cas de canaux bornés, no...
INF6001 Chap 2 48Calcul du nombre d’é tat globaux(Cas Asynchrone)Si nous composons deux machines de M et N états, nouspou...
INF6001 Chap 2 49Formule gé né rale de calculDonc pour deux machines de M et N états, deux canaux de longueur m et n, ...
INF6001 Chap 2 50Exemple – diapo suivanteDans le cas du protocole client-serveur déjà discuté, nousavons: M=N=3 p=2 (le...
INF6001 Chap 2 51INF6001 Chap 2 51La machine globale du systè me (composition asynchrone)<10,20>,<ε, ε><11,20>,<1, ε><11,2...
INF6001 Chap 2 52Analyse d’accessibilitéCas synchroneDans le cas synchrone, le nombre max d’états est leproduit des nombr...
INF6001 Chap 2 53En pratiqueMalgré la complexité élevée du problème de l’analysed’accessibilité, des logiciels optimisés ...
Prochain SlideShare
Chargement dans…5
×

Chap02 fsm-mpssr-ht

1 682 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 682
Sur SlideShare
0
Issues des intégrations
0
Intégrations
5
Actions
Partages
0
Téléchargements
0
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chap02 fsm-mpssr-ht

  1. 1. 1Chapitre 2Spécification des protocolesMachines à étatsw3.uqo.ca/luigi
  2. 2. INF6001 Chap 2 2Exemple:un automate qui modè le le comportement d’unordinateur Au début il est en état éteint L’événement allumer le met en état allumé L’événement CtrAltDel le met en état login L’événement login le fait passer à un des deux états: Login accepté Login refusé S’il accepte, l’événement clique sur icône Word le fait passer en état: prêt pourWordProcessing Noter: Ce qui précède est une abstraction. Certaines choses ne sont pas dites: p.ex.quel sera le résultat si CtrAltDel ne sont pas frappés simultanément On frappe CtrAltDel avant d’allumer On fait des erreurs de frappe pendant le login Etc.
  3. 3. INF6001 Chap 2 3Concept d’é tatLe concept d’état du système est une abstraction utileReprésente une instantanée (snapshot) du contenu dela machine à un moment donnéDéterminé par ce qui s’est produit dans la machineavantDétermine ce qui peut se produire dans le futurÉtat: global: état de tout le système dans son entièreté local: état d’une entité dans le systèmeTransitions d’état: événements qui causentchangements d’états
  4. 4. INF6001 Chap 2 4Machines à é tatsComportements possibles decette machine: Elle peut: Envoyer un message 1, Puis recevoir un message 3 Puis envoyer un 4 Recevoir un 5, etc. Ou Recevoir un message 2 Puis recevoir un message 5 Puis envoyer un message 4 etretourner à pouvoir recevoir 5,etc.L’état 5 est un état ‘final’! 4état 1 état 2état 3 état 4! 1? 2? 3? 5état 5? 2
  5. 5. INF6001 Chap 2 5Tableaux de transition d’é tatsétat 1 état 2état 3 état 4! 1? 2? 3? 5! 4!1 !4 ?2 ?3 ?51 3 22 43 44 2 5Machine partiellement spécifiée:Les transitions impossibles ne sont passpécifiées.Nous pouvons interpréter ces transitionscomme transitions à un état erreurétat 5? 2
  6. 6. INF6001 Chap 2 6Diffé rents modè les à é tatsLes machines à états, aussi appelés automates, sontun concept très utilisé en informatiqueUn bon nombre de défs existe, chacune avec sapropre théorie avec des légères différencesTous les modèles suivants sont utilisés dans laconception des protocoles, et aussi dans la conceptionde circuits
  7. 7. INF6001 Chap 2 7Systè mes de transitionLe concept le plus généralNous avons un ensemble d’états (pas nécess. fini) etune relation de successeur entre étatsExemple de s.d.t.:état 1 état 2état 3 état 4
  8. 8. INF6001 Chap 2 8Systè mes de transition é tiqueté s (LTS, labeled transitionsystems)Les transitions sont nomméesétat 1 état 2état 3 état 4ab c de
  9. 9. INF6001 Chap 2 9Utilisation des é tiquettesNous pouvons donner une signification aux étiquettes,p.ex. ?x Veut dire une entrée (input) d’une valeur x !y Veut dire une sortie (output) d’une valeur yétat 1 état 2état 3 état 4! 1? 2? 5! 4
  10. 10. INF6001 Chap 2 10Notation+ et – sont aussi utilisés pour indiquer la réception oul’envoi d’un message, respectivement? et ! sont plus utilisés récemment
  11. 11. INF6001 Chap 2 11Machines de MealyChaque arête est étiquetée par une paireEntrée/SortieVoulant dire que quand une entrée comme spécifié se vérifie, ily a la sortie spécifiée et la transition d’état a aussi lieuétat 1 état 2état 3 état 41/b2/a3/d5/c4/bQuand l’entité spécifiée reçoitun 2 en état 1, elle fait sortirun a et le système effectueune transition à l’état 2
  12. 12. INF6001 Chap 2 12Machines de MoorePlus semblables aux systèmes de transitions étiquetésChaque arête est associé à un symbole, qui dénote unévénement abstrait (une entrée,une sortie…) qui cause latransitionétat 1 état 2état 3 état 4badcb
  13. 13. INF6001 Chap 2 13Le passage du temps dans lesmachinesEn principe, les transitions sont instantanéesLe temps passe quand le système est dans un étatCependant il y a plusieurs variations à ce concept Différents types de machines temporisées
  14. 14. INF6001 Chap 2 14Machines communicantesUne machine à états peut définir un système entier ouune partie de systèmeSi elle définit une partie d’un système, elle seracomposée avec autres machinesPlusieurs méthodes de communications ont étéutiliséesNous en discuterons ici deux: Synchrones Asynchrones
  15. 15. INF6001 Chap 2 15Communication asynchrone Dans la communication asynchrone, les machines communiquent par descanaux pouvant contenir des primitives de communication (PDUs ouSDUs) Normalement modélisés par des files FIFO infinies et sans pertes dedonnées Ces canaux sont une abstraction pour le fournisseur de service sous-jacent Une machine peut donc mettre des données dans une file et continuer sontravail, peut être mettant d’autres données dans la même file plus tard L’autre machine prendra des données de la file quand elle le voudra.……CABCBAMachine A Machine BA BService Provider
  16. 16. INF6001 Chap 2 16Modè les de machines à é tats finiscommunicantes asynchrones(appelé s aussi CSM ou CFSM, Communicating Finite-state Machines)Machines à états finis communicantes à moyen de filesd’attentesP.Ex un client et serveur.1 requête d’accès2 permission d’accès3 refus d’accès4 terminaison d’accès……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4
  17. 17. INF6001 Chap 2 17Exé cution du systè me L’état global initial est l’ensemble de tous les états initiauxdes composants et l’ensemble de tous les contenusde files initiales Dans ce cas <10,20>,<ε, ε> ε file vide… Dans cet état, le seul événementqui peut se produire est l’envoi d’un1 par le client Il est mis dans la file, puis qui peutse produire est la réception de 1 dela part du serveurclient serveur……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertes…………!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4
  18. 18. INF6001 Chap 2 18Construction de la machine globale dusystè me Chaque état global du système spécifie: L’état des deux machines communicantes Le contenu des deux files Par exemple, au début les deux machines sont dans leur état initial Le seul premier événement possible est que le client met 1 dans la file et passe à l’étatsuivant, tandis que la deuxième machine reste sur son état Le serveur peut puis recevoir Après ça, le serveur peut envoyer un 3, ce qui change l’état global à <11,20>, avec un 3 dans la file de sortie du serveur ou un 2, ce qui change l’état global à <11,22>, avec un 2 dans la file de sortie du serveur Etc.……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21…………!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21C12C21?4
  19. 19. Transitions possibles à l’é tat initial?INF6001 Chap 2 19……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Transitions possibles à l’état initial?
  20. 20. Transitions possibles?INF6001 Chap 2 20……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?41
  21. 21. Transitions possibles?INF6001 Chap 2 21……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4
  22. 22. Retrouver un é tat pré cé dentINF6001 Chap 2 22……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Après la trace: !1, ?1, !3 nous nous retrouvons à l’état global suivant:3La seule transition possible nous ramène à un état déjà vu.
  23. 23. INF6001 Chap 2 23La machine globale du systè me (compositionasynchrone)<10,20>,<ε, ε><11,20>,<1, ε><11,21>,< ε, ε><11,20>,< ε, 3><11,22>,< ε, 2><12,22>,< ε, ε ><10,22>,< 4, ε ><11,22>,<[4,1], ε >……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21…………!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21C12C21!1?1!3!2?2!4!1?4?4ε : canal vide[4,1] :canal contenant 4 puis 1?4?3
  24. 24. INF6001 Chap 2 24É quivalence d’é tatsPourquoi sommes-nous retournés à un état précédentaprès certaines transitions?Car nous avons détecté que le nouveau état étaitéquivalent à un état déjà trouvé avantCar les deux machines sont dans les mêmes états etle contenu des canaux est le mêmePlus en général, deux états sont équivalents s’ilspermettent les mêmes séquences d’événements futurs
  25. 25. INF6001 Chap 2 25Machines globales finies et infiniesOn voit que C12 n’aura jamais plus de 2 messages etC21 jamais plus d’1Nous avons ici une machine globale qui est finie La machine globale d’un système n’est pas nécessairementfinie Nous pouvons avoir un nombre infini d’états si les filespeuvent grandir à longueurs arbitrairement grandes Le fait qu’une file puisse être infinie est une caractéristique àprendre en considération (nous verrons…)
  26. 26. INF6001 Chap 2 26INF6001 Chap 2Machines infiniesUne file peut grandir ‘à jamais’ Dans ce cas, il y aura (au moins) un chemin dans l’arbred’accessibilité dans lequel la machine pourra avoir unnombre toujours grandissant d’états. Dans ce chemin, la machine globale ne retournera jamais àun état déjà vu Donc, machine globale infinie.!a ?aLa machine dedroite n’est pasobligée à prendretout de suitecanaux
  27. 27. INF6001 Chap 2 27Analyse d’accessibilitéLe processus d’obtenir la machine globale à partir desmachines locales s’appelle Analyse d’accessibilité, reachability analysisLe graphe obtenu faisant l’analyse d’accessibilités’appelle Graphe d’accessibilité
  28. 28. INF6001 Chap 2 28Critique du modè le de communicationasynchroneLe modèle de communication asynchrone représente bien lafaçon de penser des ingénieurs de protocoles Envoyer et continuerPlusieurs langages et outils de spec et V&V utilisent ce modèle Notamment SDLCependant il peut fausser la réalité: Il force à mettre des files partout, même quand la communication devraitêtre directe Les files FIFO infinies et parfaites n’existent pas en réalité: Les médias de communication peuvent perdre des données etpeuvent permettre aux données de se chevaucher Surtout dans le cas de transmission sans connections Ils ne sont pas infinis, même si leur capacité peut être très grande
  29. 29. INF6001 Chap 2 29Repré sentation de canaux avec files non-FIFODeux manières: Représenter la perte ou autres dans une des deux machinescommunicantes, p.ex. dans le récepteur: Ou sinon définir les canaux avec un troisième processus,voir modèle synchrone?perte?réceptionDans ce cas le messageest ignoré
  30. 30. INF6001 Chap 2 30Modè le de communication synchrone Dans le modèle synchrone, nous n’avons pas de canaux prédéfinis Les entités communiques directement par un mécanisme de communicationpartagé La communication entre deux entités est un fait qui implique les deuxsimultanément Une entrée et une sortie deviennent une seule actionMécanisme decommunicationMachine A Machine B
  31. 31. INF6001 Chap 2 31Machine globale pour le cas synchrone(aussi appelé e composition synchrone)!1?3?2!4101112?1!3!2202122?4La combinaison de !1 et ?1 donne uneseule action 113210,2011,2112,224
  32. 32. INF6001 Chap 2 32Critique du modè le synchroneL’envoyeur et le récepteur sont bloqués ensemblependant l’exécution d’une opération en communPeu apprécié par les ingénieurs de télécom car ilssont plutôt habitués à penser en termes de envoyer-continuerUtilisé dans les algèbres de processus: CCS, CSP, LOTOS
  33. 33. INF6001 Chap 2 33Ré lation entre les deux modè lesLe modèle synchrone peut modéliser le modèleasynchrone par l’utilisation d’entités ‘canaux’intermédiairesLe modèle asynchrone avec files de longueur 0correspond au modèle synchronecanauxAB
  34. 34. INF6001 Chap 2 34Conditions d’erreur dans les systè messynchrones Dans les systèmes synchrones, il y a essentiellement une seule possibilité d’erreur, l’impasse(deadlock), le fait que il n’y a pas façon de sortir d’un état global Étant donné que normalement un système réparti est censé être toujours en fonctionnement, uneimpasse est considérée un problème!1?3?2!6101112?1!3!2202122?413210,2011,2112,22Impasse, pasd’état successeur
  35. 35. INF6001 Chap 2 35Conditions d’erreur dans les systè mesasynchronesDans le cas asynch, il y a plusieurs cas d’erreur Impasse = deadlock: un état accessible dans lequel tous lescanaux sont vides et aucun processus ne peut envoyer Réception non spécifiée: il y a un message au début d’uncanal qui ne peut pas être reçu car il n’y a pas de transitionappropriée (spec incomplète) Réception non-spécifiée bloquante: il y a une réception nonspécifiée et à cause de ça le système se trouve en impasse Transitions non-exécutables: pas une erreur bloquante, maispourrait être un symptome d’un problème de conception Etats non-exécutables: pas une erreur bloquante, maispourrait être un symptome d’un problème de conception
  36. 36. INF6001 Chap 2 36Un CFSM trè s malade…!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a
  37. 37. INF6001 Chap 2 37Arbre d’accessibilité partiel<10,20>,< ε, ε ><11,20>,<a, ε> <10,21>,< ε,b><12,20>,<ac,ε> <11,21>,<a, b> <11,21>,< ε, ε ><12,21>,<a, ε > <12,21>,< c, ε ><12,22>,< ε, ε >!a !betc. etc.!c !b?b?a?b!cImpasseCanaux vides,Aucune action possibleRéceptionsnon specifiées:a ne peut pasêtre reçu, mais il ya d’autres actionspossiblesRéception non specifiéebloquante: c ne peut pas êtrereçu et il n’y a pas d’autresactions possiblesa!
  38. 38. Ré ception non-spé cifié e bloquanteAprès la trace !b, ?b, !cINF6001 Chap 2 38!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a!a?d101112?b !c?b?b…………C12C21C12C2120212223?c!b?a!d?a<12,21>,< c, ε >Machine 2 ne peut pas recevoir le cMachine 1 ne peut rien envoyer, nirecevoirc
  39. 39. Impasse - deadlockINF6001 Chap 2 39<12,22>,< ε, ε >Les deux machines ne peuventrien envoyerEt il n’y a rien à recevoir dans lesfiles!!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a!a?d101112?b !c?b?b…………C12C21C12C2120212223?c!b?a!d?a
  40. 40. Ré ception non spé cifié e non bloquanteINF6001 Chap 2 40!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a!a?d101112?b !c?b?b…………C12C21C12C2120212223?c!b?a!d?a<12,20>,<ac,ε>La file C12 contient a au début maisla machine 2 est dans son état 20 etne peut pas le recevoirCeci ne bloque pas le système car lesdeux machines peuvent envoyer desmessagesPossibilité d’erreur, cas à étudierac
  41. 41. INF6001 Chap 2 41Dans une seule feuille…<10,20>,< ε, ε ><11,20>,<a, ε> <10,21>,< ε,b><12,20>,< ac,ε> <11,21>,<a, b> <11,21>,< ε, ε ><12,21>,<a, ε > <12,21>,< c, ε ><12,22>,< ε, ε >!a !betc. etc.!c !b?b?a?b!cImpasseRéceptionsnon specsRéceptionsnon specbloquante<10,20>,< ε, ε ><11,20>,<a, ε> <10,21>,< ε,b><12,20>,< ac,ε> <11,21>,<a, b> <11,21>,< ε, ε ><12,21>,<a, ε > <12,21>,< c, ε ><12,22>,< ε, ε >!a !betc. etc.!c !b?b?a?b!cImpasseRéceptionsnon specsRéceptionsnon specbloquante!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a!a?d101112?b !c?b?b…………C12C21C12C2120212223?c!b?a!d?a
  42. 42. INF6001 Chap 2 43Gé né ralisation au cas de plusieursmachines Jusqu’à présent, nous avons discuté le cas de 2 machines communicantes Les mêmes idées peuvent être généralisées au cas de 3, 4, … machinescommunicantes Tant dans le cas de composition synchrone, que asynchrone Et effectivement, tout système de protocoles a besoin d’au moins 4machines pour pouvoir être exprimé complètement:Usager AProtocoleProtocoleUsager B Les machines pour lesusagers pourraient êtreextrêmement simples:Prendre des données,les utiliser, prendre,utiliser…
  43. 43. INF6001 Chap 2 45Problè mes fondamentaux dansl’analyse des protocolesProblèmes d’indécidabilitéProblèmes d’explosion d’états
  44. 44. INF6001 Chap 2 47Entrelacement d’é vé nements etexplosion d’é tats Malheureusement, même dans le cas de canaux bornés, nous aurons toujoursl’explosion d’états, à cause du besoin de considérer toutes les possibilitésd’entrelacement d’événements qui ne sont pas directement reliés P. ex. considérer toutes les possibilités d’entrelacement d’exécution de 2 machinesde 2 états. Et ce nombre monte de façon exponentielle!ABXY!m !nA,XB,XB,YA,Y!m!m!n!nDeux scénarios possibles
  45. 45. INF6001 Chap 2 48Calcul du nombre d’é tat globaux(Cas Asynchrone)Si nous composons deux machines de M et N états, nouspourrions avoir pour ce fait MxN étatsCeci se trouve augmenté par le nombre de configurationspossibles des deux canaux Pour calculer ce dernier, il faut faire une hypothèse concernant leurlongueur maximaleUn canal de dimension maximale 1 et avec p messagespossibles peut être ou bien vide ou bien contenir un desmessages Ceci fait p0+p1possibilitésUn canal de dimension maximale 2 et avec p messagespossibles peut être vide, ou peut contenir un message, ou peutcontenir 2 messages Ceci fait p0+p1+p2possibilités
  46. 46. INF6001 Chap 2 49Formule gé né rale de calculDonc pour deux machines de M et N états, deux canaux de longueur m et n, pouvant contenir respectivement p et q messages différents, le nombre maximal d’états possibles est:Ceci implique que la construction de la machineglobale en principe est un problème de complexitéexponentielleM x N x (p0+p1+...+pm) x (q0+q1+...+qn)
  47. 47. INF6001 Chap 2 50Exemple – diapo suivanteDans le cas du protocole client-serveur déjà discuté, nousavons: M=N=3 p=2 (les deux messages sont 1 et 4) q=2 (les deux messages sont 3 et 2) Supposant qu’on sache que : Le canal C12 ne sera jamais plus long de2 Le canal C21 ne sera jamais plus long de 1Le nombre maximum total d’états est:3 x 3 x (20+21+22) x (20+21) = 9 x 7 x 3 = 189Dont seulement 8 sont accessibles comme nous avons vu.
  48. 48. INF6001 Chap 2 51INF6001 Chap 2 51La machine globale du systè me (composition asynchrone)<10,20>,<ε, ε><11,20>,<1, ε><11,21>,< ε, ε><11,20>,< ε, 3><11,22>,< ε, 2><12,22>,< ε, ε ><10,22>,< 4, ε ><11,22>,<[4,1], ε >……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21…………!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21C12C21!1?1!3!2?2!4!1?4?4ε : canal vide[4,1] :canal contenant 4 puis 1?4?3
  49. 49. INF6001 Chap 2 52Analyse d’accessibilitéCas synchroneDans le cas synchrone, le nombre max d’états est leproduit des nombre des états des machinescommunicantesCependant il faudra avoir plus de machines, car ilfaudra représenter les canaux en utilisant desmachines additionnellescanauxAB
  50. 50. INF6001 Chap 2 53En pratiqueMalgré la complexité élevée du problème de l’analysed’accessibilité, des logiciels optimisés disponiblesaujourd’hui permettent de construire le graphed’accessibilité de protocoles réels Centaines de millions d’états

×