1Chapitre 3Machines à é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 ...
Spec partielle du comportement d’un té lé ph.dé crit comme machine de MealyIdleDialingOffHookDialTonePathActiveDialDIgitsC...
INF6001 Chap 2 13Le service TCP dé crit comme machine deMealyhttp://www.ssfnet.org/Exchange/tcp/tcpTutorialNotes.htmlQuelq...
INF6001 Chap 2 15Ceci est une application du concept de:Établissement en trois étapes: Three-way handshake Client: Je su...
INF6001 Chap 2 16Machines de MoorePlus semblables aux systèmes de transitions étiquetésChaque arête est associé à un sym...
INF6001 Chap 2 17T-ConReqT-ConConfT-ConIndT-ConRespA BConnexion avec Succès ABT-ConReqT-DiscIndT-ConIndT-DiscReqA BConnex...
INF6001 Chap 2 18Le service de transport OSI dé critcomme machine de Moore (un seul T-SAP)IdleIncomingConnectionPendingOut...
Le protocole Transport OSIdé crit comme machine de MealyINF6001 Chap 2 20(Notes de cours du Prof. Bochmann)Très simplifié!
21Service TCP (Machine Mealy)
INF6001 Chap 2 22Le passage du temps dans lesmachinesEn principe, les transitions sont instantanéesLe temps passe quand ...
INF6001 Chap 2 23Machines communicantesUne machine à états peut définir un système entier ouune partie de systèmeSi elle...
INF6001 Chap 2 24Communication asynchrone Dans la communication asynchrone, les machines communiquent par descanaux pouva...
INF6001 Chap 2 25Modè les de machines à é tats finiscommunicantes asynchrones(appelé s aussi CSM ou CFSM, Communicating Fi...
INF6001 Chap 2 26Exé cution du systè me L’état global initial est l’ensemble de tous les étatsinitiaux des composants e...
INF6001 Chap 2 27Construction 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 28……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Trans...
Transitions possibles?INF6001 Chap 2 29……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?41
Transitions possibles?INF6001 Chap 2 30……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4
Retrouver un é tat pré cé dentINF6001 Chap 2 31……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Après la trace:...
INF6001 Chap 2 32La machine globale du systè me (compositionasynchrone)<10,20>,<ε, ε><11,20>,<1, ε><11,21>,< ε, ε><11,20>,...
INF6001 Chap 2 33É quivalence d’é tatsPourquoi sommes-nous retournés à un état précédentaprès certaines transitions?Car ...
INF6001 Chap 2 34Machines globales finies et infiniesOn voit que C12 n’aura jamais plus de 2 messages etC21 jamais plus d...
INF6001 Chap 2 35INF6001 Chap 2Machines infiniesUne file peut grandir ‘à jamais’ Dans ce cas, il y aura (au moins) un ch...
INF6001 Chap 2 36Analyse d’accessibilitéLe processus d’obtenir la machine globale à partir desmachines locales s’appelle...
INF6001 Chap 2 37Critique du modè le de communicationasynchroneLe modèle de communication asynchrone représente bien lafa...
INF6001 Chap 2 38Repré sentation de canaux avec files non-FIFODeux manières: Représenter la perte ou autres dans une des...
INF6001 Chap 2 39Modè le de communication synchrone Dans le modèle synchrone, nous n’avons pas de canaux prédéfinis Les ...
INF6001 Chap 2 40Machine globale pour le cas synchrone(aussi appelé e composition synchrone)!1?3?2!4101112?1!3!2202122?4La...
INF6001 Chap 2 41Critique du modè le synchroneL’envoyeur et le récepteur sont bloqués ensemblependant l’exécution d’une o...
INF6001 Chap 2 42Ré lation entre les deux modè lesLe modèle synchrone peut modéliser le modèleasynchrone par l’utilisatio...
INF6001 Chap 2 43Conditions d’erreur dans les systè messynchrones Dans les systèmes synchrones, il y a essentiellement un...
INF6001 Chap 2 44Conditions d’erreur dans les systè mesasynchronesDans le cas asynch, il y a plusieurs cas d’erreur Impa...
INF6001 Chap 2 45Un CFSM trè s malade…!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a
INF6001 Chap 2 46Arbre 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 47!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?...
Impasse - deadlockINF6001 Chap 2 48<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 49!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a!a?d101112?b !c?b?b…...
INF6001 Chap 2 50Dans une seule feuille…<10,20>,< ε, ε ><11,20>,<a, ε> <10,21>,< ε,b><12,20>,< ac,ε> <11,21>,<a, b> <11,21...
INF6001 Chap 2 52Gé né ralisation au cas de plusieursmachines Jusqu’à présent, nous avons discuté le cas de 2 machines co...
INF6001 Chap 2 54Problè mes fondamentaux dansl’analyse des protocolesProblèmes d’indécidabilitéProblèmes d’explosion d’é...
INF6001 Chap 2 55Problè mes d’indé cidabilitéUne des conséquences de l’insolvabilité du problème de l’arrêtde machines de...
INF6001 Chap 2 56Entrelacement d’é vé nements etexplosion d’é tats Malheureusement, même dans le cas de canaux bornés, no...
INF6001 Chap 2 57Calcul du nombre d’é tat globaux(Cas Asynchrone)Si nous composons deux machines de M et N états, nouspou...
INF6001 Chap 2 58Formule gé né rale de calculDonc pour deux machines de M et N états, deux canaux de longueur m et n, ...
INF6001 Chap 2 59Exemple – diapo suivanteDans le cas du protocole client-serveur déjà discuté, nousavons: M=N=3 p=2 (le...
INF6001 Chap 2 60INF6001 Chap 2 60La machine globale du systè me (composition asynchrone)<10,20>,<ε, ε><11,20>,<1, ε><11,2...
INF6001 Chap 2 61Analyse d’accessibilitéCas synchroneDans le cas synchrone, le nombre max d’états est leproduit des nombr...
INF6001 Chap 2 63En pratiqueMalgré la complexité élevée du problème de l’analysed’accessibilité, des logiciels optimisés ...
INF6001 Chap 2 66QuestionDans le modèle asynchrone, pouvons-nous admettre que deuxévénements, c’est-à dire deux transitio...
Process P1 Process P2031201 23!1?4?3!2?3?3?3!3?2?1?1?1!4Reachability Analysis ExampleBoth Processes initially at state ”0”...
0 EE 00 E3 11 EE 12 2E 11 13 12 1,23 11 1E 01 EE 22 1E 12 EE 20 1,2E 1P1!1 P2!3P1?3P1!1P2?1!3!2P1?3 P1!2?3P2?1P1!2P2?1SS0S...
Example: Alternating bit protocol It is a flow control ProtocolPHYSICAL LAYERSENDER RECEIVERn nu uChapter 2: Protocol spe...
Alternating Bit Protocol… ASPs for Sender Entity Send_Request Send_Confirm PDUs for Sender DT0 DT1 ASPs for Receive...
Alternating Bit Protocol… Initially Sender is in READY state⇒ At this state, the only possible input is Send_requestThe ...
Alternating Bit Protocol… At state WFACK0; the normal input expected isACK0 PDU at the connection point n;⇒ This means th...
Alternating Bit Protocol-Sender FSMREADY WFACK0 READY2 WFACK1u.Send_Req WFACK0 WFACK1n.DT0 n.DT1n.ACK0 READY2 WFACK1u.Send...
Alternating Bit Protocol-Sender FSM…READY1READY0WFACK1WFACK0u.send_req./n.DT0n.ACK1/u.send_conf.n.ACK0/u.send_conf.n.ACK0/...
Alternating Bit Protocol-Receiver FSMWF_Resp1WF_Resp0Ready0Ready1u.Response/n.ACK0n.DT0/u.Indicationn.DT1/u.Indicationn.DT...
Process P1 Process P2031201 23!1?4?3!2?3?3?3!3?2?1?1?1!4Perturbation Analysis ExampleBoth Processes initially at state ”0”...
0 EE 00 E3 11 EE 12 2E 11 13 12 1,23 11 1E 01 EE 22 1E 12 EE 20 1,2E 1P1!1 P2!3P1?3P1!1P2?1!3!2P1?3 P1!2?3P2?1P1!2P2?1SS0S...
Alternating Bit Protocol-Reachability AnalysisR2S!ACK0R2S!ACK1S2R?DT1R2S?ACK0SR0RR0EES2R!DT0SW0RR0DT0ES2R?DT0SW0RW0EESW0RR...
Prochain SlideShare
Chargement dans…5
×

Ch3 ing

3 497 vues

Publié le

  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Ch3 ing

  1. 1. 1Chapitre 3Machines à é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 différentes existe, chacun avecsa propre 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. Spec partielle du comportement d’un té lé ph.dé crit comme machine de MealyIdleDialingOffHookDialTonePathActiveDialDIgitsClicksRingingOnHookClickCallAlertStartRingingOffHookStopRing
  13. 13. INF6001 Chap 2 13Le service TCP dé crit comme machine deMealyhttp://www.ssfnet.org/Exchange/tcp/tcpTutorialNotes.htmlQuelques états n’ontpas de sortie
  14. 14. INF6001 Chap 2 15Ceci est une application du concept de:Établissement en trois étapes: Three-way handshake Client: Je suis prêt à envoyer (SYN) Serveur: D’accord (SYN+ACK) Client: Allons-y donc (ACK) Le client et le serveur peuvent alors commencer à transférerdes donnéesInvitationAcceptation (ou non)Confirmation
  15. 15. INF6001 Chap 2 16Machines 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
  16. 16. INF6001 Chap 2 17T-ConReqT-ConConfT-ConIndT-ConRespA BConnexion avec Succès ABT-ConReqT-DiscIndT-ConIndT-DiscReqA BConnexion refusée par BA BTentative deconnexion de Arefuséepar le fourniss. de serviceT-ConReqT-DiscIndT-DatReqT-DatIndA BTransfert DonnéesABT-DiscReqT-DiscIndA BA décide dedéconnecterT-DiscReqT-DiscReqA BLes deux décidentde déconnecter(collision)T-DiscIndT-DiscIndA BService de la couche transport,Cas d’usage
  17. 17. INF6001 Chap 2 18Le service de transport OSI dé critcomme machine de Moore (un seul T-SAP)IdleIncomingConnectionPendingOutgoingConnectionPendingDataTransferReadyT-DiscReqT-DiscIndT-DiscReqT-DiscIndT-ConReq T-ConIndT-DiscReqT-DiscIndT-ConConfT-ConRespT-DatReq, T-DatIndSimplifié!
  18. 18. Le protocole Transport OSIdé crit comme machine de MealyINF6001 Chap 2 20(Notes de cours du Prof. Bochmann)Très simplifié!
  19. 19. 21Service TCP (Machine Mealy)
  20. 20. INF6001 Chap 2 22Le 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
  21. 21. INF6001 Chap 2 23Machines 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
  22. 22. INF6001 Chap 2 24Communication 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
  23. 23. INF6001 Chap 2 25Modè 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
  24. 24. INF6001 Chap 2 26Exé cution du systè me L’état global initial est l’ensemble de tous les étatsinitiaux des composants et l’ensemble de tous lescontenus de files initiales Dans ce cas <10,20>,<ε, ε> ε file vide… Dans cet état, le seul événementqui peut se produire est l’envoid’un 1 par le client Il est mis dans la file, puis la seulechose qui peut se produire est laréception de 1 de la part duserveurclient 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
  25. 25. INF6001 Chap 2 27Construction 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
  26. 26. Transitions possibles à l’é tat initial?INF6001 Chap 2 28……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4Transitions possibles à l’état initial?
  27. 27. Transitions possibles?INF6001 Chap 2 29……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?41
  28. 28. Transitions possibles?INF6001 Chap 2 30……!1?3?2!4101112?1!3!2202122Files FIFO etsans pertesC12C21?4
  29. 29. Retrouver un é tat pré cé dentINF6001 Chap 2 31……!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.
  30. 30. INF6001 Chap 2 32La 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
  31. 31. INF6001 Chap 2 33É 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
  32. 32. INF6001 Chap 2 34Machines 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…)
  33. 33. INF6001 Chap 2 35INF6001 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
  34. 34. INF6001 Chap 2 36Analyse 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é
  35. 35. INF6001 Chap 2 37Critique 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
  36. 36. INF6001 Chap 2 38Repré 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é
  37. 37. INF6001 Chap 2 39Modè 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
  38. 38. INF6001 Chap 2 40Machine 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
  39. 39. INF6001 Chap 2 41Critique 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
  40. 40. INF6001 Chap 2 42Ré 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
  41. 41. INF6001 Chap 2 43Conditions 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
  42. 42. INF6001 Chap 2 44Conditions 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
  43. 43. INF6001 Chap 2 45Un CFSM trè s malade…!a?d101112?b !c?b?b……C12C2120212223?c!b?a!d?a
  44. 44. INF6001 Chap 2 46Arbre 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!
  45. 45. Ré ception non-spé cifié e bloquanteAprès la trace !b, ?b, !cINF6001 Chap 2 47!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
  46. 46. Impasse - deadlockINF6001 Chap 2 48<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
  47. 47. Ré ception non spé cifié e non bloquanteINF6001 Chap 2 49!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
  48. 48. INF6001 Chap 2 50Dans 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
  49. 49. INF6001 Chap 2 52Gé 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…
  50. 50. INF6001 Chap 2 54Problè mes fondamentaux dansl’analyse des protocolesProblèmes d’indécidabilitéProblèmes d’explosion d’états
  51. 51. INF6001 Chap 2 55Problè mes d’indé cidabilitéUne des conséquences de l’insolvabilité du problème de l’arrêtde machines de Turing est que déterminer si un canal est borné ou non est indécidableOn peut chercher à construire la machine globale, si cetteconstruction s’achève nous saurons, mais cette constructionpourrait continuer à jamaisMalheureusement, le problème de décider l’impasse, etc. pourles protocoles dont les canaux ne sont pas bornés est aussiindécidableNous pouvons toujours faire l’analyse en faisant l’hypothèsequ’aucun canal ne contienne jamais plus de n éléments, pourun n donnéCette analyse ne sera pas complètement valable si un canalpeut en fait excéder cette borne
  52. 52. INF6001 Chap 2 56Entrelacement 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
  53. 53. INF6001 Chap 2 57Calcul 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
  54. 54. INF6001 Chap 2 58Formule 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)
  55. 55. INF6001 Chap 2 59Exemple – 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.
  56. 56. INF6001 Chap 2 60INF6001 Chap 2 60La 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
  57. 57. INF6001 Chap 2 61Analyse 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
  58. 58. INF6001 Chap 2 63En 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
  59. 59. INF6001 Chap 2 66QuestionDans le modèle asynchrone, pouvons-nous admettre que deuxévénements, c’est-à dire deux transitions d’états, soientsimultanés? Le modèle asynchrone discuté dans ce cours admet qu’un seulévénement, une seule transition d’états se produise à la fois dans lesystème. En informatique, celle-ci est une hypothèse commune. Cette hypothèseest justifiée par le fait que deux événements exactement simultanés sontrares ou non-existants en nature (il y en aura normalement un qui seproduit ou commence ‘un peu avant’ l’autre). On étudie cependant parfois des modèles de parallélisme dits de‘simultanéité véritable’ (true parallelism), où ceci est possible, mais cecin’est pas le sujet de ce cours.
  60. 60. Process P1 Process P2031201 23!1?4?3!2?3?3?3!3?2?1?1?1!4Reachability Analysis ExampleBoth Processes initially at state ”0”Chapter 2: Protocol specification
  61. 61. 0 EE 00 E3 11 EE 12 2E 11 13 12 1,23 11 1E 01 EE 22 1E 12 EE 20 1,2E 1P1!1 P2!3P1?3P1!1P2?1!3!2P1?3 P1!2?3P2?1P1!2P2?1SS0SS2SS3SS5SS4SS9SS10SS6SS7DEADLOCKDEADLOCKUNSPECIFIEDUNSPECIFIEDRECEPTIONRECEPTIONSS1SS12Reachability Analysis Example…Chapter 2: Protocol specification
  62. 62. Example: Alternating bit protocol It is a flow control ProtocolPHYSICAL LAYERSENDER RECEIVERn nu uChapter 2: Protocol specification
  63. 63. Alternating Bit Protocol… ASPs for Sender Entity Send_Request Send_Confirm PDUs for Sender DT0 DT1 ASPs for Receiver Entity Send_Response Send_Indication PDUs for Receiver ACK0 ACK1Chapter 2: Protocol specification
  64. 64. Alternating Bit Protocol… Initially Sender is in READY state⇒ At this state, the only possible input is Send_requestThe functions D and L are as follows:L(u.send_request, READY) = n.DT0D(u.send_request, READY) = WFACK0Chapter 2: Protocol specification
  65. 65. Alternating Bit Protocol… At state WFACK0; the normal input expected isACK0 PDU at the connection point n;⇒ This means that the receiver received DT0PDU⇒ Sender should notify the user by sending aSend_Confirm⇒ The next state is READY2Chapter 2: Protocol specification
  66. 66. Alternating Bit Protocol-Sender FSMREADY WFACK0 READY2 WFACK1u.Send_Req WFACK0 WFACK1n.DT0 n.DT1n.ACK0 READY2 WFACK1u.Send_Conf n.DT1n.ACK1 WFACK0 READYn.DT0 u.Send_ConfSTATEINPUTChapter 2: Protocol specification
  67. 67. Alternating Bit Protocol-Sender FSM…READY1READY0WFACK1WFACK0u.send_req./n.DT0n.ACK1/u.send_conf.n.ACK0/u.send_conf.n.ACK0/ n.DT1u.send_req./n.DT1n.ACK1/n.DT0Chapter 2: Protocol specification
  68. 68. Alternating Bit Protocol-Receiver FSMWF_Resp1WF_Resp0Ready0Ready1u.Response/n.ACK0n.DT0/u.Indicationn.DT1/u.Indicationn.DT1/ n.ACK1u.Response/n.ACK1n.DT0/n.ACK0Chapter 2: Protocol specification
  69. 69. Process P1 Process P2031201 23!1?4?3!2?3?3?3!3?2?1?1?1!4Perturbation Analysis ExampleBoth Processes initially at state ”0”Chapter 2: Protocol specification
  70. 70. 0 EE 00 E3 11 EE 12 2E 11 13 12 1,23 11 1E 01 EE 22 1E 12 EE 20 1,2E 1P1!1 P2!3P1?3P1!1P2?1!3!2P1?3 P1!2?3P2?1P1!2P2?1SS0SS2SS3SS5SS4SS9SS10SS6SS7DEADLOCKDEADLOCKUNSPECIFIEDUNSPECIFIEDRECEPTIONRECEPTIONSS1SS12Perturbation Analysis Example…Chapter 2: Protocol specification
  71. 71. Alternating Bit Protocol-Reachability AnalysisR2S!ACK0R2S!ACK1S2R?DT1R2S?ACK0SR0RR0EES2R!DT0SW0RR0DT0ES2R?DT0SW0RW0EESW0RR1EACK0SW1RW1EESW1RR1ES2R!DT1SR1RR1EER2S?ACK1 SW1RR0EDT1ACK0Chapter 2: Protocol specification

×