SlideShare ist ein Scribd-Unternehmen logo
1 von 50
1
Chapitre 2
Spécification des protocoles
Machines à états
w3.uqo.ca/luigi
INF6001 Chap 2 2
Exemple:
un automate qui modè le le comportement d’un
ordinateur
 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 pour
WordProcessing
 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.
INF6001 Chap 2 3
Concept d’é tat
Le concept d’état du système est une abstraction utile
Représente une instantanée (snapshot) du contenu de
la machine à un moment donné
Déterminé par ce qui s’est produit dans la machine
avant
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 causent
changements d’états
INF6001 Chap 2 4
Machines à é tats
Comportements possibles de
cette 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 et
retourner à 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
INF6001 Chap 2 5
Tableaux de transition d’é tats
état 1 état 2
état 3 état 4
! 1
? 2
? 3
? 5
! 4
!1 !4 ?2 ?3 ?5
1 3 2
2 4
3 4
4 2 5
Machine partiellement spécifiée:
Les transitions impossibles ne sont pas
spécifiées.
Nous pouvons interpréter ces transitions
comme transitions à un état erreur
état 5
? 2
INF6001 Chap 2 6
Diffé rents modè les à é tats
Les machines à états, aussi appelés automates, sont
un concept très utilisé en informatique
Un bon nombre de défs existe, chacune avec sa
propre théorie avec des légères différences
Tous les modèles suivants sont utilisés dans la
conception des protocoles, et aussi dans la conception
de circuits
INF6001 Chap 2 7
Systè mes de transition
Le concept le plus général
Nous avons un ensemble d’états (pas nécess. fini) et
une relation de successeur entre états
Exemple de s.d.t.:
état 1 état 2
état 3 état 4
INF6001 Chap 2 8
Systè mes de transition é tiqueté s (LTS, labeled transition
systems)
Les transitions sont nommées
état 1 état 2
état 3 état 4
a
b c d
e
INF6001 Chap 2 9
Utilisation 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
INF6001 Chap 2 10
Notation
+ et – sont aussi utilisés pour indiquer la réception ou
l’envoi d’un message, respectivement
? et ! sont plus utilisés récemment
INF6001 Chap 2 11
Machines de Mealy
Chaque arête est étiquetée par une paire
Entrée/Sortie
Voulant dire que quand une entrée comme spécifié se vérifie, il
y a la sortie spécifiée et la transition d’état a aussi lieu
état 1 état 2
état 3 état 4
1/b
2/a
3/d
5/c
4/b
Quand l’entité spécifiée reçoit
un 2 en état 1, elle fait sortir
un a et le système effectue
une transition à l’état 2
INF6001 Chap 2 12
Machines 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 la
transition
état 1 état 2
état 3 état 4
b
a
d
c
b
INF6001 Chap 2 13
Le passage du temps dans les
machines
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
INF6001 Chap 2 14
Machines communicantes
Une machine à états peut définir un système entier ou
une partie de système
Si elle définit une partie d’un système, elle sera
composée avec autres machines
Plusieurs méthodes de communications ont été
utilisées
Nous en discuterons ici deux:
 Synchrones
 Asynchrones
INF6001 Chap 2 15
Communication asynchrone
 Dans la communication asynchrone, les machines communiquent par des
canaux pouvant contenir des primitives de communication (PDUs ou
SDUs)
 Normalement modélisés par des files FIFO infinies et sans pertes de
donné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 son
travail, 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.
…
…
CAB
CBA
Machine A Machine B
A B
Service Provider
INF6001 Chap 2 16
Modè les de machines à é tats finis
communicantes asynchrones
(appelé s aussi CSM ou CFSM, Communicating Finite-state Machines)
Machines à états finis communicantes à moyen de files
d’attentes
P.Ex un client et serveur.
1 requête d’accès
2 permission d’accès
3 refus d’accès
4 terminaison d’accès
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
?4
INF6001 Chap 2 17
Exé cution du systè me
 L’état global initial est
 l’ensemble de tous les états initiaux
des composants
 et l’ensemble de tous les contenus
de files initiales
 Dans ce cas <10,20>,<ε, ε>
 ε file vide…
 Dans cet état, le seul événement
qui peut se produire est l’envoi d’un
1 par le client
 Il est mis dans la file, puis qui peut
se produire est la réception de 1 de
la part du serveur
client serveur
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
……
……
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
?4
INF6001 Chap 2 18
Construction de la machine globale du
systè 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’état
suivant, 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
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
……
……
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
C12
C21
?4
Transitions possibles à l’é tat initial?
INF6001 Chap 2 19
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
?4
Transitions possibles à l’état initial?
Transitions possibles?
INF6001 Chap 2 20
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
?4
1
Transitions possibles?
INF6001 Chap 2 21
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
?4
Retrouver un é tat pré cé dent
INF6001 Chap 2 22
…
…
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
?4
Après la trace: !1, ?1, !3 nous nous retrouvons à l’état global suivant:
3
La seule transition possible nous ramène à un état déjà vu.
INF6001 Chap 2 23
La 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
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
……
……
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
C12
C21
!1
?1
!3
!2
?2
!4
!1
?4
?4
ε : canal vide
[4,1] :canal contenant 4 puis 1
?4
?3
INF6001 Chap 2 24
É quivalence d’é tats
Pourquoi sommes-nous retournés à un état précédent
aprè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 et
le contenu des canaux est le même
Plus en général, deux états sont équivalents s’ils
permettent les mêmes séquences d’événements futurs
INF6001 Chap 2 25
Machines globales finies et infinies
On voit que C12 n’aura jamais plus de 2 messages et
C21 jamais plus d’1
Nous avons ici une machine globale qui est finie
 La machine globale d’un système n’est pas nécessairement
