Vous êtes sur la page 1sur 61

1

République Algérienne Démocratique et P opulaire M inistére de


L’Enseignement Supéeur et de la Recherche Scientif ique
U N IV ERSIT E M OU LOU D M AM M ERI DE T IZI − OU ZOU

F aculté de génie électrique et d’inf ormatique


Département électronique

M aster 2

Specialité Instrumentation

M odule : système à événements discrets & AP I

L.Benchabane

lili.lyly1994@gmail.com

Année universitaire : 2019/2020


Chapter 1

Les automates à états fini

1.1 Introduction
Les automates sont des <( mathématiques, très utilisés en informatique, qui permet-
tent de modéliser un grand nombre de systèmes (informatiques). L’étude des automates
a commencé vers la fin des années cinquante. Elle se base sur de nombreuses techniques
(topologie, théorie des graphes, logique, algèbre, etc.).

De façon très informelle, un automate est un ensemble “d’états du système”, reliés


entre eux par des “transitions” qui sont marquées par des symboles. Étant donné un
“mot” fourni en entrée, l’automate lit les symboles du mot un par un et va d’état en état
selon les transitions. Le mot lu est soit accepté par l’automate soit rejeté.

Avant de donner une définition plus formelle des concepts décrits ci-dessus, citons
quelques exemples classiques d’utilisation d’automates :

• Vérification d’un circuit électronique

• Recherche d’occurrence dans un texte (moteur de recherches sur le web, etc.)

• Vérification de protocoles de communication

• Compression de données

• Compilation

• Biologie (génomique)
4 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

1.2 Théorie des langages

1.2.1 Alphabets, symboles


Un alphabetest un ensemble fini dont les éléments sont appelés symboles. On va
utiliser la lettre S pour désigner un alphabet.

Exemple
S = {a, b, c, d . . . z}
S= {0, 1, 2... 9}
S= {a, b, g,d}

Mots
Un mot sur l’alphabet S est une chaine de symboles dans S.

W = σ1 σ2 . . . σn

ou σi ∈ Σ; i = 1, 2, . . . , n

Le mot vide qui est la fonction de l’ensemble vide vers S est noté e ou 1. Il ne contient
donc aucun caractère, est reconnu par l’automate s’il permet "de passer d’un état initial
à un état terminal"

Taille du mot.
Formellement, un mot de longueur N ∈ IN on le note par |u| la longueur du mot u
(nombre de symboles)

Exemple
1. Considérons l’alphabet S = {0.1}.Alors,
e est le mot de longueur 0.
0 et 1 sont les mots de longueur 1.
00, 01, 10 et 11 sont les mots de longueur 2.

P
2. ( = {0, 1}) | 0 1 0 0 | = 4

P
3. ( = {ab, d}) | d d ab ab d | = 5

e|=0
P
4. (∀ )|
1.2. THÉORIE DES LANGAGES 5

Concaténation de mots
Intuitivement, la concaténation des mots 01 et 10 est le mot 0110. La concaténation
du mot vide eet le mot 101 est le mot 101.

Définition

Soient S un alphabet et u = u1 . . . un et v = v1 . . . v pdeux mots sur S. La


concaténation de u et v est u.v = u1 . . . unv1 . . . vp, la longueur de ce mot est |u|+|v|

Exemple
U=a a b
V= b b a
U.V= a a b bb a

1.2.2 Langage
L’ensemble de tous les mots sur S est noté S*.

– Tout mot de l’alphabet appartient au langage.

– Toute concaténation de mots du langage appartient au langage.

– Le mot vide e appartient au langage.

Exemple
Considérons l’alphabet S = {0.1}. Alors,

• ∅ est un langage sur S, il est appelé le langage vide.

•{ e } est un langage sur S.

• {0, 00, 001} est aussi un langage sur S.

• L’ensemble des mots qui contiennent un nombre impair de 0 est un langage sur S.

• L’ensemble des mots qui contiennent autant de 0 que de 1 est un langage sur S.

Attention à la distinction symboles / mots :


P P
Si = {0, 11} alors 1 0 1 n’appartient pas à *
P P
Si = {a, ab} alors a ab b abn’appartient pas à *
6 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

1.2.3 Opérations sur les langages

1. Concaténation
« L.M » (ou « LM ») mot formés par concaténation d’éléments de L et de M (dans
l’ordre)

– Associative, non commutative, élément neutre e, élément absorbant 0

Exemple :
avec L = {a, ab, c} et M = { b} L1.L2 = {a, ab, c, b,}

En particulier, on peut définir la puissance la puissance d’un langage Ln par

Ln = w1. . . wn/∀i∈1, . . . , n, wi ∈L

Et on pose L0 = 1

Par exemple si L={a, ab, ba, ac} alors L2 = {aa, aab, aba, aac, abab, abba, abac, baa,
baab; baba, baac, aca, acab, acba, acac}

2. Union
S
«L M » (ou L + M) mots issus soit de L soit de M

– Associative, commutative, élément neutre ø


– La concaténation est distributive par rapport à l’union

3.Intersection
T
«L M » : mots qui existent dans L et dans M
P
– Associative, commutative, élément neutre *, élément absorbant ø

4. Complémentaire
P
« L» : mot de * qui ne sont pas dans L

Quelques exemples
Exemple N°1
P
Alphabet = {a, b, c}
1.2. THÉORIE DES LANGAGES 7

Langages L1 = {a, b}, L2 = {a, c}

Example N°2
P
= {a, b, c },
L1 = { a, b } et L2 = { a, c }

Union : L3 = L1
S
L2

Concaténation : L4 = L1 . L2
8 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

Union et concaténation L5= L1


S
( L1 . L2 )

Intersection : L6 = L1
T
L2

5. Fermeture d’un langage


La fermeture d’un langage L ∈P(A) est défini comme suite

L = w ∈ Σ∗ /∃v ∈ Σ∗ ; w.v ∈ A

On dit que A est fermé si L=L

6.Etoile de kleene
L’étoile de kleene de L∈P(A) est défini comme suite

X
A∗ = (i∈N ) A
i
= 1 + A2 + A3 ......An

Théorème N°1

∀A;B∈P(A) On a

1) A*=1+ AA*=1+ A*A


2) (A+B)*=(A*B)*=(B*A)*B*
3) (BA*)*B=B(AB)*
4) (1+A)*=A*
1.2. THÉORIE DES LANGAGES 9

Théorème N°2

∀A;B∈P(A) On a
1. X=A* est la plus petite solution ou de X=AX+1 de X=XA+1
2. X=A*B est la plus petite solution ou de X=AX+B. Et X=BA2 est la plus petite
solution ou de X=XA+B
3. Cette solution est unique si1∈A
/
4. Si 1∈A alors l’ensemble des solutions est donné sous la forme X=A*(B+L) ou
x=(B+L)A*.

