m e d a l n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
M.E.D.A.L. PowerPoint Presentation
Download Presentation
M.E.D.A.L.

Loading in 2 Seconds...

play fullscreen
1 / 79

M.E.D.A.L. - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

M.E.D.A.L. IUP-MIAGE 1ère année. Module d’Enseignement à Distance pour l’Architecture Logicielle. Les réseaux de PETRI (2). Diapositive n° 1. IUP MIAGE - Université de NANTES. Alain VAILLY. AVERTISSEMENT.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'M.E.D.A.L.' - mura


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
m e d a l

M.E.D.A.L.

IUP-MIAGE 1ère année

Module d’Enseignement à Distance pour l’Architecture Logicielle

Les réseaux de PETRI (2)

Diapositive n° 1

IUP MIAGE - Université de NANTES

AlainVAILLY

slide2

AVERTISSEMENT

L’usage de ce document, sous quelque forme que ce soit (électronique, papier…), à titre personnel ou devant des étudiants, est autorisé et libre de droits, à la condition expresse qu’il soit conservé dans l’état (et notamment qu’il comporte la page de garde et cet avertissement).

Tout autre usage, notamment commercial, toute diffusion via un serveur informatique, une liste de diffusion… est soumis à l’accord PRÉALABLE de son auteur.

Ce document constitue un TOUT. Toute coupe, toute modification non autorisée par son auteur sera assimilée à une atteinte aux droits de l’auteur et poursuivie comme telle devant les tribunaux.

Diapositive n° 2

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l1

Cours magistral

M.E.D.A.L.

Evaluation

Références

Contexte

Exercices

MEDAL

Corrigés des exercices

Etudes de cas

Auto-évaluation

Diapositive n° 3

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l2

informations

M.E.D.A.L.

fonctions

PLAN

comportements

1) Introduction

2) Notions de base

Cours magistral

3) Utilisation des Réseaux de PETRI

4) Extensions intéressantes

- le modèle E-A-P

5) Conclusion

- le modèle relationnel

- les réseaux de PETRI

- les modèles de traitement de Merise

Diapositive n° 4

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l3

4.1) Arcs inhibiteurs

4.2) Réseaux colorés

2.1) Arcs, places et transitions

2.2) Jetons, poids et marquages

2.3) Notions complémentaires

2.4) Dynamique des RdP

3.1) Modélisation

3.1.1) Logique sous-jacente

3.1.2) Modélisation

3.1.3) Erreurs à éviter

3.2) Vérification de propriétés

3.2.1) Définitions complémentaires

3.2.2) Vérification de propriétés

3.2.3) A propos de l’équation d’état

Cours magistral

1) Introduction

M.E.D.A.L.

4) Extensions intéressantes

2) Notions de base

3) Utilisation des Réseaux de PETRI

PLAN

5) Conclusion

Diapositive n° 5

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l4

1) Rappels

M.E.D.A.L.

  • Modèle comportemental,
  • Formalisme basé sur quelques notions simples comme place, transition, arc, jeton,
  • évolution du système reposant sur un moniteur d’exécution, qui sélectionne les transitions, consomme des jetons et en produit d’autres,
  • Visualisation de cette évolution sous la forme d’un graphe des marquages accessibles.

Diapositive n° 6

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l5

3) Utilisation des Réseaux de PETRI

M.E.D.A.L.

Les réseaux de PETRI sont un langage d’expression de la synchronisation de processus entre eux. Si l’on veut se servir correctement de cet outil, il faut en comprendre la logique. La modélisation en sera meilleure, à la condition toutefois d’éviter quelques erreurs.

L’un des avantages de ce langage réside dans la possibilité de formalisation qu’il offre. Une fois « réduit » à des objets mathématiques, un RdP peut faire l’objet de calculs pour, par exemple, effectuer une vérification de propriétés.

Diapositive n° 7

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l6

P1

P3

P4

T2

3.1) Modélisation

3.1.1) Logique sous-jacente

M.E.D.A.L.

La logique sous-jacente aux transitions est le ET. Les places en entrée d’une transition sont liées les unes aux autres par un ET :

Pour déclencher T2, il faut un jeton dans la place P1

ET

un jeton dans la place P3

ET

un jeton dans la place P4.

Diapositive n° 8

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l7

P1

T1

P3

3.1) Modélisation

3.1.1) Logique sous-jacente

M.E.D.A.L.

De la même façon, les places en sortie d’une transition sont liées les unes aux autres par un ET.

Le déclenchement de T1 produit un jeton dans la place P1

ET

un jeton dans la place P3.

Diapositive n° 9

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l8

3.1) Modélisation

3.1.1) Logique sous-jacente

M.E.D.A.L.

