• Aucun résultat trouvé

Mod´elisation et sp´ecification – Master 2 Informatique TD 1 : Syst`emes de transitions ´etiquet´es, (bi)simulation

N/A
N/A
Protected

Academic year: 2022

Partager "Mod´elisation et sp´ecification – Master 2 Informatique TD 1 : Syst`emes de transitions ´etiquet´es, (bi)simulation"

Copied!
3
0
0

Texte intégral

(1)

Mod´elisation et sp´ecification – Master 2 Informatique TD 1 : Syst`emes de transitions ´etiquet´es, (bi)simulation

Tampon avec acquittement

En cours, vous avez mod´elis´e et sp´ecifi´e l’exemple d’un tampon `a une place qui re¸coit des donn´ees par unport ´etiquet´e par putet qui envoie ces donn´ees par un port ´etiquet´eget. Dans cet exercice on vous demande de mod´eliser un tampon `a une place qui, pour chaque donn´ee re¸cue, il envoie un acquittement

`

a l’´emetteur. Plus pr´ecis´ement, en plus des portsgetet put, ce tampon comporte : – un portackputsur lequel il re¸coit l’acquittement et

– un portackgetsur lequel il envoie l’acquittement re¸cu.

Exercice1 : Premier essai

Une implementation possible de ce type de tampon re¸coit et envoie la donn´ee, puis re¸coit et envoie l’acquittement.

1. Donner une mod´elisation de cette implementation.

2. Comparer son comportement avec celui du tampon `a une place simple en utilisant les diff´erentes relations ´etudi´ees en cours : inclusion de traces, simulation, etc.

3. Refaire le point pr´ec´edent si les ports ackputetackgetsont renomm´es vers l’action interneτ. 4. On compose en parall`elencopies du mod`ele obtenu tel que les portsgetetackputcommuniquent

avec les ports putrespectivementackgetdu voisin de gauche.

Donner une trace du syst`eme ainsi obtenu.

Est-ce une trace d’un tampon `anplaces avec acquittement ? (Un tel tampon acquitte chaque donn´ee re¸cue.)

Exercice2 : Deuxi`eme essai

Une autre impl´ementation du tampon avec acquittement envoie l’acquittement surackgetimm´ediatement apr`es avoir re¸cu la donn´ee sur le portput, ensuite il renvoie la donn´ee surgetet attend son acquittement surackput.

1. Donner une mod´elisation de cette impl´ementation.

2. Comparer son comportement avec celui du tampon `a une place simple en utilisant les diff´erentes relations ´etudi´ees en cours quand les portsackputet ackgetsont renomm´es versτ.

3. On compose en parall`elencopies du mod`ele obtenu selon les indications de l’exercice pr´ec´edent.

Donner une trace du syst`eme ainsi obtenu.

Est-ce une trace d’un tampon `a nplaces avec acquittement ?

Un autre exemple

Exercice 3 : L’atelier de Milner

Deux personnes partagent deux outils — un marteau et une tenaille — pour fabriquer des objets en partant des composantes simples. Chaque objet est manufactur´e en introduisant un bˆaton dans un block.

On appelle la paire bˆaton et block une tache ; les taches arrivent en s´equence sur un tapis roulant d’entr´ee et, apr`es leur fabrication, les objets sont d´epos´es sur un autre tapis roulant, celui de d´epart.

Une personne r´ep`ete les actions suivantes : il prend une tache sur le tapis et en fonction de sa difficult´e il utilise aucun outil (si tache facile), le marteau (si tache difficile), ou un des outils disponible (sinon) ; puis il d´epose l’objet sur le tapis de d´epart.

Un outil peut ˆetre pris ou d´epos´e.

1. Donner un mod`ele STE pour une personne.

(2)

2. Donner un mod`ele STE pour chaque outil. Essayer de r´eutiliser au maximum vos mod`eles.

3. Donner un mod`ele complet de l’atelier.