finie
 Nous pouvons avoir un nombre infini d’états si les files
peuvent grandir à longueurs arbitrairement grandes
 Le fait qu’une file puisse être infinie est une caractéristique à
prendre en considération (nous verrons…)
INF6001 Chap 2 26INF6001 Chap 2
Machines infinies
Une file peut grandir ‘à jamais’
 Dans ce cas, il y aura (au moins) un chemin dans l’arbre
d’accessibilité dans lequel la machine pourra avoir un
nombre toujours grandissant d’états.
 Dans ce chemin, la machine globale ne retournera jamais à
un état déjà vu
 Donc, machine globale infinie.
!a ?a
La machine de
droite n’est pas
obligée à prendre
tout de suite
canaux
INF6001 Chap 2 27
Analyse d’accessibilité
Le processus d’obtenir la machine globale à partir des
machines locales s’appelle
 Analyse d’accessibilité, reachability analysis
Le graphe obtenu faisant l’analyse d’accessibilité
s’appelle
 Graphe d’accessibilité
INF6001 Chap 2 28
Critique du modè le de communication
asynchrone
Le modèle de communication asynchrone représente bien la
faç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 et
peuvent 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
INF6001 Chap 2 29
Repré sentation de canaux avec files non-
FIFO
Deux manières:
 Représenter la perte ou autres dans une des deux machines
communicantes, p.ex. dans le récepteur:
 Ou sinon définir les canaux avec un troisième processus,
voir modèle synchrone
?perte
?réception
Dans ce cas le message
est ignoré
INF6001 Chap 2 30
Modè 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 communication
partagé
 La communication entre deux entités est un fait qui implique les deux
simultanément
 Une entrée et une sortie deviennent une seule action
Mécani
sme de
commu
nication
Machine A Machine B
INF6001 Chap 2 31
Machine globale pour le cas synchrone
(aussi appelé e composition synchrone)
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
?4
La combinaison de !
1 et ?1 donne une
seule action 1
13
2
10,20
11,21
12,22
4
INF6001 Chap 2 32
Critique du modè le synchrone
L’envoyeur et le récepteur sont bloqués ensemble
pendant l’exécution d’une opération en commun
Peu apprécié par les ingénieurs de télécom car ils
sont plutôt habitués à penser en termes de envoyer-
continuer
Utilisé dans les algèbres de processus: CCS, CSP, LOTOS
INF6001 Chap 2 33
Ré lation entre les deux modè les
Le modèle synchrone peut modéliser le modèle
asynchrone par l’utilisation d’entités ‘canaux’
intermédiaires
Le modèle asynchrone avec files de longueur 0
correspond au modèle synchrone
canaux
A
B
INF6001 Chap 2 34
Conditions d’erreur dans les systè mes
synchrones
 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, une
impasse est considérée un problème
!1?3
?2
!6
10
11
12
?1!3
!2
20
21
22
?4
13
2
10,20
11,21
12,22Impasse, pas
d’état successeur
INF6001 Chap 2 35
Conditions d’erreur dans les systè mes
asynchrones
Dans le cas asynch, il y a plusieurs cas d’erreur
 Impasse = deadlock: un état accessible dans lequel tous les
canaux sont vides et aucun processus ne peut envoyer
 Réception non spécifiée: il y a un message au début d’un
canal qui ne peut pas être reçu car il n’y a pas de transition
appropriée (spec incomplète)
 Réception non-spécifiée bloquante: il y a une réception non
spécifiée et à cause de ça le système se trouve en impasse
 Transitions non-exécutables: pas une erreur bloquante, mais
pourrait être un symptome d’un problème de conception
 Etats non-exécutables: pas une erreur bloquante, mais
pourrait être un symptome d’un problème de conception
INF6001 Chap 2 36
Un CFSM trè s malade…
!a?d
10
11
12
?b !c
?b
?b
…
…
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
INF6001 Chap 2 37
Arbre 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 !b
etc. etc.
!c !b
?b
?a
?b
!c
Impasse
Canaux vides,
Aucune action possible
Réceptions
non specifiées:
a ne peut pas
être reçu, mais il y
a d’autres actions
possibles
Réception non specifiée
bloquante: c ne peut pas être
reçu et il n’y a pas d’autres
actions possibles
a!
Ré ception non-spé cifié e bloquante
Après la trace !b, ?b, !c
INF6001 Chap 2 38
!a?d
10
11
12
?b !c
?b
?b
…
…
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
!a?d
10
11
12
?b !c
?b
?b
……
……
C12
C21
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
<12,21>,< c, ε >
Machine 2 ne peut pas recevoir le c
Machine 1 ne peut rien envoyer, ni
recevoir
c
Impasse - deadlock
INF6001 Chap 2 39
<12,22>,< ε, ε >
Les deux machines ne peuvent
rien envoyer
Et il n’y a rien à recevoir dans les
files!
!a?d
10
11
12
?b !c
?b
?b
…
…
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
!a?d
10
11
12
?b !c
?b
?b
……
……
C12
C21
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
Ré ception non spé cifié e non bloquante
INF6001 Chap 2 40
!a?d
10
11
12
?b !c
?b
?b
…
…
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
!a?d
10
11
12
?b !c
?b
?b
……
……
C12
C21
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
<12,20>,<ac,ε>
La file C12 contient a au début mais
la machine 2 est dans son état 20 et
ne peut pas le recevoir
Ceci ne bloque pas le système car les
deux machines peuvent envoyer des
messages
Possibilité d’erreur, cas à étudier
ac
INF6001 Chap 2 41
Dans 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 !b
etc. etc.
!c !b
?b
?a
?b
!c
Impasse
Réceptions
non specs
Réceptions
non spec
bloquante
<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 !b
etc. etc.
!c !b
?b
?a
?b
!c
Impasse
Réceptions
non specs
Réceptions
non spec
bloquante
!a?d
10
11
12
?b !c
?b
?b
…
…
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
!a?d
10
11
12
?b !c
?b
?b
……
……
C12
C21
C12
C21
20
21
22
23
?c
!b
?a
!d
?a
INF6001 Chap 2 43
Gé né ralisation au cas de plusieurs
machines
 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, … machines