Il n’est pas possible de mettre en place un NON (ceci sera permis par les arcs inhibiteurs -voir paragraphe consacré aux extensions), ni en entrée, ni en sortie.

Le OU ne peut pas se modéliser, ni en entrée ni en sortie (bien qu’un artifice puisse le laisser penser). Ceci sera également permis par une extension, la coloration des jetons et des transitions -voir paragraphe consacré aux extensions.

Diapositive n° 10

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l9

Ta

Px

Tb

3.1) Modélisation

3.1.1) Logique sous-jacente

M.E.D.A.L.

Beurk !!

Un jeton dans Px sera consommé par Ta OU par Tb, selon le choix du moniteur.

Ce choix n’est pas bien visible sur le RdP.

Diapositive n° 11

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l10

Px

Ta

Py

Ta-bis

Pz

3.1) Modélisation

3.1.1) Logique sous-jacente

M.E.D.A.L.

Beurk n° 2 !!

Tout n’est cependant pas réglé, car il y a maintenant 1 ou 2 jetons dans Pz… et on ne peut pas faire la distinction entre les jetons qui viennent de Px (via Ta) et ceux qui viennent de Py (via Ta-bis).

Diapositive n° 12

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l11

3.1.2) Modélisation

3.1.2.1) Que faire avec les RdP ?

M.E.D.A.L.

Il y a plusieurs modélisations possibles d’un système :

- description détaillée des processus mis en jeu,

- description globale du système.

plein de petits réseaux

- transitions-puits,

- transitions-sources.

un gros réseau

à synchroniser entre eux

Diapositive n° 13

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l12

3.1.2) Modélisation

3.1.2.2) Quels sont les éléments ?

M.E.D.A.L.

Les éléments disponibles pour la modélisation sont en nombre restreint :

- transitions,

- préconditions, postconditions,

- places,

- traitements,

- arcs,

- connecteurs,

- jetons.

- événements (discrets, continus),

- ressources.

La technique qui consiste à associer traitements et transitions (les flèches bleues) nous paraît la plus « naturelle ».

Diapositive n° 14

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l13

Préconditions de T1

T1

T1 est terminée

Préconditions de T2

Préconditions de Tx

= Postconditions de T1

T2

Tx

Postconditions de T2

Postconditions de Tx

PRINCIPE

= traitements

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les transitions

On découpe les traitements en séquences ininterruptibles que l’on ordonne logiquement, puis on exprime les pré et postconditions.

Diapositive n° 15

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l14

Préconditions de T1

Début T1

Fin T1

Postconditions de T1

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les transitions

Il existe une variante qui consiste à associer deux transitions à chaque traitement :

T1 est commencée

Fin de T1

Son défaut principal est de multiplier par deux le nombre de transitions nécessaires et de rajouter de nombreuses places.

Diapositive n° 16

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l15

Préconditions de T1

Début T1

T1 est commencée

Fin de T1

Demande arrêt de T1

Fin T1

Arrêt T1

Postconditions de T1

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les transitions

La seconde « technique » est préférable si l’on veut modéliser le fait que T1 est interruptible :

T1 interrompu

Diapositive n° 17

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l16

T4

Erreurs inexistantes

Bulletins contrôlés

Erreurs existantes

T6

T5

Bulletins acceptés

Bulletins rejetés

= conditions, signaux, disponibilités de ressources

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les places

Les places vont usuellement servir à représenter des lieux de stockage des conditions de déclenchement, des signaux, des disponibilités de ressources.

Diapositive n° 18

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l17

Demandes de billets

Vente par téléphone possible

Places disponibles

T1

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les jetons

Les jetons correspondront aux ressources, aux signaux, ...

Signaux

Evénement stable

Ressources

Diapositive n° 19

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l18

T0

T1

P1

Événement stable

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les jetons

Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Il y restera indéfiniment. Il y a donc deux états, un avant t1 (pas de jeton en P1), un après (un jeton en P1).

t1

Diapositive n° 20

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l19

T0

T1

P1

Événement stable

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les jetons

Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Il y restera indéfiniment. Il y a donc deux états, un avant t1 (pas de jeton en P1), un après (un jeton en P1).

t1

Diapositive n° 21

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l20

T0

T1

P1

Événement ponctuel

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les jetons

Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Lorsque la transition T1 sera déclenchée (en t2), il sera consommé. Il y a donc un jeton entre t1 et t2 et aucun « ailleurs ».

t1

Diapositive n° 22

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l21

T0

T1

P1

Événement ponctuel

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les jetons

Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Lorsque la transition T1 sera déclenchée (en t2), il sera consommé. Il y a donc un jeton entre t1 et t2 et aucun « ailleurs ».

t1

Diapositive n° 23

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l22

T0

T1

P1

Événement ponctuel

3.1.2) Modélisation

3.1.2.3) Comment faire ?