Remarque
– L* = (L∗ )∗ ;
– L∗ = L∗.L∗ ;
– (L1 + L2)* = (L1*. L2*) ∗ = (L1* + L2* )*

7. La trace d’un chemin


C’une suite des étiquettes qui compose W=sv1 sv2 . . . svn On note

L(A) : ensemble des trace d’un chemin de A =⇒L(A) est l’ensemble des mots reconnus
par l’automate A

Lm(A) : ensemble des trace d’un chemin marqué de A =⇒Lm(A) est l’ensemble des
mots marqué reconnus par l’automate A.
Si

L(A) = L(A) =⇒ Lm(A) ⊂ L(A)

Exemple

L(A) = 1 + α + αβ + αγ
Lm(A) = αγ
L(A) = 1 + 1 + α + 1 + α + αβ + 1 + α + αγ
10 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

avec
1+1+1+1=1
α+α+α=α

=⇒L(A) = 1 + α + αβ + αγ = L(A)
=⇒Lm(A) ⊂ L(A)

1.3 Automates finis

Soit L un langage sur un alphabet de symboles S.

Le problème : peut-on décrire une petite "machine" qui acceptera ou rejettera une
chaîne w de S* selon qu’elle appartient, ou non, au langage L ?

Un modèle du genre est un automate distributeur de café : si l’appoint en monnaie est


correct, la machine répond en versant un café ; dans le cas contraire, elle reste en attente
(ou donne un message d’erreur). Un automate (théorique) sera décrit en précisant :

• son alphabet de symboles (les pièces de monnaie acceptées),

• ses états initiaux,

• ses états finaux (café, avec ou sans sucre, chocolat, . . . ),

• les états intermédiaires dans lesquels il peut se trouver (pendant qu’on fait l’appoint,
par exemple),

• ainsi que les transitions, c’est-à-dire comment on passe d’un état à un autre.

1.3.1 Définition

Une machine à états finis (on dit parfois automate fini), est une machine abstraite
utilisée en théorie de la calculabilité et dans l’étude des langages formels.
1.3. AUTOMATES FINIS 11

Remarque
État courant
• État déterminant le comportement courant de la machine

États prochain
• État qu’aura la machine après le traitement d’un événement en entrée
• L’état suivant peut être le même que l’état courant

État initial
• État de la machine une fois crée

État final
• État dans lequel aucune règle de transition n’est exécutable

1.3.2 Définition formelle d’un automate


Un automate est un quintuple (5 éléments) : A = (Q, S, d, Q0, Qm)

Un ensemble fini d’états


– Notation : Q = {q1, q2, q3 ...}

Un ensemble fini de symboles (alphabet)


– Notation: S = {a, b, c, d. . . }

Une fonction de transition qui prend en paramètre un état et un symbole et qui


renvoie un état
– Notation : d(qi, a) = qj, (d : Q × S → Q)

Les transitions sont donc des triplets donnant les règles de passage d’un état à un
autre sous la forme : (État courant, symbole de l’alphabet, état cible)
12 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

Le fonctionnement classique d’un automate est : si l’état courant est ’q1’, que le
symbole reçu en entrée est ’a’, et qu’il existe une transition (q1, a, q2), alors l’état courant
devient l’état ’q2’ et on passe à l’analyse du symbole suivant.

Ensembled’états initiaux
– Notation : Q0 ⊂Q

Un ensemble d’états finaux


– Notation : Qm⊂Q

A est un automate fini si l’ensemble des états est fini.

Un chemin dans A est une séquence

S = q0(q0, σ1, q1)q1(q1, σ2, q2)q2 . . . (qn − 1, σn, qn)qn

Ou qi ∈ Q, i = 0, . . . , n

q0 ∈ Q0 et (qi, σi+1 , qi+1 ) ∈ δ

1.3.3 Table de transition


Une table de transitions est un moyen de représenter l’ensemble des transitions con-
stituant l’automate. Il s’agit d’une table à deux dimensions :

- chaque ligne correspond à un état,

- chaque colonne correspond à un symbole de l’alphabet.

- l’état initial est précédé d’une flèche “→”;

- l’état initial est précédé d’une flèche “←”

La valeur d(q, a) pour q ∈ Q, a ∈ S correspond à l’état indiqué à l’intersection de


la ligne q et de la colonne a. Notons qu’à partir de cette table il est aisé de retrouver
l’ensemble des états ainsi que l’alphabet et donc d’identifier exactement l’automate

Exemple
Considérons la table de transition ci-dessous.
1.3. AUTOMATES FINIS 13

Il correspond à l’automate (Q, S, d, Q0, Qm) avec

Q = {q1, q2} ; S = {a, b}


d(q1, a) = q1, d(q1, b) = q2, d(q2, a) = q1, d(q2, b) = q2
Q0 = q1 ; Qm = { q2}

1.3.4 1.2. Représentation « graphique »


On peut également représenter « graphiquement », ou schématiquement, un automate
par son graphe d’états

Graphe étiqueté :
Étiqueté par les noms des états (généralement q1, q2, q3, ...)

Arcs orientés :
transitions de l’automate Étiqueté par les symboles de l’alphabet S (a, b, c, d, ...)

État initial : marqué par une flèche entrante

État initial : marqué par une flèche sortante

Exemple

Q= {q1, q2} ; S ={a, b} ; Q0=q1 ; Qm=q2


S1=q1(q1,b, q2)q2(q2,a, q1)q1(q1,a, q1)q1 C’est un chemin (séquence)

Remarque
Pour la lisibilité, lorsque deux arcs de même orientation sont possibles entre deux
nœuds, ils sont fusionnés (disjonction) :
14 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

Un arc peut « boucler » un état sur lui-même c’est la transition d’un état vers lui-même
:

Considérons à titre d’exemple l’automate fini suivant :

Les états sont représentés par des graphe et les transitions par les Arcs orientés.
Ces dernières sont étiquetées par une lettre de l’alphabet S = {a, b} et représentent
le changement d’état lié à la lecture du mot en entrée.

L’état initial (ici q0) est désigné par une flèche entrante ; les états marqués (final) (ici
q2) sont représentés par une flèche sortante On se convaincra aisément que pour qu’un
mot soit lu et aboutisse à un état acceptant il faut et il suffit qu’il débute par un a et se
termine par un b ; on dira que cet automate reconnait le langage des mots de aS *b.

On peut observer qu’un mot débutant par la lettre b ne peut être lu par cet automate,
faute d’une transition partant de q0 et étiquetée par b. On dira que le couple (q0, b) est
un blocage de l’automate. Un automate sans blocage est dit complet

1.3.5 Langage reconnu par un automate


Le langage reconnu par un automate A est l’ensemble des mots reconnus par cet
automate. Il est noté L(A). =⇒Ensemble des mots tels que la fonction de transition
étendue appliquée à l’état initial et au mot conduit à un état final :

L(A) = w ∈ Σ∗ |δ(q0, w) ∈ Qm
1.3. AUTOMATES FINIS 15