communicantes
 Tant dans le cas de composition synchrone, que asynchrone
 Et effectivement, tout système de protocoles a besoin d’au moins 4
machines pour pouvoir être exprimé complètement:
Usager A
ProtocoleProtocole
Usager B Les machines pour les
usagers pourraient être
extrêmement simples:
Prendre des données,
les utiliser, prendre,
utiliser…
INF6001 Chap 2 45
Problè mes fondamentaux dans
l’analyse des protocoles
Problèmes d’indécidabilité
Problèmes d’explosion d’états
INF6001 Chap 2 47
Entrelacement d’é vé nements et
explosion d’é tats
 Malheureusement, même dans le cas de canaux bornés, nous aurons toujours
l’explosion d’états, à cause du besoin de considérer toutes les possibilités
d’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 machines
de 2 états.
 Et ce nombre monte de façon exponentielle!
A
B
X
Y
!m !n
A,X
B,X
B,Y
A,Y
!m
!m
!n
!n
Deux scénarios possibles
INF6001 Chap 2 48
Calcul du nombre d’é tat globaux
(Cas Asynchrone)
Si nous composons deux machines de M et N états, nous
pourrions avoir pour ce fait MxN états
Ceci se trouve augmenté par le nombre de configurations
possibles des deux canaux
 Pour calculer ce dernier, il faut faire une hypothèse concernant leur
longueur maximale
Un canal de dimension maximale 1 et avec p messages
possibles peut être ou bien vide ou bien contenir un des
messages
 Ceci fait p0
+p1
possibilités
Un canal de dimension maximale 2 et avec p messages
possibles peut être vide, ou peut contenir un message, ou peut
contenir 2 messages
 Ceci fait p0
+p1
+p2
possibilités
INF6001 Chap 2 49
Formule 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 machine
globale en principe est un problème de complexité
exponentielle
M x N x (p0
+p1
+...+pm
) x (q0
+q1
+...+qn
)
INF6001 Chap 2 50
Exemple – diapo suivante
Dans le cas du protocole client-serveur déjà discuté, nous
avons:
 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 = 189
Dont seulement 8 sont accessibles comme nous avons vu.
INF6001 Chap 2 51INF6001 Chap 2 51
La 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
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
……
……
!1?3
?2
!4
10
11
12
?1!3
!2
20
21
22
Files FIFO et
sans pertes
C12
C21
C12
C21
!1
?1
!3
!2
?2
!4
!1
?4
?4
ε : canal vide
[4,1] :canal contenant 4 puis 1
?4
?3
INF6001 Chap 2 52
Analyse d’accessibilité
Cas synchrone
Dans le cas synchrone, le nombre max d’états est le
produit des nombre des états des machines
communicantes
Cependant il faudra avoir plus de machines, car il
faudra représenter les canaux en utilisant des
machines additionnelles
canaux
A
B
INF6001 Chap 2 53
En pratique
Malgré la complexité élevée du problème de l’analyse
d’accessibilité, des logiciels optimisés disponibles
aujourd’hui permettent de construire le graphe
d’accessibilité de protocoles réels
 Centaines de millions d’états

Weitere ähnliche Inhalte

Andere mochten auch

Variation des stocks et résultat
Variation des stocks et résultatVariation des stocks et résultat
Variation des stocks et résultathassan1488
 
VHDL/FPGA
VHDL/FPGA VHDL/FPGA
VHDL/FPGA 04amine
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solutionCynapsys It Hotspot
 
La régularisation des stocks
La régularisation des stocksLa régularisation des stocks
La régularisation des stockszaidmeziani
 
Evaluation Des Stocks
Evaluation Des StocksEvaluation Des Stocks
Evaluation Des Stocksredaeco
 
Soutenance Stage Lafarge
Soutenance Stage LafargeSoutenance Stage Lafarge
Soutenance Stage LafargeMajdalina01
 
Gestion de production exercices
Gestion de production exercicesGestion de production exercices
Gestion de production exercicesChristian Kajeje
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock Yassine Badri
 
Gestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnementsGestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnementsmoulai
 
Gestion production
Gestion productionGestion production
Gestion productionTyler Cr
 
EL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIAC
EL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIACEL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIAC
EL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIACMohamed El mouatassim
 
SOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMED
SOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMEDSOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMED
SOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMEDMohamed El mouatassim
 