M.E.D.A.L.

avec les jetons

Jusqu’à t1 - e, la place P1 est vide, ce qui empêche le franchissement de T1. En t1, un jeton y est placé par la transition-source T0. Lorsque la transition T1 sera déclenchée (en t2), il sera consommé. Il y a donc un jeton entre t1 et t2 et aucun « ailleurs ».

t1

t2

Diapositive n° 24

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l23

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

Il y a plusieurs erreurs à éviter, hélas assez fréquentes (surtout si l’on ne fait pas appel à un outil de vérification). Les plus courantes sont les suivantes :

e1 - confusion jeton-information,

e2 - décomposition excessive,

e3 - mélange de logiques,

e4 - places non ré-amorcées,

e5 - production sélective de jetons.

Diapositive n° 25

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l24

Demandes de billets

Places disponibles

Vente par téléphone possible

T1

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e1 - confusion jeton-information

Une des erreurs les plus fréquentes !

Non !

Nom du client

Non !

Un jeton est une « variable » logique ; elle est vraie ou fausse. Le jeton est ou n’est pas !

N° place

Prix place

Diapositive n° 26

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l25

P1

P1

P2

P2

T1

T1

T2

Opération 1

Opération 2

Opération 1

Opération 2

Opération 3

Opération 4

Opération 5

P3

P4

P3

P5

Opération 3

Opération 4

Opération 5

T3

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e2 - décomposition excessive

mieux !

pas terrible !

Faut c’qui faut, rien de plus, rien de moins !

Diapositive n° 27

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l26

P1

P2

T1

T2

Opération 1

Opération 2

P5

P3

P4

P6

Opération 3

Opération 4

Opération 5

P7

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e2 - décomposition excessive

ATTENTION, toutefois, à ne pas regrouper des traitements qui ne le sont pas ! T2 ne peut être regroupée avec T1 (du fait de P6) ; T3 ne peut être regroupée avec T2 (du fait de P7).

T3

Diapositive n° 28

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l27

P1

P1

P2

P2

T2

T1

T1

T2

Opération 1

Opération 2

Opération 1

Opération 2

P5

P4

P3

P5

P3

P4

P6

Opération 3

Opération 4

Opération 3

Opération 4

Opération 5

Opération 5

P7

T3

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e2 - décomposition excessive

pas simplifiable !

simplifiable !

T3

Diapositive n° 29

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l28

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e3 - mélange de logiques

Modélisation du système

Lorsque l’on définit un RdP, à un moment, on se pose la question de savoir si l’on modélise le système globalement ou bien comme un ensemble de composants interagissants. La réponse à cette question engage le concepteur pour « la vie ».

Il faut savoir !! C ’est l’un ou l’autre, mais pas les deux !!

Modélisation d’un composant du système

Diapositive n° 30

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l29

P1

P2

P4

T1

T2

P3

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e4 - places non ré-amorcées

T1 et T2 sont des transitions alternatives.

Pour chaque jeton de P2, on peut déclencher T1 ou T2.

P3 est une condition nécessaire à l’exécution de T1 et à celle de T2.

C’est un drôle de fusil à un seul coup, vot’ truc, mon gars !

[1, 3, 1, 1]

T2

T1

Diapositive n° 31

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l30

P1

P4

P2

T1

T2

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e4 - places non ré-amorcées

T1 et T2 sont des transitions alternatives.

P3

Pour chaque jeton de P2, on peut déclencher T1 ou T2.

P3 est une condition nécessaire à l’exécution de T1 et à celle de T2.

C’est un drôle de fusil à un seul coup, vot’ truc, mon gars !

[1, 3, 1, 1]

T2

T1

[0, 2, 0, 1]

Blocage !!

Diapositive n° 32

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l31

P1

P2

P4

T1

T2

P3

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e4 - places non ré-amorcées

Il faut donc ré-amorcer la place P3 … des deux côtés !!

Ce « montage » ne permet toutefois pas de garantir l’exécution des deux transitions T1 et T2 dans de bonnes conditions.

Ça ne marche toujours pas ...

Cf vérification de propriétés

Diapositive n° 33

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l32

P2

P1

T1

P4

2

P3

3.1) Modélisation

3.1.3) Erreurs à éviter

M.E.D.A.L.

e5 - production sélective de jetons

La transition T1 est déclenchée si les conditions P1 et P2 sont vérifiées. A la suite du déclenchement, les conditions P3 ET P4 sont vérifiées (P3 l’est deux fois).

La production sélective de jetons survient lorsqu’une logique de type OU est mise en place. Sa détection est assez simple. Il suffit de paraphraser chaque transition (on exprime sa signification en français).

Diapositive n° 34

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l33

3.2) Vérification de propriétés