Exemple
Le mot abaab est reconnu par l’automate A :
Le longage reconnu par cet automate est L(A) =(a + b)∗ ab(a + b)∗

1.3.6 Deux types d’automates remarquables


Automate fini déterministe (AFD)

Un automate déterministe (AFD) est un automate :

• avec un unique état initial.

• à partir de chaque état, il y a au plus une transition d’étiquette donnée.

Un automate déterministe fini est le quintuple A = (Q, S, d, Q0, Qm) ou

Q : ensemble fini (non vide) d’états

S : alphabet (ensemble non vide de lettres)

d: fonction de transition : Q × S à qd(q, sv) = q’ (q’ : état de l’automate après avoir


lu la lettre sv dans l’état q)

q0 : état initial : ∈ Q

Qm : ensemble des états finaux : Qm⊂Q.

1. Fonctionnement d’un automate fini déterministe


L’automate prend en entrée un mot et l’accepte ou la rejette. On dit aussi qu’il le
reconnaît ou ne le reconnaît pas. Le langage associé à un automate est constitué de
l’ensemble des mots qu’il reconnaît. Voici comment l’automate procède pour décider si
un mot appartient à son langage.
1. Le processus commence à l’état de départ q0
2. Les symboles du mot sont lus les uns après les les autres.
16 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

3. À la lecture de chaque symbole, on emploie la fonction de transition d pour se


déplacer vers le prochain état (en utilisant l’état actuel et le caractère qui vient
d’être lu).
4. le mot est reconnu si et seulement si le dernier état (i.e., l’état correspondant à la
lecture du dernier caractère du mot) est un état de Qm.

De façon plus formelle, pour définir exactement le langage reconnu par un automate,
nous introduisons la fonction de transition étendue aux mots, d. Elle se définit récursive-
ment comme suit.

• A partir d’un état q en lisant le mot vide є on reste dans l’état q,


i.e., ∀ q ∈ Q, d(q, є) = q

• Étant donné un mot c se terminant par a ∈ S (i.e., c = c´a avec c´ ∈ S


S
{є}), et
un état q de Q, d(q, c) = d(q, c´a) = d(d(q, c´), a)

Nous pouvons maintenant définir le langage L(A) accepté par un automate fini déter-
ministe A = (Q, S, d, q0, Qm).

L(A) = c|δ(q0, c) ∈ Qm
Exemple N°1
Un automate fini déterministe complet et sa représentation graphique.
Q= {q0, q1, q2}; S ={a, b}; q0= q0; Qm= {q0, q1}

Exemple N°2
Un automate fini déterministe incomplet et sa représentation graphique.
Q= {q0, q1}; S = {a, b}; q0= q0; Qm= {q0, q1}
1.3. AUTOMATES FINIS 17

3.Propriété d’un automate fini déterministe

Etat atteignable
– Un état qiest dit atteignable (accessible) s’il existe un chemin d’un état initial vers
cet état.

∃w ∈ Σ∗ /δ(q0, w) ∈ qi

– Un automate dont tous les états sont atteignables (accessibles) est dit (atteignable)
accessible.

Etat co-atteignable
– Un état est ditco-atteignable (co-accessible) s’il existe un chemin de cet état vers un
état terminal.

∃w ∈ Σ∗ /δ(qi, w) ∈ Qm

– Un automate dont tous les états sont co-accessibles (co-accessible) est dit co-accessible
(co-accessible).

– Un automate co-atteignable ne possède pas des blocages

Automate vivant
C’est un automate qu’est à la fois atteignable et co-atteignable L’automate A est
co-atteignable si s si

Lm (A) = L(A)

4. Théorème de kleene
1) Langage L est rationnel

L est obtenu par un nombre fini d’aditions, de produit, d’étoile

Par exemple

L = α(β + αβ ∗ )βα∗

2) L est reconnaissable

autrement dit L=Lm(A)


18 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

A est un automate fini

3) L est solution d’un système d’équations linéaires de types

X = AX + B Y =YA+C

L = CX L=YB

Ou Ci, Bi, Aij sont des langages fini sur S

BiX ∈ (Σ∗)n ; C T , y T ∈ (Σ∗ )n , A(Σ∗ )(n×n) n ∈ N

On définit

X
Aij = σk ; σk Σ/(qi , σk , qj )δ


1 si q ∈Q
i m
Bi =
0 si non

1 si q ∈Q
i 0
Cj =
0 si non

Xi = w ∈ Σ∗ /δ(qi, w) ∈ Qm

c. − à − d. (qi, w, q 0 ) ∈ δ et q 0 ∈ Qm

Y i = w ∈ Σ∗ /δ(q0, w) = qj

c − à − d (q0, w, qj) ∈ δ et q0 ∈ Q0

X
X = AX + B =⇒ Xij = AijXj + Bi;

n
X
Lm (A) = CX = Cj X j
(j=1

Exemple
1.3. AUTOMATES FINIS 19

 
0 α 0
A= 0 0 β 
 

γ 0 0

0 h i
B= 0  C= 1 0 0
 

1
    
0 α 0 X1 0
X = AX + B =  0 0 β   X2  +  0 
    

γ 0 0 X3 1



 X1 = αX2 ................................(1)

X2 = βX3 ................................(2)



X3 = γX + 1..........................(3)
1

Y = Lm(A) = CX = X1

(3) dans (2)

X2 = β(γX1 + 1) = βγX1 + β . . . . . . . . . .(4)

(4) dans (1)

X1 = α(βγX1 + β)

X1 = αβγX1 + αβ

X1 = (αβγ)∗ αβ
20 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

=⇒ Lm (A) = (αβγ)∗ αβ

Remarque
X=A*B est la plus petite solution ou de X=AX+B

5.Produit d’automates

Soient a = (Qa, Sa, da, q0a, Qma) et b = (Qb, Sb, db, q0b, Qmb) deux automate
fini déterministes

a)Produit synchrone ( a= S Sb)


A=a×b=( Q , S , d ,Q0, Qm) avec

Q=(Qa×Qb); S= Sa= Sb; Q0 =( q0a, q0b); Qm =( qma×qmb)



 δ(q , σ), δ(qa , σ))
 a


δ((qa , qb ), σ) si δ(qa , σ))!



et δ(qb , σ)!

Remarque
Dans le cas du produit synchrone on a

\
L(a × b) = L(a) L(b)

\
Lm (a × b) = Lm (a) Lm (b)

Exemple
Considérons l’exemple d’un distributeur de jetons :

Un jeton est libéré seulement si une pièce a préalablement été introduite dans la
machine et si le bouton adéquat a été appuyé.

Le fonctionnement de ce procédé peut être décrit par deux accepteurs modélisant ses
deux sous-systèmes : les automates A1 et A2 de la figure suivante
1.3. AUTOMATES FINIS 21