Lean : de la production de masse au monde des projets par Patrick Renaux de S...
Lean : de la production de masse au monde des projets par Patrick Renaux de S...Lean : de la production de masse au monde des projets par Patrick Renaux de S...
Lean : de la production de masse au monde des projets par Patrick Renaux de S...Institut Lean France
 
Gestion De Stock 01
Gestion De Stock 01Gestion De Stock 01
Gestion De Stock 01guest9df1f5
 
[APP] Presentation finale - Electronique
[APP] Presentation finale - Electronique[APP] Presentation finale - Electronique
[APP] Presentation finale - ElectroniqueAntoine Rakotozafy
 

Andere mochten auch (20)

Variation des stocks et résultat
Variation des stocks et résultatVariation des stocks et résultat
Variation des stocks et résultat
 
Tutorial xilinx 9.1i
Tutorial xilinx 9.1i Tutorial xilinx 9.1i
Tutorial xilinx 9.1i
 
VHDL/FPGA
VHDL/FPGA VHDL/FPGA
VHDL/FPGA
 
Présentation FPGA
Présentation FPGAPrésentation FPGA
Présentation FPGA
 
Presentaion fpga µc µp quelles est la solution
Presentaion  fpga µc µp quelles est la solutionPresentaion  fpga µc µp quelles est la solution
Presentaion fpga µc µp quelles est la solution
 
La régularisation des stocks
La régularisation des stocksLa régularisation des stocks
La régularisation des stocks
 
Modèle wilson
Modèle wilsonModèle wilson
Modèle wilson
 
Evaluation Des Stocks
Evaluation Des StocksEvaluation Des Stocks
Evaluation Des Stocks
 
Soutenance Stage Lafarge
Soutenance Stage LafargeSoutenance Stage Lafarge
Soutenance Stage Lafarge
 
Gestion de production exercices
Gestion de production exercicesGestion de production exercices
Gestion de production exercices
 
FPGA
FPGAFPGA
FPGA
 
.logistique gestion des stock
.logistique gestion des stock .logistique gestion des stock
.logistique gestion des stock
 
Gestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnementsGestion des-stocks-et-des-approvisionnements
Gestion des-stocks-et-des-approvisionnements
 
la gestion de stocks
la gestion de stocks la gestion de stocks
la gestion de stocks
 
Gestion production
Gestion productionGestion production
Gestion production
 
EL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIAC
EL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIACEL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIAC
EL MOUATASSIM MOHAMED- SOUTENENACE DE STAGE AMS-IFMIAC
 
SOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMED
SOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMEDSOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMED
SOUTENANCE DE STAGE - AMS-IFMIAC - EL MOUATASSIM MOHAMED
 
Lean : de la production de masse au monde des projets par Patrick Renaux de S...
Lean : de la production de masse au monde des projets par Patrick Renaux de S...Lean : de la production de masse au monde des projets par Patrick Renaux de S...
Lean : de la production de masse au monde des projets par Patrick Renaux de S...
 
Gestion De Stock 01
Gestion De Stock 01Gestion De Stock 01
Gestion De Stock 01
 
[APP] Presentation finale - Electronique
[APP] Presentation finale - Electronique[APP] Presentation finale - Electronique
[APP] Presentation finale - Electronique
 

Ähnlich wie Chap02 fsm-mpssr-ht

Cours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatisesCours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatisesmorin moli
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2youri59490
 
Travaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENATravaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENASandraKobe
 
Cours_Automatismes_1_2015.pptx
Cours_Automatismes_1_2015.pptxCours_Automatismes_1_2015.pptx
Cours_Automatismes_1_2015.pptxOumarMandodjo
 
COURS D'AUTOMATISME_GRAFCET_Première IH.pptx
COURS D'AUTOMATISME_GRAFCET_Première IH.pptxCOURS D'AUTOMATISME_GRAFCET_Première IH.pptx
COURS D'AUTOMATISME_GRAFCET_Première IH.pptxngwaban0
 
CoursAutomatique_machi_d_ostade.pptx
CoursAutomatique_machi_d_ostade.pptxCoursAutomatique_machi_d_ostade.pptx
CoursAutomatique_machi_d_ostade.pptxHassanMoufassih
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfInes Ben Hassine
 
Automatisme PLC
 Automatisme PLC Automatisme PLC
Automatisme PLCTECOS
 
Support systemes multitaches-tempsreel
Support systemes multitaches-tempsreelSupport systemes multitaches-tempsreel
Support systemes multitaches-tempsreelyoussef essakhi
 
PréSentation Tsx37
PréSentation Tsx37PréSentation Tsx37
PréSentation Tsx37youri59490
 

Ähnlich wie Chap02 fsm-mpssr-ht (20)

Api
ApiApi
Api
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Le grafcet
Le grafcetLe grafcet
Le grafcet
 
Cours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatisesCours et travaux diriges sur l'automatisme et les systemes automatises
Cours et travaux diriges sur l'automatisme et les systemes automatises
 
Grafcet.pdf
Grafcet.pdfGrafcet.pdf
Grafcet.pdf
 
grafcet
grafcetgrafcet
grafcet
 
Programmation En Langage Pl7 2
Programmation En Langage Pl7 2Programmation En Langage Pl7 2
Programmation En Langage Pl7 2
 
Ladder
LadderLadder
Ladder
 
Cours api
Cours apiCours api
Cours api
 
Travaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENATravaux pratiques corrigé logiciel ARENA
Travaux pratiques corrigé logiciel ARENA
 