M.E.D.A.L.

  • L’un des intérêts (le seul ?) de ce formalisme,
  • Nécessite le recours à la formalisation (matrice d’incidence, séquence de franchissement, vecteur de comptage, équation d’état),
  • Propriétés structurelles (structure du réseau) et/ou comportementales (évolution du réseau),
  • Calculs à prendre « par le bon bout », faute de quoi les résultats peuvent être erronés.

Diapositive n° 35

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l34

3.2.1) Définitions complémentaires

3.2.1.1) Matrice d’incidence

M.E.D.A.L.

Un réseau peut être « réduit » à deux matrices, U+ et U-. Ces matrices sont des matrices dans lesquelles :

U+ production

U- consommation

- les lignes correspondent aux places du réseau,

- les colonnes correspondent aux transitions du réseau,

- les éléments correspondent à l’effet du déclenchement des transitions sur les places.

• O si pas d’effet

• W (Tj, Pi) si Pi S (Tj)

pour U+

• W (Pi, Tj) si Pi E (Tj)

pour U-

Diapositive n° 36

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l35

P1

P2

2

T1

P3

P4

T2

2

P5

3.2.1) Définitions complémentaires

3.2.1.1) Matrice d’incidence

M.E.D.A.L.

U+

U-

T1

T2

T1

T2

P1

1

0

P1

1

1

P2

0

0

P2

2

0

P3

1

0

P3

0

1

P4

0

0

P4

0

1

P5

0

2

P5

0

0

Ces matrices traduisent la structure et pas le marquage du réseau !

Diapositive n° 37

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l36

U

T1

T2

P1

0

-1

P2

-2

0

P3

+1

-1

P4

0

-1

P5

0

+2

3.2.1) Définitions complémentaires

3.2.1.1) Matrice d’incidence

M.E.D.A.L.

U+

U-

T1

T2

T1

T2

P1

1

0

P1

1

1

P2

0

0

P2

2

0

P3

1

0

P3

0

1

P4

0

0

P4

0

1

P5

0

2

P5

0

0

La matrice d’incidence, U, est obtenue grâce à la formule suivante :

U = U+ - U-

Diapositive n° 38

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l37

P1

P1

P2

P2

2

U

T1

T2

T1

T1

2

P1

0

-1

P3

P3

P2

-2

0

P4

P4

P3

+1

-1

P4

0

-1

T2

T2

P5

0

+2

2

P5

P5

2

3.2.1) Définitions complémentaires

3.2.1.1) Matrice d’incidence

M.E.D.A.L.

RdP avec boucle

*

*

Cette matrice d’incidence a un « point faible » : elle ne peut pas mettre en évidence une boucle.

RdP sans boucle

Diapositive n° 39

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l38

P1

U+

U-

T1

T2

T1

T2

P2

P1

0

0

P1

0

1

P2

0

0

P2

2

0

T1

2

P3

1

0

P3

0

1

P3

P4

0

0

P4

0

1

P4

P5

0

2

P5

0

0

T2

P5

2

3.2.1) Définitions complémentaires

3.2.1.1) Matrice d’incidence

M.E.D.A.L.

*

La seule façon de faire cette détection est de travailler avec les matrices U+ et U-.

RdP sans boucle

Diapositive n° 40

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l39

P1

U+

U-

T1

T2

T1

T2

P2

P1

1

0

P1

1

1

2

P2

0

0

P2

2

0

T1

P3

1

0

P3

0

1

P3

P4

0

0

P4

0

1

P4

P5

0

2

P5

0

0

T2

2

P5

3.2.1) Définitions complémentaires

3.2.1.1) Matrice d’incidence

M.E.D.A.L.

RdP avec boucle

*

La seule façon de faire cette détection est de travailler avec les matrices U+ et U-.

Ces deux matrices U+ et U- différent d’un RdP à l’autre.

Diapositive n° 41

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l40

[2, 5, 1, 4, 0]

T2

T1

[2, 3, 2, 4, 0]

[1, 5, 0, 3, 2]

T2

T1

T1

[2, 1, 3, 4, 0]

[1, 3, 1, 3, 2]

3.2.1) Définitions complémentaires

3.2.1.2) Séquence de franchissement

M.E.D.A.L.

Une séquence de franchissement est un chemin dans le graphe des marquages accessibles.

<T1>

<T1, T1>

<T2>

<T2, T1>

<T1, T2>

Diapositive n° 42

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l41

3.2.1) Définitions complémentaires

3.2.1.3) Vecteur de comptage

M.E.D.A.L.

Soit S une séquence de franchissement. On appelle vecteur de comptage de cette séquence, noté VS, le vecteur formé, pour chaque transition X, du nombre de fois où la transition X apparaît dans la séquence.

S = <T1, T2, T2, T2, T4, T3>