4. Si on observe que les actions de prise d’une tache et de d´epˆot d’un objet, donner une sp´ecification de cet atelier.

5. Donner le mod`ele STE d’une personne tr`es forte qui est capable d’effectuer sa tache sans utiliser les outils.

6. De point de vue de l’ext´erieur, la personne forte est-elle “´equivalente” `a la personne qui utilise les outils ? Pr´eciser la relation d’´equivalence que vous avez utilis´ee.

Algorithme d’exclusion mutuelle

Exercice 4 : Algorithme de Dekker

Soit l’algorithme d’exclusion mutuelle suivant : 1 b i t wantP1 = 0 , wantP2 = 0 ;

2 i n t tur n = 1 ; // 1 pour P1 , 2 pour P2 3 p r o c e s s P1 ( ) {

4 while ( t r u e ) { 5 n o n c r i t i q u e 1 ;

6 wantP1 = 1 ;

7 while ( wantP2 == 1 ) { 8 i f ( tur n == 2 ) {

9 wantP1 = 0 ;

10 while ( tur n != 1 ) ;

11 wantP1 = 1 ;

12 }

13 }

14 c r i t i q u e 1 ;

15 tur n = 2 ;

16 wantP1 = 0 ;

17 }

18 } 19

20 p r o c e s s P2 ( ) { 21 while ( t r u e ) { 22 n o n c r i t i q u e 2 ;

23 wantP2 = 1 ;

24 while ( wantP1 == 1 ) { 25 i f ( tur n == 1 ) {

26 wantP2 = 0 ;

27 while ( tur n != 2 ) ;

28 wantP2 = 1 ;

29 }

30 }

31 c r i t i q u e 2 ;

32 tur n = 1 ;

33 wantP2 = 0 ;

34 }

35 }

1. Comment peut-on mod´eliser les variables globales de cet algorithme en utilisant les syst`emes de transitions ? Indication : partez des leurs valeurs possibles et des op´erations qui sont effectu´ees sur ces variables.

(3)

2. Donner un mod`ele de chaque processus de l’algorithme.

3. En utilisant les mod`eles d´ej`a ´ecrits, donner un mod`ele complet de cet algorithme.

4. En consid´erant que les seules actions observables sont non critique iet critique i(i∈1..2), est-ce qu’on peut donner une sp´ecification sous forme de STE du comportement correcte de cet algo- rithme ?

5. Quelle est la relation qui doit ˆetre utilis´ee pour comparer le STE mod`ele avec le STE sp´ecification ?

Références

Documents relatifs

Saisir, ou copier, les lignes pr´ec´edentes et enregistrer le fichier sous le nom ”prog.sce”.. Exercice 2 : A partir de l’exercice 1 pr´ec´edent, tracer sur un graphique ` a)

A travers cet exemple, on peut identifier plusieurs ´ el´ ements : L’ensemble de tous les candidats possibles :. tous les parcours possibles Une fonction de coˆ

Donner un invariant inductif impliquant que ` a tout moment deux philosophes assis ` a cˆ ot´e ne peuvent pas mang´e en

Un client qui se pr´esente `a l’entr´ee de la piscine effectue les ´etapes suivantes : (1) il doit demander et obtenir un panier vide, (2) il doit attendre qu’une cabine se

Le processus P 1 r´ ealise au sein d’une boucle infinie r´ ep´ etitive les actions suivantes : il teste si le verrou V 1 est libre, si c’est le cas, il le prend, puis il prend

Donnez le STE S C du contrˆoleur qui suit les r`egles suivantes : ` a tout moment si il n’y a pas de voiture sur le pont, il peut changer la direction du pont, si il y a une voiture

On suppose que chaque couleur correspond ` a une proposition atomique diff´ erente : rouge, vert, violet.. Figure 1 – Mod` eles pour

Le comportement attendu de la machine est le suivant : lorsqu’un usager souhaite une boisson, il commence par mettre une pi` ece de 50 ¢ (la proposition P 50 ¢ est alors vraie), puis