Cours_Automatismes_1_2015.pptx
Cours_Automatismes_1_2015.pptxCours_Automatismes_1_2015.pptx
Cours_Automatismes_1_2015.pptx
 
Ch1
Ch1Ch1
Ch1
 
COURS D'AUTOMATISME_GRAFCET_Première IH.pptx
COURS D'AUTOMATISME_GRAFCET_Première IH.pptxCOURS D'AUTOMATISME_GRAFCET_Première IH.pptx
COURS D'AUTOMATISME_GRAFCET_Première IH.pptx
 
Systèmes Automatisés
Systèmes AutomatisésSystèmes Automatisés
Systèmes Automatisés
 
CoursAutomatique_machi_d_ostade.pptx
CoursAutomatique_machi_d_ostade.pptxCoursAutomatique_machi_d_ostade.pptx
CoursAutomatique_machi_d_ostade.pptx
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Chap1 intro 1pp
Chap1 intro 1ppChap1 intro 1pp
Chap1 intro 1pp
 
Automatisme PLC
 Automatisme PLC Automatisme PLC
Automatisme PLC
 
Support systemes multitaches-tempsreel
Support systemes multitaches-tempsreelSupport systemes multitaches-tempsreel
Support systemes multitaches-tempsreel
 
PréSentation Tsx37
PréSentation Tsx37PréSentation Tsx37
PréSentation Tsx37
 

Mehr von infcom

Cours admin-secure-4 avril-2011
Cours admin-secure-4 avril-2011Cours admin-secure-4 avril-2011
Cours admin-secure-4 avril-2011infcom
 
Tpdba1
Tpdba1Tpdba1
Tpdba1infcom
 
T2 corrections-qc md
T2 corrections-qc mdT2 corrections-qc md
T2 corrections-qc mdinfcom
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcminfcom
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1infcom
 
Examens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BDExamens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BDinfcom
 
Examens Linda Jedidi ISITCOM
Examens Linda Jedidi ISITCOMExamens Linda Jedidi ISITCOM
Examens Linda Jedidi ISITCOMinfcom
 
Examens Iyed Ben Slimene ISITCOM Communication sans fil
Examens Iyed Ben Slimene ISITCOM Communication sans fil Examens Iyed Ben Slimene ISITCOM Communication sans fil
Examens Iyed Ben Slimene ISITCOM Communication sans fil infcom
 
Db aing td3v1
Db aing td3v1Db aing td3v1
Db aing td3v1infcom
 
Chap06 (méthodes de vérification)
Chap06 (méthodes de vérification)Chap06 (méthodes de vérification)
Chap06 (méthodes de vérification)infcom
 
Db aing td2v1
Db aing td2v1Db aing td2v1
Db aing td2v1infcom
 
Chap05 (buchi)
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)infcom
 
Db aing td1v1
Db aing td1v1Db aing td1v1
Db aing td1v1infcom
 
Examens heykel Tej ISITCOM ingénierie protocoles
Examens heykel Tej ISITCOM ingénierie protocolesExamens heykel Tej ISITCOM ingénierie protocoles
Examens heykel Tej ISITCOM ingénierie protocolesinfcom
 
Tpdba3
Tpdba3Tpdba3
Tpdba3infcom
 
Examens Zaki Brahmi ISITCOM
Examens Zaki Brahmi ISITCOMExamens Zaki Brahmi ISITCOM
Examens Zaki Brahmi ISITCOMinfcom
 
Examens Aline Laatiri ISITCOM
Examens Aline Laatiri ISITCOMExamens Aline Laatiri ISITCOM
Examens Aline Laatiri ISITCOMinfcom
 
Wafa kamoun-admin-sec-reseaux
Wafa kamoun-admin-sec-reseauxWafa kamoun-admin-sec-reseaux
Wafa kamoun-admin-sec-reseauxinfcom
 

Mehr von infcom (20)

Cours admin-secure-4 avril-2011
Cours admin-secure-4 avril-2011Cours admin-secure-4 avril-2011
Cours admin-secure-4 avril-2011
 
Tpdba1
Tpdba1Tpdba1
Tpdba1
 
T2 corrections-qc md
T2 corrections-qc mdT2 corrections-qc md
T2 corrections-qc md
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
 
Examens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BDExamens Khaled Jouini ISITCOM ORACLE BD
Examens Khaled Jouini ISITCOM ORACLE BD
 
Examens Linda Jedidi ISITCOM
Examens Linda Jedidi ISITCOMExamens Linda Jedidi ISITCOM
Examens Linda Jedidi ISITCOM
 
Examens Iyed Ben Slimene ISITCOM Communication sans fil
Examens Iyed Ben Slimene ISITCOM Communication sans fil Examens Iyed Ben Slimene ISITCOM Communication sans fil
Examens Iyed Ben Slimene ISITCOM Communication sans fil
 
Db aing td3v1
Db aing td3v1Db aing td3v1
Db aing td3v1
 
Chap06 (méthodes de vérification)
Chap06 (méthodes de vérification)Chap06 (méthodes de vérification)
Chap06 (méthodes de vérification)
 
Db aing td2v1
Db aing td2v1Db aing td2v1
Db aing td2v1
 
Chap05 (buchi)
Chap05 (buchi)Chap05 (buchi)
Chap05 (buchi)
 
Db aing td1v1
Db aing td1v1Db aing td1v1
Db aing td1v1
 