T = {T1, T2, T3, T4, T5, T6}

VS = [1, 3, 1, 1, 0, 0]

T6

T1

T2

T5

T3

T4

Diapositive n° 43

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l42

3.2.1) Définitions complémentaires

3.2.1.3) Vecteur de comptage

M.E.D.A.L.

ATTENTION ! Ce vecteur ne fait que compter le nombre d’apparition des transitions. Il ne donne pas, comme la séquence, l’ordre dans lequel celles-ci ont lieu.

T = {T1, T2, T3}

V = [1, 2, 1]

Le vecteur V ci-dessus est le vecteur de comptage de toutes les séquences de franchissement suivantes :

<T1, T2, T3, T2>

<T1, T3, T2, T2>

<T3, T1, T2, T2>

<T1, T2, T2, T3>

<T3, T2, T2, T1>

...

Diapositive n° 44

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l43

3.2.1) Définitions complémentaires

3.2.1.4) Equation d’état

M.E.D.A.L.

L’équation d’état permet de calculer l’évolution du RdP. Elle est définie comme suit :

Mt = M0t + U.VSt

où Xt représente la transposée de X.

M : marquage atteint après franchissement de la séquence S

M0 : marquage initial avant franchissement

U : matrice d’incidence

VS : vecteur de comptage de la séquence

Diapositive n° 45

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l44

P1

P2

M0t

2

2

U

T1

T2

5

T1

P1

0

-1

1

P3

P2

-2

0

4

P4

P3

+1

-1

0

P4

0

-1

T2

P5

0

+2

2

P5

3.2.1) Définitions complémentaires

3.2.1.4) Equation d’état

M.E.D.A.L.

Quel est le marquage obtenu après franchissement de la séquence <T1, T1> ?

S = <T1, T1>

VS = [2, 0]

Diapositive n° 46

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l45

M0t

M0t

2

2

U

T1

T2

5

5

P1

0

-1

0x2 - 1x0

1

1

VS

P2

-2

0

-2x2 + 0x0

4

4

2

P3

+1

-1

1x2 - 1x0

0

0

0

P4

0

-1

0x2 - 1x0

P5

0

+2

0x2 + 2x0

3.2.1) Définitions complémentaires

3.2.1.4) Equation d’état

M.E.D.A.L.

Mt = M0t + U.VSt

+

x

=

+

Diapositive n° 47

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l46

M0t

M0t

2

2

5

5

0

0x2 - 1x0

1

1

-4

-2x2 + 0x0

4

4

2

1x2 - 1x0

0

0

0

0x2 - 1x0

0

0x2 + 2x0

3.2.1) Définitions complémentaires

3.2.1.4) Equation d’état

M.E.D.A.L.

+

=

+

Diapositive n° 48

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l47

M0t

2

Mt

5

0

2

1

[2, 5, 1, 4, 0]

-4

1

T2

4

T1

2

3

0

[2, 3, 2, 4, 0]

[1, 5, 0, 3, 2]

T2

0

4

T1

T1

0

0

[2, 1, 3, 4, 0]

[1, 3, 1, 3, 2]

3.2.1) Définitions complémentaires

3.2.1.4) Equation d’état

M.E.D.A.L.

+

=

Le marquage obtenu après franchissement de la séquence <T1, T1> est [2, 1, 3, 4, 0].

Diapositive n° 49

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l48

3.2.2) Vérification de propriétés

3.2.2.1) Vivacité et blocage

M.E.D.A.L.

Soit R (M) l’ensemble des marquages qu’il est possible d’atteindre à partir d’un marquage M.

Une transition T est vivante si :

 M  R (M0),  M’  R (M), tel que T est franchissable pour M’

Intérêt : La fonction d’un logiciel qui permet de quitter proprement l’application (avec une sauvegarde, par exemple) doit être vivante.

Diapositive n° 50

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l49

3.2.2) Vérification de propriétés

3.2.2.1) Vivacité et blocage

M.E.D.A.L.

Un réseau dans lequel TOUTES les transitions sont vivantes est un réseau vivant.

Inversement, si, à partir d’un marquage M, il est impossible de franchir une quelconque transition, nous dirons que ce marquage représente un blocage.

Un réseau sera sans blocage si aucun marquage appartenant à R (M0) n’est blocage.

RdP vivant = RdP sans blocage

Diapositive n° 51

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l50

3.2.2) Vérification de propriétés

3.2.2.2) Bornitude

M.E.D.A.L.

Une place d’un RdP sera k-bornée si le nombre de jetons contenus dans cette place ne dépasse jamais k, quelque soit le marquage atteignable à partir de M0.

Un réseau est k-borné si toutes ses places sont k-bornées. Si k vaut 1, on parlera de réseau sain.

