un programme pour l’analyse de protocoles de communication

9
Un programme pour l’analyse de protocoles de communication Projet de synthèse proposé par Luigi Logrippo

Upload: stevie

Post on 19-Jan-2016

25 views

Category:

Documents


0 download

DESCRIPTION

Un programme pour l’analyse de protocoles de communication. Projet de synthèse proposé par Luigi Logrippo. Importance des modèles de machines communicantes. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Un programme pour l’analyse de protocoles de communication

Un programme pour l’analyse de protocoles de communication

Projet de synthèse proposé par

Luigi Logrippo

Page 2: Un programme pour l’analyse de protocoles de communication

Importance des modèles de machines communicantes

Les modèles de machines communicantes se prêtent très bien à représenter les protocoles de communication, protocoles téléphoniques ou autres

En analysant le modèle, il est possible de valider le système et voir s’il est susceptible de fautes comme interblocages (deadlock) ou autres

Page 3: Un programme pour l’analyse de protocoles de communication

Communication asynchroneDDans la communication asynchrone, les machines communiquent par des canaux pouvant contenir des messagesNNormalement modélisés par des files FIFO infinies et sans pertes de donnéesUUne 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 tardLL’autre machine prendra des données de la file quand elle voudra.

…C12

C21

Machine A Machine B

A B

Service Provider

Page 4: Un programme pour l’analyse de protocoles de communication

Modèles de machines à états finis communicantes asynchrones(appelés aussi CSM ou CFSM, Communicating Finite-state Machines)

MMachines à états finis communicantes au moyen de files d’attentes

P.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

!4

10

11

12

?1!3

!2

20

21

22

Files FIFO et sans pertes

C12

C21

?4

! = envoi de message? = réception de message

Page 5: Un programme pour l’analyse de protocoles de communication

Exécution du système

LL’état global initial est lL’ensemble de tous les états initiaux des composantseEt l’ensemble de tous les contenus de files initiales

DDans ce cas <10,20>,<ε, ε>ε file vide…

DDans cet état, le seul événement qui peut se produire est l’envoi d’un 1 par le clientI1 est mis dans la file FIFO, puis la seule chose 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

Page 6: Un programme pour l’analyse de protocoles de communication

Machine globale du systèmeCChaque état global du système spécifie:

LL’état des deux machines communicantesLLe contenu des deux files

PPar exemple, au début les deux machines sont dans leur état initialLLe 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 étatLLe serveur peut puis recevoir cet 1AAprès ça, le client peut envoyer

un 3, ce qui change l’état global à <11,20>, avec un 3 dans la file de sortie du clientou un 2, ce qui change l’état global à <11,22>, avec un 2 dans la file de sortie du client

Eetc.

…!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

Page 7: Un programme pour l’analyse de protocoles de communication

La machine globale du système

<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

Page 8: Un programme pour l’analyse de protocoles de communication

Le projet

Écrire un programme Préférablement en Java, cependant autres langages

pourront être discutésQui accepte en entrée la description de deux machines

à état fini communicantes Petit GUI à programmer

Et construit l’automate global qui représente le comportement conjoint des machines Indiquant aussi la possibilité d’interblocages et autres erreurs

communs

Page 9: Un programme pour l’analyse de protocoles de communication

Pour informations ultérieures

Chapitre 2 de mon cours gradué http://w3.uqah.uquebec.ca/luigi/INF6001/index.html

Aussi livre de Tanenbaum: Réseaux. Dans l’édition que j’ai c’est la Section 3.5 ou sinon il y aura une section sur Spécification et Vérification de protocoles