13
UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse http://www.laas.fr/~robert [email protected]

UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert [email protected]

Embed Size (px)

Citation preview

Page 1: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 1

UML / Réseaux de PetriValidation / Vérification

Robert Valette

LAAS-CNRS Toulouse

http://www.laas.fr/~robert

[email protected]

Page 2: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 2

Spécification informelle

Imprimante

Console

BureauVoisin

• tâche 1– on imprime un texte "Imp1" (imprimante)– on valide la signature "Val" (console)

• tâche 2– on entre un texte "Edit" (console)– on imprime le "Imp2" (imprimante)

Page 3: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 3

Diagramme de collaboration

imprimante console

D.Imp1D.Val

F.Val

D.Imp2

F.Imp2

D.Edit

Page 4: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 4

Diagramme de séquence

Cas 1 : Impression puis validation de la signature

imprimante console

D.Imp1

Fin

F.Val

D.ValImp1

Val

Page 5: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 5

Diagramme de séquence

Cas 2 : Edition puis impression

imprimante console

D.Edit

Fin

F.Imp2

D.Imp2Edit

Imp2

Page 6: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 6

Diagramme Etats-Transitions

Objet imprimante

prêt Imp2Imp1

attenteVal

D.Imp2

F.Imp2

D.Imp1

F.Imp1

F.ValD.Val

Page 7: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 7

Diagramme Etats-Transitions

Objet console

prêt EditD.EditD.Val

Val

F.Val F.Imp2D.Imp2

attenteImp2

F.Edit

Page 8: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 8

Réseau de Petri (1)

• C'est un ensemble d'automates à états finis communicants

• Pour pouvoir analyser :– on représente les états internes des automates et les communications entre les

automates avec les mêmes primitives

• Graphe avec deux types de nœuds– les états (partiels = des automates) sont des ronds ce sont les places

– les transitions (arcs dans la représentation des automates) sont des rectangles (barres)

• Les communications– asynchrones : ajout (ou fusion) de places

– synchrones : fusion (ou ajout) de transitions

Page 9: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 9

Réseau de Petri (2)imprimante

console

Imp1

D.Val_m

Val

F. Val

F.Imp2

Edit

Imp2

D.Imp2_m

D.ValA.Val

D.Imp1

F.Imp1

D.Imp2

D.Edit

F.Edit

D.Imp2

Page 10: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 10

Analyse formelle (1)

• La simulation n'est pas exaustive

• Enumération des états (si nombre fini)

• La séquence– D.Imp1; D.Edit; F.Imp1; F.Edit

mène à un bloquage mortel– état = marquage : D.Val D.Val_m D.Imp2 D.Imp2_m

• Les places "D.Val" et D.Imp2" ne servent à rien (redondantes)

Page 11: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 11

Analyse formelle (2)

Sans blocage :imprimante

console

Imp1

D.Val_m

Val

F. Val

F.Imp2

Edit

Imp2

D.Imp2_m

opérateurD.Imp1

F.Imp1

D.Edit

F.Edit

Page 12: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 12

Analyse formelle (3)

Avec blocage :opérateur

imprimante

console

Imp1

D.Val_m

Val

F. Val

F.Imp2

Edit

Imp2

D.Imp2_m

D.Imp1

F.Imp1

D.Edit

F.Edit

Page 13: UML - Réseaux de Petri, octobre 1999 1 UML / Réseaux de Petri Validation / Vérification Robert Valette LAAS-CNRS Toulouse robert robert@laas.fr

UML - Réseaux de Petri, octobre 1999 13

Conclusion

• la présence ou non de blocages mortels peut dépendre– de la structure du réseau de Petri, c'est-à-dire de celles des automates et de leurs

communications

– mais aussi du marquage initial (nombre d'automates identiques)

• C'est un problème critique

• Prouver l'absence de blocage est un problème difficile