Si le réseau est k-borné quelque soit le marquage initial, il sera dit structurellement borné.

Diapositive n° 52

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l51

3.2.2) Vérification de propriétés

3.2.2.3) Atteignabilité

M.E.D.A.L.

Un marquage M sera atteignable à partir d’un marquage initial M0 si l’équation d ’état

Mt = M0t + U.Yt

possède au moins une solution. Le vecteur Y est alors le vecteur de comptage de la séquence de franchissement séparant M0 et M.

Diapositive n° 53

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l52

P2

P4

P5

T1

T2

T3

T4

P1

P3

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

L’équation d’état permet de calculer le marquage atteint après franchissement d’une séquence de transitions. Elle ne permet pas de dire que la séquence est franchissable !!

La séquence <T1, T2, T3> est franchissable, les séquences <T2, T1, T3>, <T3, T2, T1>, <T2, T3, T1> ne le sont pas ! Elles ont pourtant même vecteur de comptage. L’équation d’état donnera donc le même résultat pour les quatre.

Diapositive n° 54

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l53

Eq. Etat

Eq. Etat

Eq. Etat

M0

M1

M2

M3

Pb

Pb

Pb

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Le rôle de cette équation d’état est de matérialiser, en termes de jetons, l’évolution du RdP. Elle représente l’outil qui va permettre de calculer le résultat du franchissement de transitions. En tant que tel, elle est nécessaire. Il faut toutefois l’utiliser correctement, en pas à pas.

Diapositive n° 55

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l54

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

L’équation d’état peut signaler un non-franchissement. Une transition est franchissable s’il y a suffisamment de jetons dans chacune de ses places en entrée. La matrice d’incidence fournit le nombre de jetons produits par le déclenchement de chaque transition.

L’équation d’état appliquée à une séquence réduite à une transition fournit le nombre de jetons qui restent après « exécution » de cette transition.

Si ce nombre est négatif, alors la transition n’est pas franchissable.

Diapositive n° 56

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l55

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

S : séquence

S1 := S

T := first (S1)

S1 := tail (S1)

M0 := Minit

M1 := équation état appliquée à < T >

Tantque M1 ≥ 0 et S1 ≠ < > faire

T := first (S1)

S1 := tail (S1)

M0 := M1

M1 := équation état appliquée à < T >

Fintantque

Si M1 < 0 alors

arrêt processus

-- la séquence S n’est pas franchissable

sinon

-- la séquence S est franchissable

Finsi

Minit : marquage initial

aucun élément négatif

Diapositive n° 57

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l56

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

L’équation d’état peut également servir à autre chose. Il est possible de calculer le marquage initial nécessaire pour franchir une séquence donnée. Le travail se fait, dans ce cas-là, « à l’envers ».

Mt = M0t + U.VSt

données du pb

- utilisation « normale »

à partir de M0t, on calcule Mt.

IMPORTANT

- utilisation « inverse »

à partir de Mt, on calcule une classe de M0t.

Diapositive n° 58

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l57

P1

P2

2

T1

P3

P4

T2

2

P5

Pfutt !! Ca ne marchera jamais ...

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Prenons un exemple, pour illustrer ce travail « à l’envers ».

Le marquage Mf = [2, 5, 1, 4, 0] est le point d’arrivée. On veut calculer le marquage initial nécessaire pour franchir la séquence <T1, T2, T2> et obtenir le marquage ci-contre.

On va se servir de l’équation d’état, en pas à pas, et en remontant.

Diapositive n° 59

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l58

Eq. Etat

Eq. Etat

Eq. Etat

M0

M1

M2

Mf

Pb

Pb

Pb

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Données de départ : Mf, S, Vs, U

On va commencer par calculer M2, avec S = <T2>, Vs = [0, 1], Mf = [2, 5, 1, 4, 0] et M2 = [x, y, z, t, u].

Diapositive n° 60

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l59

M2t

M2t

Mft

0x0 - 1x1

-1

2

x

x

-2x0 + 0x1

0

y

5

y

1x0 - 1x1

-1

1

z

z

0x0 - 1x1

-1

4

t

t

0x0 + 2x1

2

u

u

0

J’vous l’avais bien dit !

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

=

+

=

+

x = 3

y = 5

Ce système d’équations donne le résultat suivant :

z = 2

t = 5

La séquence <T1, T2, T2> ne peut pas fournir le marquage Mf = [2, 5, 1, 4, 0].

u = -2

Diapositive n° 61

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l60

M2t

M2t

Mft

0x0 - 1x1

-1

2

x

x

-2x0 + 0x1

0

y

y

5

1x0 - 1x1

-1

1

z

z

0x0 - 1x1

-1

4

t

t

0x0 + 2x1

2

u

u

5