(a) sous-système (automate(b) sous-système(automate (c) modèle complet du système (automate A)


A1) “pièce → jeton” A2) “bouton → jeton”

Figure 1.1: Modèle accepteur d’un distributeur des jetons

L’accepteur A1 reconnaît l’ensemble des séquences telles que les événements p = in-
troduction d’une pièce et j = libération du jeton se produisent alternativement, avec p se
produisant en premier. De même, A2 reconnaît les séquences où la pression du bouton
(l’événement b) précède la libération du jeton (événement j).

Le modèle global du distributeur (l’accepteur A) est obtenu par la conjonction des


deux contraintes de fonctionnement illustrées par A1 et A2. Chaque état de cet automate
est un couple (qi, xj), où qi est un état de A1 et xj un état de A2 .

Son état initial (q0, x0), décrit le distributeur au repos c’est-à-dire qu’aucune pièce
n’a pas été introduite dans la machine (q0) et que le bouton n’a pas été appuyé (x0).

Le langage de l’automate A est défini sur l’union des alphabets SA1 = {p, j} et SA2
= {b, j} : SA = {p, b, j},où jest le seul événement qui doit se produire de manière
synchrone dans les deux automates.

Un premier changement d’état arrive alors au moment où une des conditions néces-
saires pour la libération d’un jeton est satisfaite : soit une pièce est détectée à l’entrée
du distributeur (q0 p q1), soit le bouton est appuyé (x0 p x1). Le système attend

− →

maintenantl’accomplissement de la deuxième condition pour démarrer le processus de
libération du jeton (état (q1, x1)). Finalement, une fois le jeton libéré, le système re-
tourne à son état initial.
22 CHAPTER 1. LES AUTOMATES À ÉTATS FINI

b) Produit asynchrone ( a
T
S Sb)= ∅
A=a×b=(Q , S , d ,Q0, Qm) Avec

S= Sa Sb; Q0 =( q0a, q0b); Qm =( qma×qmb)


S
Q=(Qa×Qb);



 δ((qa , σ)qb )
σ∈Sa etδ(qa , σ)!



si
δ((qa , qb ), σ)


 δ(qa (qb , σ))
σ∈Sb etδ(qb , σ)!



si

c) Produit dans le cas ( a S T


Sb) 6=∅
A=a×b=( Q , S , d ,Q0, Qm) Avec

S= Sa Sb; Q0 =( q0a, q0b); Qm =( qma×qmb).


S
Q=(Qa×Qb);

δ(q , σ), δ(qb , σ)
 a


δ((qa , qb ), σ) = si σ∈Sa Sb
S



et δ(qa , σ)!δ(qb , σ)!


δ((q , σ), q )
a b
δ((qa , σ), qb ) =
si siσ ∈
/ Sb et δ(qa, σ)!


δ((q , σ), q )
a b
δ((qa , qb ), σ) =
si σ∈
/ Sa et δ(qb, σ)!

Automates finis non-déterministes

Un automate fini non-déterministe est un automate tel que dans un état donné, il peut
y avoir plusieurs transitions avec le même symbole. le fonctionnement d’un tel automate
n’est donc pas totalement « déterminé », car on ne sait pas quel état l’automate va choisir.

Les automates non-déterministes permettent de modéliser facilement des problèmes


complexes. Ils peuvent être convertis en des automates finis déterministe. Ces derniers
peuvent être exponentiellement plus grand que les automates non déterministes dont ils
sont issus.
1.3. AUTOMATES FINIS 23

Un automate fini non-déterministe est un automate tel que dans un état donné, il peut
y avoir plusieurs transitions avec le même symbole. Le fonctionnement d’un tel automate
n’est donc pas totalement « déterminé », car on ne sait pas quel état l’automate va choisir.

Les automates non-déterministes permettent de modéliser facilement des problèmes


complexes. Ils peuvent être convertis en des automates finis déterministe. Ces derniers
peuvent être exponentiellement plus grands que les automates non déterministes dont ils
sont issus.

Un automate fini non-déterministe est un quintuplé : (Q, S, d, q0, Qm)


• Un alphabet fini (S)

• Un ensemble fini d’états (Q)

• Une fonction de transition d qui associe à tout état q ∈ Q et tout symbole sv∈ S un
sous ensemble de Q noté d(q, sv).

• Un état de départ (q0)

• Un ensemble d’états finaux (ou acceptant)Qm

C’est la fonction de transition d qui diffère ici de celle utilisée par les automates finis
déterministes. Remarquons que tout automate fini déterministe est aussi un automate
fini non-déterministe.

Exemple
Chapitre 2

Archetecteur et programmation des


API

2.1 Définition
Un automate programmable industriel (ou API) est un dispositif électronique pro-
grammable destiné à automatiser des processus tels que la commande de machines au
sein d’une usine et à piloter des robots industriels par exemple.

L’automate programmable est né pour remplacer la logique câblée(armoire à relais)


par la logique programmée

Les Automates Programmables Industriels (API) sont apparus aux Etats-Unis vers
1969 où ils répondaient aux désirs des industries de l’automobile de développer des chaînes
de fabrication automatisées qui pourraient suivre l’évolution des techniques et des modèles
fabriqués.
26 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

2.2 Structure des automate programmable

2.2.1 Aspect extérieur

Automates compacts

On distinguera les modules de programmation(LOGO de SIEMENS, ZELIO deSCHNEI-


DER, MILLENIUM de CROUZET ...) des micro automates .

Il intègre le processeur, l’alimentation, les entrées etles sorties. Selon les modèles et
les fabricants, ilpourra réaliser certaines fonctions supplémentaires (comptage rapide, E/S
analogiques ...) et recevoir desextensions en nombre limité.

Ces automates, de fonctionnement simple, sont généralement destinés à la commande


de petitsautomatismes.Automates compacts: LOGO de SIEMENS, ZELIO de SCHNEI-
DERetMILLENIUM de CROUZET

Figure 2.1: Automates compacts : LOGO de SIEMENS, ZELIO de SCHNEIDER et


MILLENIUM de CROUZET

Automate modulaire

Le processeur, l’alimentation et les interfaces d’entrées/ sorties résident dans desunités


séparées (modules) et sont fixées sur un ou plusieurs racks contenant le "fond depanier"
(bus plusconnecteurs).Ces automates sont intégrés dans les automatismes complexes où
puissance, capacité de traitement etflexibilité sont nécessaires.
2.2. STRUCTURE DES AUTOMATE PROGRAMMABLE 27

Figure 2.2: Automate modulaire SIMATIC S7-300 de Siemens

1 Module d’alimentation
2 Pile de sauvegarde
3 Connexion au 24V cc
4 Commutateur de mode (à clé)5 LED de signalisation d’état et de défauts
6 Carte mémoire
7 Interface multipoint (MPI)
8 Connecteur frontal
9 Volet en face avant

2.2.2 Aspect intérieure


Les API comportent cinq principales parties :

