• Aucun résultat trouvé

Mod´elisation et sp´ecification – Master 2 Informatique TD 4 : STE et Graphes de programmes

N/A
N/A
Protected

Academic year: 2022

Partager "Mod´elisation et sp´ecification – Master 2 Informatique TD 4 : STE et Graphes de programmes"

Copied!
2
0
0

Texte intégral

(1)

Mod´ elisation et sp´ ecification – Master 2 Informatique TD 4 : STE et Graphes de programmes

Exercice 1 : Des voitures et un pont

On consid`ere un syst`eme avec deux voitures, un pont et un contrˆoleur de pont unidirectionnel. Une voiture arrive par la gauche du pont et l’autre par la droite. Le pont ne laisse passer `a chaque instant que des voitures venant de la gauche ou que des voitures venant de la droite. Le contrˆoleur peut changer la direction du pont si il n’y a pas de voitures dessus. On consid´erera l’ensemble des messages suivants pour notre mod´elisation :

— EG : la voiture gauche entre sur le pont

— QG : la voiture gauche quitte le pont

— ED : la voiture droite entre sur le pont

— QD : la voiture droite quitte le pont

— D : le pont signale qu’il laisse passer les voitures venant de la droite

— G : le pont signale qu’il laisse passer les voitures venant de la gauche

— C : le contrˆoleur change la direction du pont

On souhaite donner un mod`ele pour ce syst`eme en utilisant les STE (et leurs op´erateurs de composition).

Afin de vous aider voil`a comment le comportement du pont, dont on suppose au d´ebut qu’il laisse passer les voitures venant de droite, pourrait ˆetre repr´esent´e.

0 1

D C

C G

Figure 1 – STE S

P

repr´esentant le comportement du pont

1. Mod´elisez avec le STE S

D

le comportement de la voiture venant de droite qui suit les r`egles suivantes, si la direction du pont est droite, elle entre sur le pont, puis quitte le pont.

2. ` A partir du STE pr´ec´edent, donner le STE S

G

de la voiture venant de gauche.

3. 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 sur le pont il doit attendre que celle-ci quitte le pont pour changer la direction du pont.

4. Donnez la d´efinition du syst`eme entier S (en utilisant la synchronisation de syst`emes avec les alphabets de synchronisation ad´equates) et dessiner-le.

5. Donnez une formule LTL qui sp´ecifie qu’on n’a jamais sur le pont une voiture droite et une voiture gauche. Votre syst`eme v´erifie-t-il cette formule ?

0 1 2 3 4

EG ED QG QD

Figure 2 – STE S

3

Exercice 2 : Un algorithme simple

b o o l e a n D1:= f a l s e , D2 = f a l s e ; // v a r i a b l e s p a r t a g ´e e s

(2)

−− P r o c e s s u s P w h i l e ( t r u e ) {

s e c t i o n non−c r i t i q u e ; D1:= t r u e ;

w h i l e (D2==t r u e ){ } s e c t i o n c r i t i q u e ; D1:= f a l s e ;

}

−− P r o c e s s u s Q w h i l e ( t r u e ) {

s e c t i o n non−c r i t i q u e ; D2:= t r u e ;

w h i l e (D1==t r u e ){ } s e c t i o n c r i t i q u e ; D2:= f a l s e ;

}

1. Proposez des STE S

D1

et S

D2

pour mod´eliser les variables D1 et D2 . 2. Proposez un STE S

P

pour mod´eliser le comportement du processus P .

3. ` A partir du STE pr´ec´edent, proposer un STE pour mod´eliser le comportement du processus Q.

4. Donnez la d´efinition du STE caract´erisant tout le syst`eme.

5. Est-il possible que deux processus se retrouvent en mˆeme instant en section critique ? Justifiez votre r´eponse.

6. Quel est-le probl`eme que pose cet algorithme d’exclusion mutuelle ? Donner une ex´ecution du STE permettant d’arriver ` a cette situation probl´ematique.

Exercice 3 : Algorithme de Dekker

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

i n t t u r n = 1 ; // 1 pour P1 , 2 pour P2

p r o c e s s P1 ( ) { w h i l e ( t r u e ) {

n o n c r i t i q u e 1 ; wantP1 = 1 ;

w h i l e ( wantP2 == 1 ) { i f ( t u r n == 2 ) {

wantP1 = 0 ;

w h i l e ( t u r n != 1 ) ; wantP1 = 1 ;

} }

c r i t i q u e 1 ; t u r n = 2 ; wantP1 = 0 ; }

}

p r o c e s s P2 ( ) { w h i l e ( t r u e ) {

n o n c r i t i q u e 2 ; wantP2 = 1 ;

w h i l e ( wantP1 == 1 ) { i f ( t u r n == 1 ) {

wantP2 = 0 ;

w h i l e ( t u r n != 2 ) ; wantP2 = 1 ;

} }

c r i t i q u e 2 ; t u r n = 1 ; wantP2 = 0 ; }

}

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.

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. Proposez maintenant un mod`ele de l’algorithme en utilisant des graphes de programmes.

5. Quelle est la diff´erence entre le syst`eme de transitions ´etiquet´es obtenu `a partir du graphe de programmes de la question pr´ec´edente et celui construit ` a la question 3. ?

6. Exprimer ` a l’aide d’une formule LTL une propri´et´e d´ecrivant l’exclusion mutuelle. Cette formule

est-elle satisfaite par votre syst`eme ? Justifiez votre r´eponse.

Références

Documents relatifs

Montrer que la condition initiale et toutes ses d´ eriv´ ees en x = 0 convergent uniform´ ement vers 0, tandis que, pour tout x > 0, la solution trouv´ ee u(x, y) et toutes ses

Quelque soit l’ex´ecution, tout p sera in´evitablement suivi d’un q dans un futur strict.. Chaque q impose que p devienne vrai avant une ´eventuelle occurrence

La route A est prioritaire sur la route B, ainsi les voitures arrivant sur la route B ne peuvent traverser le carrefour que si il n’y a pas de voiture sur la route A ` a moins de 200

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

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