Là, d’accord !

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Prenons un second exemple, en changeant le marquage final. Soit le nouveau marquage à atteindre : Mf = [2, 5, 1, 4, 5].

Ce système d’équations donne le résultat suivant :

x = 3

y = 5

=

+

=

+

z = 2

t = 5

u = 3

S = <T2>

VS = [0, 1]

Diapositive n° 62

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l61

M1t

M1t

M2t

0x0 - 1x1

-1

x

x

3

-2x0 + 0x1

0

y

y

5

1x0 - 1x1

-1

2

z

z

0x0 - 1x1

-1

5

t

t

0x0 + 2x1

2

u

u

3

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Pas arrière n° 2

Ce système d’équations donne le résultat suivant :

x = 4

y = 5

=

+

=

+

z = 3

t = 6

u = 1

S = <T2>

VS = [0, 1]

Diapositive n° 63

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l62

M0t

M0t

M1t

0x1 - 1x0

0

x

x

4

-2x1 + 0x0

-2

y

y

5

1x1 - 1x0

1

3

z

z

0x1 - 1x0

0

6

t

t

0x1 + 2x0

0

u

u

1

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Pas arrière n° 3

Ce système d’équations donne le résultat suivant :

x = 4

y = 7

=

+

=

+

z = 2

t = 6

u = 1

S = <T1>

VS = [1, 0]

Diapositive n° 64

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l63

[4, 7, 2, 6, 1]

T2

T1

[4, 5, 3, 6, 1]

T2

T1

[3, 5, 2, 5, 3]

T2

[2, 5, 1, 4, 5]

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Avec un marquage [4, 7, 2, 6, 1], on peut franchir la séquence <T1, T2, T2> et obtenir le marquage [2, 5, 1, 4, 5].

Ce système d’équations donne le résultat suivant :

x = 4

y = 7

z = 2

t = 6

u = 1

Diapositive n° 65

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l64

Hé bé, si on change les règles, alors ...

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

On peut aussi simplement souhaiter savoir ce qu’il faut comme marquage initial pour franchir cette séquence, sans se préoccuper du résultat final.

Il faut alors se servir de l’équation d’état en la transformant légèrement, pour prendre en compte des inégalités.

M0t ≥ Mt - U.VSt

Le marquage final (ie. obtenu après franchissement) est au minimum nul, c’est-à-dire que les places sont au moins vides -il n’y a pas de jetons négatifs. On va « travailler » avec ce minimum.

Diapositive n° 66

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l65

M2t

M2t

Mft

0x0 - 1x1

-1

x

x

0

-2x0 + 0x1

0

y

y

0

1x0 - 1x1

-1

0

z

z

0x0 - 1x1

-1

0

t

t

0x0 + 2x1

2

u

u

0

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Pas arrière n° 1

Ce système d’inéquations donne le résultat suivant :

x ≥ 1

y ≥ 0

+

=

+

z ≥ 1

t ≥ 1

u ≥ 0

S = <T2>

VS = [0, 1]

Diapositive n° 67

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l66

M1t

M1t

M2t

0x0 - 1x1

-1

x

x

1

-2x0 + 0x1

0

y

y

0

1x0 - 1x1

-1

1

z

z

0x0 - 1x1

-1

1

t

t

0x0 + 2x1

2

u

u

0

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Pas arrière n° 2

Ce système d’inéquations donne le résultat suivant :

x ≥ 2

y ≥ 0

+

=

+

z ≥ 2

t ≥ 2

u ≥ 0

S = <T2>

VS = [0, 1]

Diapositive n° 68

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l67

M0t

M0t

M1t

0x1 - 1x0

0

x

x

2

-2x1 + 0x0

-2

y

y

0

1x1 - 1x0

1

2

z

z

0x1 - 1x0

0

2

t

t

0x1 + 2x0

0

u

u

0

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Pas arrière n° 3

Ce système d’inéquations donne le résultat suivant :

x ≥ 2

y ≥ 2

+

=

+

z ≥ 1

t ≥ 2

u ≥ 0

S = <T1>

VS = [1, 0]

Diapositive n° 69

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l68

[2, 2, 1, 2, 0]

T2

T1

[2, 0, 2, 2, 0]

T2

T1

[1, 0, 1, 1, 2]

T2

[0, 0, 0, 0, 4]

3.2.3) A propos de l’équation d’état

M.E.D.A.L.

Avec un marquage [x, y, z, t, u] vérifiant le système d’inéquations ci-contre, on peut franchir la séquence <T1, T2, T2>.

Ce système d’inéquations donne le résultat suivant :

x ≥ 2

y ≥ 2

z ≥ 1

t ≥ 2

u ≥ 0

valeurs supérieures aux valeurs attendues !

Diapositive n° 70

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l69

4) Extensions intéressantes

M.E.D.A.L.