Examens heykel Tej ISITCOM ingénierie protocoles
Examens heykel Tej ISITCOM ingénierie protocolesExamens heykel Tej ISITCOM ingénierie protocoles
Examens heykel Tej ISITCOM ingénierie protocoles
 
Tpdba3
Tpdba3Tpdba3
Tpdba3
 
Examens Zaki Brahmi ISITCOM
Examens Zaki Brahmi ISITCOMExamens Zaki Brahmi ISITCOM
Examens Zaki Brahmi ISITCOM
 
Ch4
Ch4Ch4
Ch4
 
Ch2
Ch2Ch2
Ch2
 
Examens Aline Laatiri ISITCOM
Examens Aline Laatiri ISITCOMExamens Aline Laatiri ISITCOM
Examens Aline Laatiri ISITCOM
 
Wafa kamoun-admin-sec-reseaux
Wafa kamoun-admin-sec-reseauxWafa kamoun-admin-sec-reseaux
Wafa kamoun-admin-sec-reseaux
 

Chap02 fsm-mpssr-ht

  • 1. 1 Chapitre 2 Spécification des protocoles Machines à états w3.uqo.ca/luigi
  • 2. INF6001 Chap 2 2 Exemple: un automate qui modè le le comportement d’un ordinateur  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 pour WordProcessing  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. INF6001 Chap 2 3 Concept d’é tat Le concept d’état du système est une abstraction utile Représente une instantanée (snapshot) du contenu de la machine à un moment donné Déterminé par ce qui s’est produit dans la machine avant 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 causent changements d’états
  • 4. INF6001 Chap 2 4 Machines à é tats Comportements possibles de cette 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 et retourner à 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. INF6001 Chap 2 5 Tableaux de transition d’é tats état 1 état 2 état 3 état 4 ! 1 ? 2 ? 3 ? 5 ! 4 !1 !4 ?2 ?3 ?5 1 3 2 2 4 3 4 4 2 5 Machine partiellement spécifiée: Les transitions impossibles ne sont pas spécifiées. Nous pouvons interpréter ces transitions comme transitions à un état erreur état 5 ? 2
  • 6. INF6001 Chap 2 6 Diffé rents modè les à é tats Les machines à états, aussi appelés automates, sont un concept très utilisé en informatique Un bon nombre de défs existe, chacune avec sa propre théorie avec des légères différences Tous les modèles suivants sont utilisés dans la conception des protocoles, et aussi dans la conception de circuits
  • 7. INF6001 Chap 2 7 Systè mes de transition Le concept le plus général Nous avons un ensemble d’états (pas nécess. fini) et une relation de successeur entre états Exemple de s.d.t.: état 1 état 2 état 3 état 4
  • 8. INF6001 Chap 2 8 Systè mes de transition é tiqueté s (LTS, labeled transition systems) Les transitions sont nommées état 1 état 2 état 3 état 4 a b c d e
  • 9. INF6001 Chap 2 9 Utilisation 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. INF6001 Chap 2 10 Notation + et – sont aussi utilisés pour indiquer la réception ou l’envoi d’un message, respectivement ? et ! sont plus utilisés récemment
  • 11. INF6001 Chap 2 11 Machines de Mealy Chaque arête est étiquetée par une paire Entrée/Sortie Voulant dire que quand une entrée comme spécifié se vérifie, il y a la sortie spécifiée et la transition d’état a aussi lieu état 1 état 2 état 3 état 4 1/b 2/a 3/d 5/c 4/b Quand l’entité spécifiée reçoit un 2 en état 1, elle fait sortir un a et le système effectue une transition à l’état 2
  • 12. INF6001 Chap 2 12 Machines 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 la transition état 1 état 2 état 3 état 4 b a d c b
  • 13. INF6001 Chap 2 13 Le passage du temps dans les machines 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. INF6001 Chap 2 14 Machines communicantes Une machine à états peut définir un système entier ou une partie de système Si elle définit une partie d’un système, elle sera composée avec autres machines Plusieurs méthodes de communications ont été utilisées Nous en discuterons ici deux:  Synchrones  Asynchrones
  • 15. INF6001 Chap 2 15 Communication asynchrone  Dans la communication asynchrone, les machines communiquent par des canaux pouvant contenir des primitives de communication (PDUs ou SDUs)  Normalement modélisés par des files FIFO infinies et sans pertes de donné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 son travail, 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. … … CAB CBA Machine A Machine B A B Service Provider
  • 16. INF6001 Chap 2 16 Modè les de machines à é tats finis communicantes asynchrones (appelé s aussi CSM ou CFSM, Communicating Finite-state Machines) Machines à états finis communicantes à moyen de files d’attentes P.Ex un client et serveur. 1 requête d’accès 2 permission d’accès 3 refus d’accès 4 terminaison d’accès … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 ?4
  • 17. INF6001 Chap 2 17 Exé cution du systè me  L’état global initial est  l’ensemble de tous les états initiaux des composants  et l’ensemble de tous les contenus de files initiales  Dans ce cas <10,20>,<ε, ε>  ε file vide…  Dans cet état, le seul événement qui peut se produire est l’envoi d’un 1 par le client  Il est mis dans la file, puis qui peut se produire est la réception de 1 de la part du serveur client serveur … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes …… …… !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 ?4
  • 18. INF6001 Chap 2 18 Construction de la machine globale du systè 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’état suivant, 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 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 …… …… !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 C12 C21 ?4
  • 19. Transitions possibles à l’é tat initial? INF6001 Chap 2 19 … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 ?4 Transitions possibles à l’état initial?
  • 20. Transitions possibles? INF6001 Chap 2 20 … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 ?4 1
  • 21. Transitions possibles? INF6001 Chap 2 21 … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 ?4
  • 22. Retrouver un é tat pré cé dent INF6001 Chap 2 22 … … !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 ?4 Après la trace: !1, ?1, !3 nous nous retrouvons à l’état global suivant: 3 La seule transition possible nous ramène à un état déjà vu.
  • 23. INF6001 Chap 2 23 La 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 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 …… …… !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 C12 C21 !1 ?1 !3 !2 ?2 !4 !1 ?4 ?4 ε : canal vide [4,1] :canal contenant 4 puis 1 ?4 ?3
  • 24. INF6001 Chap 2 24 É quivalence d’é tats Pourquoi sommes-nous retournés à un état précédent aprè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 et le contenu des canaux est le même Plus en général, deux états sont équivalents s’ils permettent les mêmes séquences d’événements futurs
  • 25. INF6001 Chap 2 25 Machines globales finies et infinies On voit que C12 n’aura jamais plus de 2 messages et C21 jamais plus d’1 Nous avons ici une machine globale qui est finie  La machine globale d’un système n’est pas nécessairement finie  Nous pouvons avoir un nombre infini d’états si les files peuvent grandir à longueurs arbitrairement grandes  Le fait qu’une file puisse être infinie est une caractéristique à prendre en considération (nous verrons…)
  • 26. INF6001 Chap 2 26INF6001 Chap 2 Machines infinies Une file peut grandir ‘à jamais’  Dans ce cas, il y aura (au moins) un chemin dans l’arbre d’accessibilité dans lequel la machine pourra avoir un nombre toujours grandissant d’états.  Dans ce chemin, la machine globale ne retournera jamais à un état déjà vu  Donc, machine globale infinie. !a ?a La machine de droite n’est pas obligée à prendre tout de suite canaux
  • 27. INF6001 Chap 2 27 Analyse d’accessibilité Le processus d’obtenir la machine globale à partir des machines locales s’appelle  Analyse d’accessibilité, reachability analysis Le graphe obtenu faisant l’analyse d’accessibilité s’appelle  Graphe d’accessibilité
  • 28. INF6001 Chap 2 28 Critique du modè le de communication asynchrone Le modèle de communication asynchrone représente bien la faç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 et peuvent 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. INF6001 Chap 2 29 Repré sentation de canaux avec files non- FIFO Deux manières:  Représenter la perte ou autres dans une des deux machines communicantes, p.ex. dans le récepteur:  Ou sinon définir les canaux avec un troisième processus, voir modèle synchrone ?perte ?réception Dans ce cas le message est ignoré
  • 30. INF6001 Chap 2 30 Modè 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 communication partagé  La communication entre deux entités est un fait qui implique les deux simultanément  Une entrée et une sortie deviennent une seule action Mécani sme de commu nication Machine A Machine B
  • 31. INF6001 Chap 2 31 Machine globale pour le cas synchrone (aussi appelé e composition synchrone) !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 ?4 La combinaison de ! 1 et ?1 donne une seule action 1 13 2 10,20 11,21 12,22 4
  • 32. INF6001 Chap 2 32 Critique du modè le synchrone L’envoyeur et le récepteur sont bloqués ensemble pendant l’exécution d’une opération en commun Peu apprécié par les ingénieurs de télécom car ils sont plutôt habitués à penser en termes de envoyer- continuer Utilisé dans les algèbres de processus: CCS, CSP, LOTOS
  • 33. INF6001 Chap 2 33 Ré lation entre les deux modè les Le modèle synchrone peut modéliser le modèle asynchrone par l’utilisation d’entités ‘canaux’ intermédiaires Le modèle asynchrone avec files de longueur 0 correspond au modèle synchrone canaux A B
  • 34. INF6001 Chap 2 34 Conditions d’erreur dans les systè mes synchrones  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, une impasse est considérée un problème !1?3 ?2 !6 10 11 12 ?1!3 !2 20 21 22 ?4 13 2 10,20 11,21 12,22Impasse, pas d’état successeur
  • 35. INF6001 Chap 2 35 Conditions d’erreur dans les systè mes asynchrones Dans le cas asynch, il y a plusieurs cas d’erreur  Impasse = deadlock: un état accessible dans lequel tous les canaux sont vides et aucun processus ne peut envoyer  Réception non spécifiée: il y a un message au début d’un canal qui ne peut pas être reçu car il n’y a pas de transition appropriée (spec incomplète)  Réception non-spécifiée bloquante: il y a une réception non spécifiée et à cause de ça le système se trouve en impasse  Transitions non-exécutables: pas une erreur bloquante, mais pourrait être un symptome d’un problème de conception  Etats non-exécutables: pas une erreur bloquante, mais pourrait être un symptome d’un problème de conception
  • 36. INF6001 Chap 2 36 Un CFSM trè s malade… !a?d 10 11 12 ?b !c ?b ?b … … C12 C21 20 21 22 23 ?c !b ?a !d ?a
  • 37. INF6001 Chap 2 37 Arbre 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 !b etc. etc. !c !b ?b ?a ?b !c Impasse Canaux vides, Aucune action possible Réceptions non specifiées: a ne peut pas être reçu, mais il y a d’autres actions possibles Réception non specifiée bloquante: c ne peut pas être reçu et il n’y a pas d’autres actions possibles a!
  • 38. Ré ception non-spé cifié e bloquante Après la trace !b, ?b, !c INF6001 Chap 2 38 !a?d 10 11 12 ?b !c ?b ?b … … C12 C21 20 21 22 23 ?c !b ?a !d ?a !a?d 10 11 12 ?b !c ?b ?b …… …… C12 C21 C12 C21 20 21 22 23 ?c !b ?a !d ?a <12,21>,< c, ε > Machine 2 ne peut pas recevoir le c Machine 1 ne peut rien envoyer, ni recevoir c
  • 39. Impasse - deadlock INF6001 Chap 2 39 <12,22>,< ε, ε > Les deux machines ne peuvent rien envoyer Et il n’y a rien à recevoir dans les files! !a?d 10 11 12 ?b !c ?b ?b … … C12 C21 20 21 22 23 ?c !b ?a !d ?a !a?d 10 11 12 ?b !c ?b ?b …… …… C12 C21 C12 C21 20 21 22 23 ?c !b ?a !d ?a
  • 40. Ré ception non spé cifié e non bloquante INF6001 Chap 2 40 !a?d 10 11 12 ?b !c ?b ?b … … C12 C21 20 21 22 23 ?c !b ?a !d ?a !a?d 10 11 12 ?b !c ?b ?b …… …… C12 C21 C12 C21 20 21 22 23 ?c !b ?a !d ?a <12,20>,<ac,ε> La file C12 contient a au début mais la machine 2 est dans son état 20 et ne peut pas le recevoir Ceci ne bloque pas le système car les deux machines peuvent envoyer des messages Possibilité d’erreur, cas à étudier ac
  • 41. INF6001 Chap 2 41 Dans 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 !b etc. etc. !c !b ?b ?a ?b !c Impasse Réceptions non specs Réceptions non spec bloquante <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 !b etc. etc. !c !b ?b ?a ?b !c Impasse Réceptions non specs Réceptions non spec bloquante !a?d 10 11 12 ?b !c ?b ?b … … C12 C21 20 21 22 23 ?c !b ?a !d ?a !a?d 10 11 12 ?b !c ?b ?b …… …… C12 C21 C12 C21 20 21 22 23 ?c !b ?a !d ?a
  • 42. INF6001 Chap 2 43 Gé né ralisation au cas de plusieurs machines  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, … machines communicantes  Tant dans le cas de composition synchrone, que asynchrone  Et effectivement, tout système de protocoles a besoin d’au moins 4 machines pour pouvoir être exprimé complètement: Usager A ProtocoleProtocole Usager B Les machines pour les usagers pourraient être extrêmement simples: Prendre des données, les utiliser, prendre, utiliser…
  • 43. INF6001 Chap 2 45 Problè mes fondamentaux dans l’analyse des protocoles Problèmes d’indécidabilité Problèmes d’explosion d’états
  • 44. INF6001 Chap 2 47 Entrelacement d’é vé nements et explosion d’é tats  Malheureusement, même dans le cas de canaux bornés, nous aurons toujours l’explosion d’états, à cause du besoin de considérer toutes les possibilités d’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 machines de 2 états.  Et ce nombre monte de façon exponentielle! A B X Y !m !n A,X B,X B,Y A,Y !m !m !n !n Deux scénarios possibles
  • 45. INF6001 Chap 2 48 Calcul du nombre d’é tat globaux (Cas Asynchrone) Si nous composons deux machines de M et N états, nous pourrions avoir pour ce fait MxN états Ceci se trouve augmenté par le nombre de configurations possibles des deux canaux  Pour calculer ce dernier, il faut faire une hypothèse concernant leur longueur maximale Un canal de dimension maximale 1 et avec p messages possibles peut être ou bien vide ou bien contenir un des messages  Ceci fait p0 +p1 possibilités Un canal de dimension maximale 2 et avec p messages possibles peut être vide, ou peut contenir un message, ou peut contenir 2 messages  Ceci fait p0 +p1 +p2 possibilités
  • 46. INF6001 Chap 2 49 Formule 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 machine globale en principe est un problème de complexité exponentielle M x N x (p0 +p1 +...+pm ) x (q0 +q1 +...+qn )
  • 47. INF6001 Chap 2 50 Exemple – diapo suivante Dans le cas du protocole client-serveur déjà discuté, nous avons:  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 = 189 Dont seulement 8 sont accessibles comme nous avons vu.
  • 48. INF6001 Chap 2 51INF6001 Chap 2 51 La 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 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 …… …… !1?3 ?2 !4 10 11 12 ?1!3 !2 20 21 22 Files FIFO et sans pertes C12 C21 C12 C21 !1 ?1 !3 !2 ?2 !4 !1 ?4 ?4 ε : canal vide [4,1] :canal contenant 4 puis 1 ?4 ?3
  • 49. INF6001 Chap 2 52 Analyse d’accessibilité Cas synchrone Dans le cas synchrone, le nombre max d’états est le produit des nombre des états des machines communicantes Cependant il faudra avoir plus de machines, car il faudra représenter les canaux en utilisant des machines additionnelles canaux A B
  • 50. INF6001 Chap 2 53 En pratique Malgré la complexité élevée du problème de l’analyse d’accessibilité, des logiciels optimisés disponibles aujourd’hui permettent de construire le graphe d’accessibilité de protocoles réels  Centaines de millions d’états