un programme pour l’analyse de protocoles de communication

Post on 19-Jan-2016

25 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

Un programme pour l’analyse de protocoles de communication

Projet de synthèse proposé par

Luigi Logrippo

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

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

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

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

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

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

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

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

top related