Il y a eu (il y a encore) de nombreuses extensions à la Théorie des Réseaux de PETRI. Dans le cadre de la conception des systèmes d’information, deux se révèlent particulièrement intéressantes :

- les arcs inhibiteurs (ils permettent d’introduire une logique du NON dans les modèles) ;

- les réseaux colorés (ils permettent, d’une certaine façon, d ’exprimer des OU).

Ces extensions vont toutefois alourdir l’appareillage théorique nécessaire aux calculs.

Diapositive n° 71

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l70

P1

P3

P4

T2

4) Extensions intéressantes

4.1) Arcs inhibiteurs

M.E.D.A.L.

Un arc inhibiteur relie une place à une transition, exclusivement. Il est associé à un poids de 0, en ce sens que la transition sera déclenchée si la place ne contient aucun jeton.

Pour déclencher T2, il faut un jeton dans la place P1

ET

un jeton dans la place P3

ET

aucun jeton dans la place P4.

Cet arc inhibiteur ne sert qu’en entrée des transitions.

Diapositive n° 72

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l71

P1

P3

P4

P5

P2

T1

T2

4) Extensions intéressantes

4.1) Arcs inhibiteurs

M.E.D.A.L.

Cette extension permet d’exprimer le NON :

T1 sera déclenchable tant que P2 ne contiendra pas de jeton. Le premier jeton qui y arrive bloquera T1 et rendra déclenchable T2.

Diapositive n° 73

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l72

P1

P3

P4

T1

4) Extensions intéressantes

4.2) Réseaux colorés

M.E.D.A.L.

La coloration d’un réseau agit sur les jetons (ils sont colorés, typés) et sur les transitions (elles sont également colorées).

Transition T1 :

Si un jeton rouge dans P1 et un jeton bleu dans P3

alors produire un jeton vert dans P4

finsi

Si un jeton vert dans P1 et dans P3

alors produire un jeton bleu dans P4

finsi

Si un jeton rouge dans P1 et un jeton vert dans P3

alors produire un jeton rouge dans P4

finsi

Diapositive n° 74

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l73

M0

P1

1

1

1

P3

0

1

1

P4

0

0

0

4) Extensions intéressantes

4.2) Réseaux colorés

M.E.D.A.L.

Cette technique permet de créer des transitions plus complexes et, par la « bande », autorise des productions sélectives de jetons (et en particulier des OU).

Le typage des jetons et des transitions oblige à modifier profondément l’appareillage formel du réseau.

marquage initial

{P, T, A, CP, CT, W+, W-, M0}

poids en entrée

poids en sortie

transitions

places

ens. couleurs places

ens. couleurs transitions

arcs

Diapositive n° 75

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l74

P1

P2

P3

P4

T1

Place P1 :

clients

3 couleurs

rouge : bon client

vert : nouveau client

bleu : client « normal »

4) Extensions intéressantes

4.2) Réseaux colorés

M.E.D.A.L.

Place P3 :

commandes erronées

pas de couleurs

Place P4 :

commandes correctes

3 couleurs

rouge : commande OK bon client

vert : commande OK client nouveau

bleu : commande OK client « normal »

Si un jeton noir dans P2 et un jeton bleu dans P1

alors produire un jeton dans P3

finsi

Si un jeton vert dans P1 et un jeton rouge dans P2

alors produire un jeton vert dans P4

finsi

...

Place P2 :

commandes

2 couleurs

rouge : commande correcte

noir : commande erronée

Diapositive n° 76

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l75

5) Conclusion

M.E.D.A.L.

- formalisme d’emploi relativement aisé, ayant fort peu d’éléments de base,

- formalisme utilisé dans des domaines très différents,

- formalisme à étendre (par arcs inhibiteurs et coloration) dans le cadre des systèmes d’information,

- formalisme toutefois un peu « limité » pour représenter un logiciel, ce qui va pousser des chercheurs à proposer des améliorations (modèles de traitements de Merise),

- formalisme ayant cependant un atout indéniable (son « arsenal » théorique), même pour un architecte logiciel.

Diapositive n° 77

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l76

Bibliographie (sommaire)

M.E.D.A.L.

la référence :-)

  • P. ANDRE, A. VAILLY, « Conception des systèmes d’information ;
  • Panorama des méthodes et des techniques », Editions Ellipses, janvier 2001,
  • ISBN 2-7298-0479-X
  • G. W. BRAMS, « Réseaux de PETRI : théorie et pratique », Editions MASSON, 1983

Pour compléter la formation ...

Diapositive n° 78

IUP MIAGE - Université de NANTES

AlainVAILLY

m e d a l77

M.E.D.A.L.

Fin

Diapositive n° 79

IUP MIAGE - Université de NANTES

AlainVAILLY