Une unité de traitement (un processeur CPU) :


Son rôle consiste d’une part à organiser les différentes relations entre la zone mémoire
et les interfaces d’entrées et de sorties et d’autre part à exécuter les instructions du
programme.

Une mémoire :
Elle est conçue pour recevoir, gérer, stocker des informations issues des différents
secteurs du système que sont le terminal de programmation (PC ou console) et le pro-
cesseur, qui lui gère et exécute le programme. Elle reçoit également des informations en
provenance des capteurs.
28 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

Des modules d’entrées-sorties ;


Cartes d’entrées
Elles sont destinées à recevoir l’information en provenance des capteurs et adapter
le signal en le mettant en forme, en éliminant les parasites et en isolant électriquement
l’unité de commande de la partie opérative.
Cartes de sorties:
elle permet de commander les divers pré actionneurs et éléments de signalisation du
S.A.P.

Des interfaces d’entrées-sorties :


L’interface d’entrée comporte des adresses d’entrée. Chaque capteur est relié à une de
ces adresses.

L’interface de sortie comporte de la même façon des adresses de sortie. Chaque préac-
tionneur est relié à une de ces adresses.
Le nombre de ces entrées est sorties varie suivant le type d’automate.

Une alimentation 230 V, 50/60 Hz (AC) - 24 V (DC) :


ous les automates actuels sont équipés d’une alimentation 240 V 50/60 Hz, 24 V DC.
Les entrées sont en 24 V DC et une mise à la terre doit également être prévue.

Figure 2.3: Automate modulaire SIMATIC S7-300 de Siemens

.
2.3. POURQUOI L’AUTOMATISATION ? 29

2.3 Pourquoi l’automatisation ?


– Accroître la productivité (rentabilité, compétitivité) du système

– Améliorer la flexibilité de production

– Améliorer la qualité du produit

– Adaptation à des contextes particuliers tel que les environnements hostiles pour
l’homme (milieu toxique, dangereux.. nucléaire...),

– adaptation à des tâches physiques ou intellectuelles pénibles pour l’homme (ma-


nipulation de lourdes charges, tâches répétitives parallélisées...),

2.4 Caractéristiques techniques


Les caractéristiques principales d’un API sont :

– Compact ou modulaire
– Tension d’alimentation
– Taille mémoire
– Temps de scrutation Sauvegarde (EPROM, EEPROM, pile,. . . )
– Nombre d’entrées / sorties
– Modules complémentaires (analogique, communication,. . . )
– Langages de programmation

2.5 Choix d’un automate

2.5.1 Nombre d’entrées / sorties :


le nombre de cartes peut avoir une incidence sur le nombre de racks dès que le nombre
d’entrées / sorties nécessaires devient élevé.

2.5.2 Type de processeur :


la taille mémoire, la vitesse de traitement et les fonctions spéciales offertes par le
processeur permettront le choix dans la gamme souvent très étendue.
30 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

2.5.3 Modules spéciaux :


certaines cartes permettront de "soulager" le processeur et devront offrir les carac-
téristiques souhaitées,
– Régulation PID: contrôle de processus continus et répond à la plupart des cas de
régulation industrielle
– Comptage rapide:
– Couplage: permet de connecter l’automate à d’autres systèmes de traitement et
travaille dans le contexte de signaux informatiques (pas industriels

2.5.4 Fonctions de communication :


– L’automate doit pouvoir communiquer avec les autres systèmes de commande (API,
supervision ...) et offrir des possibilités de communication avec des standards nor-
malisés (Profibus, ...).

2.5.5 Structure des systèmes automatisé


Notion d’Automatisme

Le concept d’Automatisme n’est rien que la partie commande d’un système automa-
tisé. Parmi les définitions que nous avons sélectionnées de la littérature scientifique et
technique, nous pouvons citer :

Déf ;1 : Un automatisme est un système capable de réaliser certaines fonctions de


manière totalement autonome, c’est à dire sans aucune intervention de l’extérieur.

Déf ;2 : Un automatisme est un ensemble productif qui, une fois mis en mouvement,
fonctionne de lui-même sous le contrôle d’un programme unique à chaque instant.

Déf ;3 Un automatisme est un dispositif gérant l’information d’une machine ou d’une


installation automatique en vue de sa commande.

2.5.6 Système Automatisé de Production (SAP):


Système autonome de création de valeur ajoutée. Sous des impératifs de sécurité,
productivité, adaptabilité. . .
2.5. CHOIX D’UN AUTOMATE 31

2.5.7 Analyse fonctionnelle d’un SAP


32 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

2.5.8 Organisation générale d’un automatisme

D’une façon tout à fait générale, un système automatisé est constitué de 3 parties
fondamentales qui coopèrent :
d’une part la partie opérative ou partie puissance
– d’autre part la partie commande
– Et la partie dialogue
2.5. CHOIX D’UN AUTOMATE 33

Rôle de chaque partie

La partie opérative
procédant au traitement des matières d’œuvre afin d’élaborer la valeur ajoutée autrement
dit cette partie effectue des opérations permettant d’assurer la production lorsque l’ordre
lui en est donné par la partie commande.

Grâce aux comptes rendus fournis par la partie opérative, la partie commande est
tenue informée de l’état d’avancement des opérations effectuées.

Partie commande
élabore les ordres destinés à la machine, en fonction des comptes rendus venant de
cette même machine. La partie commande élabore également les signaux de visualisation.
Elle est concrétisée par l’armoire de commande. Sa fonction première est d’élaborer les
ordres de commande à destination de la machine.

La partie commande va donc traiter l’ensemble des informations afin de prendre les
décisions qui s’imposent.

-Pour élaborer ces ordres, la partie commande doit connaître :

- la situation réelle de la machine dans le cycle ,

- les demandes ou les consignes de l’opérateur,

- le cycle automatique que doit réaliser la machine.

Dans tous les cas, ce cycle est mémorisé au niveau de la partie commande, soit par un
câblage, soit par un programme.

Pour exploiter, régler et dépanner la machine, l’opérateur émet des consignes et reçoit
des informations en retour. Ces différentes fonctions sont assurées par l’intermédiaire du
pupitre opérateur.

La partie L’interface homme-machine (IHM) :


permet l’ensemble des communications entre l’homme et la machine. Elle a pour
principal but :
34 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

– de permettre la gestion de production


– de suivre la production en quantité et qualité,
– de faciliter le travail de la maintenance en apportant une aide au diagnostic

2.5.9 SYNTHESE

2.5.10 Place et rôle de l’automate programmable dans


l’automatisme
Actuellement quasiment toutes les applications industrielles d’automatismes sont pi-
lotées par un ou plusieurs automate programmable.

L’API remplace les centaines de relais qui assuraient l’automatisme dans les armoires
électriques.

Quelques abréviations ;

API : Automate Programmable Industriel

PLC : Programmable Logical Controler

PC : Programmable Controler (ne pas confondre avec Personnal Computer)


2.6. PROGRAMMATION DES AUTOMATES SIEMENS S7-300/400 35

2.5.11 Avantages et inconvénients


Les avantages

– Moins de place utilisée dans l’armoire (pour la logique)

– Moins de câblage interne,

– Réalisation des modifications facilitée,

– Récupération des modifications effectuées facile, il suffit de lire le programme pour


voir les modifications. Certains logiciels permettent même de faire des comparaisons
de programmes et indiquent précisément les différences.

– Coût moindre (par rapport aux relais). Ceci est même vrai pour des applications
simples (quelques dizaines de relais).

– l’API par lui même est relativement fiable et peut aider l’homme dans sa recherche
de défauts (Voyants, bits indicateurs, messages, écrans de dalogue, . . .).

– Réalisation simple et peu couteuses d’applications similaires il suffit de "recopier"


le programme.

2.5.12 Les inconvénients


– "Boîte noire" on ne voit pas directement ce qui se passe à l’intérieur,

– Diversité des marques et de modèles qui entraine une diversité des langages et des
repérages des variables, malgré l’existence d’une norme CEI 1131 (qui comme toutes
les normes laisse beaucoup de possibilités de divergences, donc de choix différents)

2.6 Programmation des automates Siemens


S7-300/400

2.6.1 Langage à contact ou Ladder


Le langage à contact est adapté à la programmation de traitements logiques, il utilise
le schéma développé.
Nous retrouvons :
– La fonction ET en utilisant des contacts en série
36 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

– La fonction OU en utilisant des contacts en parallèle

Représentation des éléments principaux


2.6. PROGRAMMATION DES AUTOMATES SIEMENS S7-300/400 37

2.6.2 Grafcet
Définition

Le GRAFCET (GRAphe Fonctionnel de Commande par Etapes et Transitions) ou SFC


(Sequential Fonction Chart) est un outil graphique qui décrit les différents comportements
de l’évolution d’un automatisme et établit une correspondance à caractère séquentiel et
combinatoire entre :
38 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

Les ENTREES, c’est-à-dire les transferts d’informations de la Partie Opérative vers


la Partie Commande,

Les SORTIES, transferts d’informations de la Partie Commande vers la Partie Opéra-


tive.

C’est un outil graphique puissant, directement exploitable, car c’est aussi un langage
pour la plupart des API existants sur le marché. Lorsque le mot GRAFCET (en lettre
capitale) est utilisé, il fait référence à l’outil de modélisation. Lorsque le mot grafcet
est écrit en minuscule, il fait alors référence à un modèle obtenu à l’aide des règles du
GRAFCET. (Exemple : J’ai utilisé le GRAFCET pour concevoir cette machine, jette un
coup d’œil sur le grafcet de sécurité et dit moi ce que tu pense)

Le GRAFCET comprend :

des étapes associées à des actions ;

des transitions associées à des réceptivités ;

des liaisons orientées reliant étapes et transitions.

Les concepts de base du GRAFCET

Une étape symbolise un état ou une partie de l’état du système automatisé. L’étape
possède deux états possibles : active représentée par un jeton dans l’étape ou inactive.
L’étape i, représentée par un carré repéré numériquement, possède ainsi une variable
d’état, appelée variable d’étape Xi. Cette variable est une variable booléenne valant 1 si
l’étape est active, 0 sinon.

La situation initiale d’un système automatisé est indiquée par une étape dite étape
initiale et représentée par un carré double.

Remarque : Dans un grafcet il doit y avoir au moins une étape initiale.


2.6. PROGRAMMATION DES AUTOMATES SIEMENS S7-300/400 39

Actions associées aux étapes


A chaque étape est associée une action ou plusieurs, c’est à dire un ordre vers la partie
opérative ou vers d’autres grafcets. Mais on peut rencontrer aussi une même action
associée à plusieurs étapes ou une étape vide (sans action).

Transition
Une transition indique la possibilité d’évolution qui existe entre deux étapes et donc la
succession de deux activités dans la partie opérative. Lors de son franchissement, elle va
permettre l’évolution du système. A chaque transition est associée une condition logique
appelée réceptivité qui exprime la condition nécessaire pour passer d’une étape à une
autre.

La réceptivité qui est une information d’entrée qui est fournie par :

– l’opérateur : pupitre de commande,

– la partie opérative : états des capteurs,

– d’un comptage ou tout opération logique, arithmétique...

– du grafcets : d’autres grafcet pour la liaison entre grafcets ou de l’état courant des
étapes du grafcet (les Xi),

– d’autres systèmes : dialogue entre systèmes,


– .....
Remarque: Si la réceptivité n’est pas précisée, alors cela signifie qu’elle est toujours
vraie. (=1)
40 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

Liaisons orientées
Elles sont de simples traits verticaux qui relient les étapes aux transitions et les tran-
sitions aux étapes. Elles sont normalement orientées de haut vers le bas. Une flèche est
nécessaire dans le cas contraire.

Exemple
Fraiseuse : Fonctionnement
On appuie sur le bouton marche de la fraiseuse
La fraise descend
Une fois la position basse atteinte le fraisage s’effectue
On appuie sur le bouton arrêt
Le fraisage s’arrête et la fraise remonte
Une fois le fin de course haut atteint la fraiseuse est en position initiale
Quelle sera la représentation simple pour illustrer et comprendre le fonctionnement ?
2.6. PROGRAMMATION DES AUTOMATES SIEMENS S7-300/400 41

Les différents Grafcet

Il y a deux types de représentation :


La représentation fonctionnelle ou de niveau 1 donne une interprétation de la
solution retenue pour un problème posé, en précisant la coordination des tâches opératives.
Elle permet une compréhension globale du système.

La représentation technologique ou de niveau 2 donne une interprétation en tenant


compte des choix technologique relatifs à la partie de commande de l’automatisme ; le
type et la désignation des appareillages (S1, KM, Ka. . . ).

Règles d’évolution d’un Grafcet

Règle N°1 : situation initiale


Cette représentation indique que l’étape est initialement activée (à la mise sous tension
de la partie commande).

Règle N°2 : franchissement d’une transition


Une transition est franchie lorsque l’étape associée est active et la réceptivité associée
à cette transition est vraie.

Règle N°3 : Evolution des étapes actives


Le franchissement d’une transition provoque simultanément :
42 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

– la désactivation de toutes les étapes immédiatement précédentes reliées à cette tran-


sition,

– l’activation de toutes les étapes immédiatement suivantes reliées à cette transition.

Principe d’évolution

Illustration : franchissement d’une transition


2.6. PROGRAMMATION DES AUTOMATES SIEMENS S7-300/400 43

Règle N°4 : transitions simultanées


Plusieurs transitions simultanément franchissables sont simultanément franchies.
Règle N°5 : activation et désactivation simultanées
Une étape à la fois activée et désactivée reste active.

STRUCTURES DE BASE

1. Divergence et convergence en ET (séquences simultanées)

Divergence en ET : lorsque la transition A est franchie, les étapes 21 et 24 sont


actives.
Convergence en ET : la transition B sera validée lorsque les étapes 23 et 26 seront
actives. Si la réceptivité associée à cette transition est vraie, alors celle-ci est franchie.
44 CHAPITRE 2. ARCHETECTEUR ET PROGRAMMATION DES API

REMARQUES
Après une divergence en ET, on trouve une convergence en ET.Le nombre de branches
parallèles peut-être supérieur à 2.La réceptivité associée à la convergence peut-être de la
forme = 1. Dans ce cas la transition est franchie dès qu’elle est active.

2.Divergence et convergence en OU (aiguillage)

Divergence en OU : l’évolution du système vers une branche dépend des réceptivités


A et B associées aux transitions.
Convergence en OU : après l’ évolution dans une branche, il y a convergence vers
une étape commune.
REMARQUES
A et B ne peuvent être vrais simultanément (conflit).Après une divergence en OU,
on trouve une convergence en OU.Le nombre de branches peut-être supérieur à 2.La
convergence de toutes les branches ne se fait pas obligatoirement au même endroit.

3.Saut en avant (saut de phase)


Le saut en avant permet de sauter une ou plusieurs étapes lorsque les actions à réaliser
deviennent inutiles.
2.6. PROGRAMMATION DES AUTOMATES SIEMENS S7-300/400 45

4.Saut en arrière (reprise de phase)


Le saut en arrière permet de reprendre une séquence lorsque les actions à réaliser sont
répétitives.

5.Temporisations
La transition 20 - 21 est franchie lorsque la temporisation, démarrée à l’étape 20 est
écoulée, soit au bout de 5s.
Chapter 3

Réseaux de Petri

3.1 Domaines d’application


– Systèmes de production, Autom. Prog. Ind.,
– Grafcet Evaluation des performances, simulation à événements discrets
– Validation de protocoles de communication
– Systèmes temps réels, systèmes distribués, génie logiciel
– Systèmes d’information, gestion, interfaces homme-machine
– Modèles de raisonnement, planification

3.2 Présentation informelle


– Le formalisme des réseaux de Petri est un outil permettant l’étude de systèmes
dynamiques et discrets.
– Il s’agit d’une représentation mathématique permettant la modélisation d’un sys-
tème.
– L’analyse d’un réseau de Petri peut révéler des caractéristiques importantes du
système concernant sa structure et son comportement dynamique.
– Les résultats de cette analyse sont utilisés pour évaluer le système et en permettre
la modification et/ou l’amélioration le cas échéant.

Illustration

La figure suivante représente le graphe de Pétri d’une pièce comprenant une porte-
fenêtre et une climatisation. L’objectif de ce système étant d’obtenir une température
agréable dans la pièce.
48 CHAPTER 3. RÉSEAUX DE PETRI

3.3 Concepts de base


Un réseau de Petri est composé:

Condition
– Une condition est un prédicat ou une description logique d’un état du système.
– Une condition est vraie ou fausse. Un état du système peut être décrit comme un
ensemble de conditions.
Condition = Place

Evénement
– Les événements sont des actions se déroulant dans le système.
– Le déclenchement d’un événement dépend de l’état du système.
Evénement = Transition

Déclenchement, précondition, postcondition


– Les conditions nécessaires au déclenchement d’un événement sont les préconditions
de l’événement.
– Lorsqu’un événement se produit, certaines de ses pré-conditions peuvent cesser
d’être vraies alors que d’autres conditions, appelées postcondion
3.3. CONCEPTS DE BASE 49

précondition = arc Place

postcondition = arc Transition

Satisfaction d’une Condition = Jeton dans une Place


50 CHAPTER 3. RÉSEAUX DE PETRI

Remarque : on peut avoir un nombre quelconque non borné de jetons dans une place

Condition de franchissement d’une transition = satisfaction de toutes les places pré-


conditions de la transition

Effet du franchissement d’une transition = satisfaction de toutes les places postcondi-


tions de la transition

3.4 Modélisation de systèmes avec ressources


Pour certains systèmes, il est plus juste de raisonner en termes d’ensemble de ressources,
au sens large, qu’en termes de conditions-événements. => un jeton = une ressource

Le nombre de jetons contenus dans une place reflète le nombre de ressources qu’elle
possède.

Les jetons d’une place n’ont pas d’identité individuelle, autrement dit ils sont indis-
cernables.

Ces ressources sont consommées et produites par les événements du système.

Les arcs entrants d’une transition peuvent être valués par un entier quelconque (non
nul)
=> valuation = nombre de jeton nécessaires dans la place pour franchir la transition
=> si k est la valuation d’un arc d’une place P vers une transition T, le tir de la
transition T retire k jetons dans la place P
3.5. DÉFINITION 51

Les arcs sortants d’une transition peuvent être valués par un entier quelconque (non
nul)
=> valuation = nombre de jeton produits dans la place située après la transition
=> si k est la valuation d’un arc d’une transition T vers une place P, le tir de la
transition T dépose k jetons dans la place P

Par défaut, les arcs sont valués par 1.

Exemple

3.5 Définition

Un RDP est un Quintuple : R = (T, P, A, M0)


T : ensemble de transitions T = {t1, t2, . . . , tl}
P : ensemble de places P = {p1, p2, . . . , pm}
A : ensemble d’arcs A = {a1, a2, . . . , an}
M0 : marquage initial : {m(pi)} ( nombre de jetons dans place.pi.)
Exemple
52 CHAPTER 3. RÉSEAUX DE PETRI

T = {t1, t2, t3, t4}


P = {p1, p2, p3}
Arcs = {(p2, t1), (t1, p1), (p1, t2), (t2, p2), (p2, t3), (t3, p3), (p3, t4), (t4, p2)}
M0 = [0 2 0]

3.6 Notation matricielle (Matrice d’incidence) :


Un réseau peut être « réduit » à deux matrices,W + et W − Ces matrices sont des
matrices dans lesquelles :
W + production
W − 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.
pré ( P i, T j ) " est le poids "k" de l’arc reliant une place à une transition.

k si l0 arc(P i, T j) existe
pré(P i, T j) =
0 si non

post ( P i, T j ) " est le poids "k" de l’arc reliant une transition à une place.

k si l0 arc(P i, T j) existe
post(P i, T j) =
0 si non

on appelle "matrice d’incidence avant" : W − =[ pré ( P i, T j )]


on appelle "matrice d’incidence arrière" : W + =[ pré ( P i, T j )]
on appelle "matrice d’incidence " : W =W + – W −
Cette matrice est indépendante du marquage et indique en colonne la modification du
marquage apportée par le franchissement de la transition correspondante
3.7. PROPRIÉTÉS STRUCTURELLES DES RDP 53

Exemple

3.7 Propriétés structurelles des RDP


Graphes d’événements
Un RdP est un graphe d’événements si et seulement si toute place a exactement 1
transition d’entrée et 1 transition de sortie.

RdP pur
Un RdP est dit « pur » s’il n’existe pas de transition ayant une place d’entrée qui soit
aussi place de sortie de cette même transition.
54 CHAPTER 3. RÉSEAUX DE PETRI

RdP sans boucle


Un RdP sans boucle est tel que s il ’ existe une transition transition Tj et une place
Pi qui est à la fois place d’entrée et place de sortie de Tj, alors Tj a au moins une autre
place d’entrée.
Remarque : l’ensemble des RdP sans boucle inclut l’ensemble des RdP purs.

RdP sans conflit


Un Rdp sans conflit est un réseau dans lequel chaque place a au plus une transition
de sortie. Un RdP avec conflit est un réseau qui possède donc une place avec au moins
deux transitions de sorties.
Un conflit (structurel) correspond ‘a l’existence d’une place Pi qui a au moins deux
transitions de sortie Tj , Tk, etc.. Notation < Pi; {Tj ; Tk; ,...} >.
Exemple

Sur le RdP de droite de la figure 2.13, on a le conflit < P1; {T2; T3} >.
Quand la place P1 contient une marque, les transitions T1 et T2 sont franchissables.
Seule une des deux transitions peut être franchie : il est nécessaire de prendre une décision
pour savoir laquelle des deux le sera effectivement.
3.7. PROPRIÉTÉS STRUCTURELLES DES RDP 55

L’absence ou la présence d’un conflit est une propriété importante d’un réseau de Pétri.

RdP à choix libre


Un réseau de Pétri est dit à choix libre si et seulement si les transitions de sortie de
tous ses conflits n’admettent qu’une seule place d’entrée.

Un RdP à choix libre étendu


Un RdP à choix libre étendu est un RdP dans lequel pour tout conflit provoqué par
des transitions Tj, si une de ces transitions possède une autre place d’entrée que celle à
partir de laquelle le conflit est provoqué Jeudi 6 février 2014 Vincent Bombardier T18
alors toutes les autres transitions ont également cette place en entrée.

RDP simple
Un RdP est dit « simple » si chacune chacune de ses transitions transitions ne peut
être concernée que par un conflit au plus.

Propriétés

Sensibilisation d’une transition


Une transition est sensibilisée ssi toute place prédécesseur contient au moins un jeton.
56 CHAPTER 3. RÉSEAUX DE PETRI

Tir d’une transition


On enlève 1 jeton de chaque place ‘amont’ et on ajoute 1 jeton à chaque place ‘aval’.

Réseau de Pétri borné


Réseau de Pétri borné Une place Pi est bornée pour un marquage initial M0 si pour
tout marquage accessible à partir de M0, le nombre de marques dans Pi reste borné. Elle
est dite k-bornée si le nombre de marques dans Pi est toujours inférieur ou égal à k. Un
RdP marqué est (k) borné si toutes ses places sont (k) bornées.
Exemple Réseau de Pétri non borné

Un RdP sauf
Un RdP est SAUF pour un marquage initial M0 si pour tout marquage accessible
chaque place contient au plus une

Un RdP vivant
3.8. GRAPHE DES MARQUAGES 57

Un RdP vivant si aucune transition ne peut devenir infranchissable

Blocage
Un blocage (ou état puits) est un marquage pour lequel aucune transition est validée(système
mal conçu).
Un RdP marqué est dit sans blocage pour un marquage initial M0 si aucun marquage
accessible est un blocage.

état d’accueil
Un RdP marqué a un état d’accueil Ma pour un marquage initial M0 si pour tout mar-
quage accessible Mk à partir deM0, il existe une séquence de franchissements permettant
d’atteindre le marquage Ma
Si un RdP présente un état d’accueil, il est aisé de vérifier s’il est sans blocage et
d’´etudier sa vivacité.
Un RdP est réinitialisable pour un marquage initial M0 si M0 est un état d’accueil.

Réseau de Petri vivant et sauf : 1 jeton, sans blocage


Machine à états finie Chaque transition n’a qu’une place amont et une place aval.

3.8 Graphe des marquages

Chaque place contient un nombre entier positif ou nul de marques ou jetons. Le


marquage M définit l’état du système décrit par le réseau à un instant donné. C’est un
vecteur colonne de dimension le nombre de places dans le réseau. Le premier élément du
vecteur correspond au nombre de jetons contenus dans la place P i.
58 CHAPTER 3. RÉSEAUX DE PETRI

Les propriétés déterminées à partir de ce graphe des marquages sont:


deux blocs M 2 et M 3
2 borné
non vivant
non réinitilisable

3.9 Séquence de transition

une séquence de franchissement sv est une suite de franchissement de transitions qui


sont itérativement franchissables et, pour un marquage initial M, aboutit à un marquage
final M’.
On note
M sv M’
avec sv = Ti..Tj
Exemple
3.10. MARQUAGE ACCESSIBLE (OU ATTEIGNABLE) 59

T1 T2 T3 T4 est une séquence de transition franchissable

3.10 marquage accessible (ou atteignable)


un marquage accessible (ou atteignable) M à partir d’un marquage initial Mo est
un marquage pour lequel il existe une séquence de franchissement qui, à partir de Mo
aboutisse à M.
On note *Mo l’ensemble des marquages accessibles à partir de Mo.

Un exemple de réseau de Petri.


Objectif : Modéliser la coordination entre deux processus dont un est le producteur
et l’autre le consommateur d’une ressource.
Le producteur produit un objet (item) et le dépose dans un tampon (bac),
Le consommateur prend l’objet dans le bac et le « consomme ».
Contrainte: avant que le consommateur ne puisse exécuter l’action « consommer », le
producteur doit avoir fini l’action « produire ».
60 CHAPTER 3. RÉSEAUX DE PETRI

3.11 Différentes possibilités avec réseau de Petri

Confusion:
P peut faire tirer A ou B (ce dernier avec Q) mais s’il fait tirer A, B devient impossible
Fusion :
Les trois transitions ne sont pas obligées d’être simultanées, la place a besoin d’un seul
jeton pour procéder
Priorité/inhibition :
le cercle indique que s’il y a un jeton dans Q, la transition B ne peut pas tirer
3.12. GRAFCET & RÉSEAU DE PÉTRI 61

3.12 Grafcet & Réseau de pétri


Le Grafcet et le réseau de Pétri sont un excellent moyen pour modéliser la dynamique
des systèmes et vérifier certaines propriétés.
Exemple :
Réalisé une barrière automatique qui contrôle l’accès d’un parking. Seul les conduc-
teurs possède une carte magnétique sont autorisés à commander l’ouverture, après la
commande d’ouverture l’accès est possible durant 15 secondes.

Vous aimerez peut-être aussi