Université de NANCY l
UER de Mathématiques
mc : UNE APPROCHE METHODIQUE POUR
LA CONCEPTION CERTIFIEE
DES SYSTEMES DE COMMANDE
DES AUTOMATISMES INDUSTRIELS
REPARTIS
==============--========~========
THESE
Présentée à J'Université de Nancy 1
pour l'obtention du grade de
DOCTEUR D'ETAT ES-SCIENCES MATHEMATIQUES
(Mendon: Informatique)
Par
Joachim TANKOANO
=====--=====--================--==
Thèse soutenue publiquement le 8 Mars 1988 devant
,
la commission d'examen composée de
Présiden t
M.
J.P. THOMESSE. ENSEM NANCY
Rapporteurs
MM. M. COURVOISIER
Universi.té P. Sabatier de TOULOUSE
P. LADET. Ecole des Mines de ST ETIENNE
J.M. PROTH INRIA NANCY
Examinateurs
MM. J.C. DERNIAME Université de NANCY 1
C. IUNG. ENSEM NANCY
G.R. PERRIN.
Université de BESANCON
M. RAYNAL. Université de RENNES

Université de NANCY 1
UER de Mathématiques
M2C : UNE APPROCHE METHODIQUE POUR
LA CONCEPTION CERTIFIEE
DES SY~EMES DE COMMANDE
DES AUTOMATISMES INDU~RlELS
REPARTIS
THESE
Présentée l l'Université de Nancy 1
pour l'obtention du grade de
DOCTEUR D'ETAT ES-SCIENCES MATHEMATIQUES
(MeIItioIl: ~ )
Par
J-=IIà TAN:K:OANO
~ soutenue publiquement le 8 Man; 1988 devant
la commission d'examen composte de
Président
M.
J.P. THOMESSE, ENSEM NANCY
Rapporteurs
MM. M. COURVOISIER
Université P. Sabatier de TOULOUSE
P. LADET, Ecole des Mines de ST ETIENNE
J.M. PROTH INRIA NANCY
Examinateurs
MM. J.C. DERNIAME Université de NANCY 1
C. IUNG, ENSEM NANCY
G.R. PERRIN,
Université de BESANCON
M. RAYNAL, Université de RENNES




i.


A la mémoire de ma mère
A
Jacqueline

A Jol!I et Olivier
r

Plus qu'une tradition, je voudrais ici exprimer ma reconnaissance à tous
ceux du laboratoire du CRIN ou de l'extérieur qui m'ont aidé par leurs conseils,
par leurs discussions, et aussi par leur amitié.
Je
tiens tout
paniculièrement
à exprimer ma profonde
gratitude à Mr.
J.C. Demiame, Professeur à l'Université de Nancy l, pour la confiance qu'il m'a
témoignée
en
m'acceptant
dans
l'équipe
de
recherche
qu'il
anime,
pour
l'orientation
qu'il
a
donnée
à
mon
travail,
et
aussi
pour
ses
multiples
encouragements.
Je remercie vivement
Mr. J.P. Thomesse, Professeur à l'Ecole Nationale Supérieure d'Electricité
et de Mécanique de Nancy, qui me fait l'honneur de présider ce jury.
Mr. M. Courvoisier, Professeur à l'Université Paul Sabatier de Toulouse,
qui
a
accepté
d'être
rapporteur
de
ma
thèse.
Sa
longue
expérience
sur
l'utilisation des réseaux de Petri dans la conception des systèmes de commande le
désignait tout naturellement pour évaluer mon travail, et sa lecture critique a
contribué
à son
amélioration.
Mr. P. Ladet, Professeur à l'Ecole des Mines de St Etienne. Egalement
spécialiste de l'utilisation des réseaux de Petri dans la conception des systèmes de
commande, il a accepté d'être rapponeur de ma thèse. Les discussions que nous
avons eues, et ses critiques avisées ont contribué à clarifier mes idées.
Mr. J.M. Proth. Directeur de l'INRIA à Nancy. Il a aussi acccpté d'être
rapponeur de ma thèse.
Sa connaissance des problèmes d'optimisation dans les
ateliers de production le désignait également pour cette évaluation.
Je
remercie
vivement
les
personnalités
scientifiques
qui
se
sont
1
intéressées
à
mon
travail,
et qui
me
font
l'honneur
de
paniciper à ce jury,
malgré
leurs
lourdes
tliches:
f
1
1
1


PLAN

CHAPITRE 1
INIRODUCTION
PREMIERE PARTIE
CHAPITRE 1
LE MODELE DE DESCRIPTION DU COMPORlEMENf
CHAPITRE 3
LA MODELISATION DE L'ENVIRONNEMENT

CHAPITRE 4
LA MODELISATION DU FLUX D'ACTIVrrn
DEUXIEME PARTIE
CHAPITRE 5
LES OUTILS D'AIDE A LA CONCEPI'ION: GENERALITES
CHAPITRE 6
AIDE A LA CONCEPI10N DU COMPORlEMENT EXTERNE
CHAPITRE 7
AIDE A LA CONCEPI10N DU COMPORTEMENT INfERNE
CONCLUSION
ANNEXE A
LES RESEAUX DE PETRI GENERALISES: Définitions. Propriétés.
Abréviations.
Extensions

ANNEXE B
DEMONSTRATIONS DU CHAPITRE 6
ANNEXE C
DEMONSTRATIONS DU CHAPITRE 7
BIBLIOGRAPHIE

r

Ch.l:nfrRODUCTlON
Page:
1
CHAPITRE 1
INTRODUCTION


Mr. C. Jung Professeur à l'Ecole Nationale Suptrieure d'Electricit~ et de
M~canique
de Nancy

Mr. G.R. Perrin , Professeur à l'Universit~ de Besançon
Mr. M. Raynal Professeur à l'Universit~ de Rennes.
Je
remercie
~galement D.
Boudebous
avec
qui
j'ai
fait
~quipe ces
dernières
années. pour sa collaboration qui a sans aucun doute contribuée à

l'avancement de mon travail.
Je tiens également à associer à ces remerciements. tous les collègues de
l'IUT de l'Université de Nancy II. La qualité de nos rappons m'ont permis de
concilier mes activités d'enseignement et de recherche.

Je ne saurais terminer sans remercier Mme D. Marchand, qui a assuré
avec le plus grand soin. la dactylographie d'une panie de cette thèse.




Ch. 1 : INTRODUCTION
Page:
3
1.0 LES IDEES CENTRALES
Un système de commande de procédé industriel discontinu est un système
chargé
de
surveiller
et
de
piloter
des
processus
de
production
environnants
assujéltis à des évolutions parallèles et à des contraintes temporelles strictes [ Le
Lann
83
].
Les
ateliers
flexibles.
caractérisés
par
un
nombre
important
de
machines
de
production
(40
000
chez
General
Motors)
Minet
87
],
géographiquement
distribués.
et
qui
ne
sont
pas
indépendants
les
uns
des
autres. conduit de plus en plus à concevoir ces systèmes
comme des systèmes
répartis.
plus faciles à maintenir, à reconfigurer, à étendre. et offrant un
plus
haut degré de fiabilité et de disponibilité [ Thomesse 80] [ Ladet 82]
[Kramer 83 ]
[ Calvez 84 ] [ Pascal 87 ] [ Le Lann 87 ] [ Lonchamp 87 ].
La contrepartie de ces avantages est l'extrème complexité de conception
de ces systèmes. caractérisée par quatre tâches principales :
La spécification
du service
attendu
L'organisation
du
système
- Sa validation
Et l'évaluation
de ses performances.
De ces quatres tâches. la validation est sans conteste
la plus importante,
mais aussi la plus complexe et la plus délicate [Wirth 77]. Ceci est dû d'une pan à
l'explosion combinatoire du nombre des états d'un système. et d'autre part à la
difficulté.
voire à
l'impossibilité
matérielle
d'observer
globalement
ces états
[ Lampon 78 ] [ Deschizeaux 82]. De ce fait. les méthodes de validation qui sont en
général proposées dans
la littérature
sont soit
trop
lourdes
dans leur mise en
oeuvre, soit limitées dans le type de propriétés qu'elles permettent de vérifier.
Les réseaux de Petri (RdPs) [ Peterson 81 ] [Brams 83 ] [ TSI 85 ] qui
constituent
sans
aucun
doute
l'un
des
modèles
d'analyse
du
parallélisme
pour

Ch. 1 : INTRODucrroN
Page:
4
lequel
il
existe
le
plus
important
corpus
de
résultats
applicables.
n'échappent
pas à cette règle. Bon nombre de propriétés importantes, comme celles liées à la
vivacité, qui garantissent à des degrés divers la possibilité pour un système de
prolonger
indéfiniment
des
séquences
d'opérations,
ne
sont
pas
toujours
décidables.
Les
résultats
intéressants
qui
ont
pu
être
dégagés,
ne
sont
en
général
valables que
pour des
classes
particulières
de
réseaux,
ou
applicables
que
dans
des
contextes
bien
particuliers.
ce
qui
les
rend
très
souvent
difficilement
exploitables.
C'est
le
cas
par
exemple
du
théorème
de
Commoner [Commoner 72 J, qui donne pour certaines classes une condition de
vivacité
fondée
sur
la structure du
réseau.
On
peut
aussi
citer de
nombreux
résultats
existants
sur
certains
types
de
transformation
qui
permettent
de
préserver les bonnes propriétés d'un
réseau,
dont la vivacité.
C'est le cas par
exemple des règles de raffinement fondées sur la notion de bloc bien formé [
Valette
76
J, des règles de fusion et de substitution fondées sur la notion
d'abstraction [ André 81 ]. et des règles de réduction qui permettent de réduire
ou d'augmenter la taille d'un réseau [ Brams 83 J [ Berthelot 85 a J.
Dans ce mémoire, nous exploitons ces résultats à des degrés divers, pour
proposer une
approche méthodique
de conception
rigoureuse des
systèmes de
commande répartis, qui
s'appuie sur
Une
démarche
globale
Quatre
modèles
de
représentation
Et deux outils (PETRI-C et PETRI-S).
Les
caractéristiques
essentielles
de
cette
approche
résident
dans
deux
points
principaux qui justifient son intérêt et
font son originalité.
Le
premier
point
concerne
les
règles
de
construction
et
de
transformation
mécanisables que nous proposons
pour à la fois
guider
et
discipliner
le
raisonnement
dans
les
tâches
de
spécification
et
d'organisation.
Ces
règles
s'appuient sur des
techniques
de
ra ffi nem en t et de

Ch. 1 : INTRODUcnON
Page:
5
décomposition
de réseaux de Petri interprétés, qui permettent de simplifier.
voire
d'é li min e r les
étapes
délicates
de
validation. et de rendre ainsi la
construire
de
systèmes
complexes
et
sûrs
de
fonctionnement
abordable
par un
concepteur moyen
.
Le second point concerne la définition d'une approche de modélisation
de
l'environnement
commandé
et
du
flux
d'activité. qui
a permis la
réalisation d'un outil d'aide au prototypage
rapide [ Boudebous 88 J. basé sur
une simulation conjointe de
la partie commande
et de la partie opérative.
Ce
simulateur peut être utilisé soit comme un outil de mise au point. soit pour
dialoguer
avec
l'utilisateur
afin de clarifier ses besoins.
soit pour évaluer
les
performances
et
dimmensionner
l'atelier. Il est caractérisé
par sa très
grande
facilité
de
mise en
oeuvre (ce
qui
est un
point
fondamental
pour le
prototypage).
et aussi
et surtout par le
fait
qu'il permet
d'éviter les doubles
définitions
(avec
tous
les
risques
d'incohérence
que
cela
comporte)
en
exploitant
au
mieux
la complémentarité
qui
existe
entre
les
différentes
vues
caractéristiques
du
fonctionnement
d'un
atelier.

Ces
deux
points
sont
essentiels
pour
aborder
de
façon
cohérente
et
réaliste
les
tâches
intimement
liées
de
spécification.
d'organisation,
de
validation, et d'évaluation des performances d'un système de commande.
Avant de présenter le plan de l'ouvrage. nous précisons le cadre général
dans
lequel
ce
travail
s'est
déroulé,
les
objectifs
poursuivis.
les
concepts
généraux
qui
ont
inspiré
la
démarche
globale
de
conception
que
nous
avons
retenue. et
les grandes lignes de celle démarche.
1.1 GENESE
Ce
travail
de
recherche
qui
s'est
déroulé
au
sein
de
l'équipe
"Génie
Logiciel"
du CRIN. s'inscrit dans
le cadre d'un
projet de recherche plus vaste
portant à la fois sur les aspects
- de
conception

Ch. 1 : INTRODUcnON
Page:
6
- de programmation
- et d'implémentation
des applications industrielles répanies.
Ce projet qui
a débuté dans le contexte
de l'ATP sur le parallélisme a conduit autour des années 83 à la définition du
langage
FLEXI
[Demiame
83]
[Zakari
84]
autour
duquel
le
prototype
d'un
système
de
programmation
permettant
de
développer
des
applications
répanies sur un réseau de processeurs communicant via un
réseau
local
a été
réalisé [Thiel 85].
Le but de notre travail
a été de compléter ce système de
programmation
par
un
système
d'aide
Il
la
conception,
l'objectif à
terme
étant
de
converger
vers
un
environnement
de
développement
ciblé
sur
une
classe
particulière d'applications.
les
applications
temps
réel
répanies.
De ce fait, le langage
FLEXI
a
constitué le point de dépan de toutes nos
réflexions.
Il
a largement
influencé
notre
démarche
globale
de
conception. et
fournit
tous
les
mécanismes
nécessaires
pour
décrire,
tout
au
long
de
cette
démarche • les aspects structurels d'un système de commande.
L'un
des
éléments
déterminants
dans
la
méthode
de
conception
d'un
système complexe, réside en effet dans le choix du modèle de représentation de
sa structure. Dans la
littérature, différents langages sont proposés pour décrire
de façon statique
ou dynamique la structure d'un système répani, soit comme
un
ensemble d'entités communicantes
mono ou
multi-tâches
qui
constituent
les
unités de répanition [ Kahn 77 ] [ Hoare 78]
Hansen 78 1 [ Lister 80]
[Raynal
81] [Kramer 81 ] [ Kramer 82 ] [ Andrews 82]
[Couniat 87 ] [ Herrmann 87 ], soit
comme
un
ensemble
d'entités
circulantes
[
Betourné
85
].
Plus
proche
des
panicularités
liées
à
la commande des procédés industriels. on
peut également
citer les approches développées dans [ Thomesse 80] et [ Ladet 82] pour décrire
les applications répanies en séparant structure de contrôle et traitement.
FLEXI
fait
panie
de
cette
famille
de
langages.
Les
concepts
qui
le
caractérisent sont proches de ceux développés également dans
Raynal 81]
et
plus paniculièrement dans
[ Lister 80 ] [ Kramer 81
] et [Kramer 82 ]. Ils

Ch. 1 : INTRODUCTION
Page:
7
constituent
un
apport
important
des
notions
d'abstraction et de modularité
à
la
programmation
d'applications
réparties.
Les modules et tâches
Dans FLEXI, les modules constituent des unités de répartition, c'est à dire
des unités locales qui ne peuvent être réparties
sur plusieurs sites.
Définis au
sens des modules de Kramer [ Lister 80 J [ Kramer 81 J [ Kramer 82 J, ces modules
ne
peuvent
communiquer
entre
eux
que
par
des
échanges
de
messages,
et
peuvent
être
constitués
de
une
ou
plusieurs
tâches
parallèles.
L'intérêt
de
ce
concept réside dans le fait qu'il permet de faire abstraction de la répartition lors
de la conception de
la structure interne d'un système, et de
réaliser ainsi une
programmation
indépendante
de
l'architecture
du
réseau
de
processeurs
cible.
Les
modules
constituent
également
des
unités
de
réalisation.
Chaque
module peut, en fonction de sa destination, être programmé et testé séparément
dans un langage
spécifique, en utilisant un noyau commun de langage proposé
dans FLEXI.
Ceci permet en particulier de développer des applications
réparties
sur des
réseaux
de processeurs hétérogènes.
Les ports et po)jtiQyes de commynication
Les
points
d'entrée
et
de
sortie
des
messages
dans
un
module
sont
représentés
par
des
ports
qui
définissent
l'interface
de
communication
de
ce
module avec son environnement.
Cet interface se définit comme suit:
Mlul.u.k < nom de module> interface is
in. < nom de port > i.nwU = < type de message >
Wl1 < nom de port > Qll.Ul.Y1 = < type de message >
in.Wll < nom de port > inmu...= < type de message > ll..U.1P.Y1 = <type de message>
Wllin. < nom de port > Qll.Ul.Y1 = < type de message > inmU = <type de message>

Ch. 1 : INTRODUCTION
Page:
8
Plusieurs
"types
de
communication"
autorisant
la
production
et
la
consommation de messages
sur les pons selon
différentes stratégies, pennettent
de
bien
séparer,
lors
de
la
programmation,
les
problèmes
de
gestion
de
la
communication,
des
problèmes
algorithmiques.
Les Haisons entre modules
A
l'intérieur
d'un
module,
les
panenaires
sont
désignés
de
façon
implicite dans les primitives de communication par l'intennédiaire des pons. Ce
sont les Haisons définies comme suit entre ces pons, à l'extérieur des modules,
qui explicitent en dernier resson les panenaires d'un échange:
~ < nom de module >/< nom de pon > Wl < nom de module >/< nom de pon >
< nom de module >/<nom de pon >
On
rend
ainsi
la programmation des modules indépendante de la topologie du
réseau
logique
d'échange,
ce
qui
permet
de
les
assembler
de
différentes
manières en fonction du service à assurer.
Répan;tion
et
reconfiiuratjon
du
système
Enfin. FLEXI pennet de définir la répanition d'un
système, en décrivant
l'affectation
des
modules
sur des
sites
physiques,
indépendamment du
contenu
des
modules
et
des
liaisons
définies
entre
ces
modules,
ce
qui
a
pour
conséquence
de
pennettre
une
reconfiguration
statique
rapide.
Cette
affectation
se définit simplement de la façon suivante:
Machjne < nom de processeur> : < nom de module >

Ch. 1 : INTRODUCTION
Page:
9
1.2 LES GRANDES LIGNES DE LA DEMARCHE GLOBALE DE
CONCEPTION
La démarche globale de conception qui nous servira de fil
directeur tout
au long de ce mémoire découle de ces différents concepts. Elle
se situe en aval
d'une
démarche
productique
[AFNOR
85]
ayant
permis
de
concevoir
le
système
de
production
selon
une
approche
globale.
Nous
supposerons
donc
acquis un certain nombre de résultats
Spécification
des
produits
- Spécification des gammes (ou procédés) de fabrication
Spécification
et
organisation
globale
des
moyens
de
production
(postes
de
travail,
moyens
de
transport
et
de
stockage,
organisation
générale
du
flux
d'in fo rm ation).
Elle vise la conception de systèmes de commande dont les composants sont
à
répartir
de
façon
statique
sur
un
réseau
de
processeurs
(ordinateurs,
micro-ordinateurs
ou
automates
programmables)
dotés
d'un
exécutif temps
réel
et d'un système de communication par échanges de messages adéquats.
Elle
est
caractérisée
essentiellement
par
deux
étapes
dans
le
cycle
de
décision et par trois niveaux dans le cycle d'abstraction (c.f. figure 2.1), ce qui
nous
rapproche
des
démarches
généralement
préconisées
pour
la
conception
des systèmes d'information [Tardieu 86 J.
1.2.1 LE CYCLE DE DECISION
Il s'articule autour des deux étapes suivantes

Ch. 1 : INTRODUCTION
Page:
10
(1)
L'étape
de
conception
globale
Les choix de solution opérés à ce niveau concernent l'architecture globale
du système.
Etepe de conception globele
Etepe de conception dételllée
Démarche productique
Niveau organisationnel de
l'étape de conception globale
t
Système
de
Nlveeu
Module i
commande
Conceptuel
(vue externe)
(vue externe)
Organisation
du système
DéCOmpOSt en tâches
Nlveeu
Orgenlaetlonnel
Répartition du système
Codilicatio
des tâches
Nlveeu
Opéretlonne'
Figure 2.1

Ch. 1 : INTRODUCTION
Page:
1 1
(2)
L'étape
de
conception
détaillée
A ce
niveau
on
s'intéresse
à
la
conception
détaillée
des
sous-systèmes
identifiés
à
l'étape précédente.
1.2.2 LE CYCLE D'ABSTRACTION
Pour chaque étape du cycle de décision, nous distinguons les trois niveaux
d'abstraction
suivants,
qui
permettent
de
construire
progressivement
un
système de commande
réparti en
faisant
le plus longtemps possible abstraction
des
choix
d'organisation,
des
choix
de
répartition,
et
des
contraintes
de
réalisation dans
un
langage
de
programmation
donné.
(1)
Le
niveau
conceptuel
Pour
répondre
à
des
contraintes
de
productivité,
l'organisation
de
la
production
issue
de
la
démarche
productique
impose
très
souvent
un
fonctionnement
parallèle
et
parfois
concurrent
des
outils
de
production
à
automatiser. Ce fonctionnement qui décrit un parallélisme de situation
[ Raynal
81
1 constitue dans la plupart des cas l'essentiel de l'énoncé du problème à
résoudre.
Au
niveau conceptuel, il s'agit essentiellement pour le concepteur de
dialoguer avec l'utilisateur. pour décrire le comportement externe du système de
commande,
en
définissant la relation
d'ordre qui
doit être maintenue entre les
entrées et les sorties de ce système, pour contraindre le procédé commandé à
évoluer
en
respectant
le
fonctionnement
voulu.
(2)
Le
niveau
organisationnel
Il
s'appuie sur les résultats acquis au niveau conceptuel.
Au stade de la
conception
globale.
il
s'agit
pour
le
concepteur
de
déterminer
l'architecture
interne qui facilitera le mieux ou qui
rendra possible la répartition du système
de commande sur un réseau de processeurs. Cette tâche conduit pour l'essentiel à
regrouper dans des unités de
répartition en fonction de différentes contraintes

Ch. 1 : INTRODUCTION
Page:
12
Le Lann 83 1
- Contraintes de temps
- Contraintes de répartition
géographique des outils de
production
- Contraintes de flexibilité dans la production
- Contraintes
de
robustesse
- Contraintes de modularité [El Fazziki 851
les entrées et les sorties qu'il est important de ne pas dissocier. et li. définir le
comportement interne du système de commande.
Au
stade
de
la
conception
détaillée.
il
s'agit
de
décomposer
chaque
sous-système en tâches parallèles. soit pour des raisons d'efficacité. soit pour des
raisons de clarté.
(3)
Le
niveau
opérationnel
Le niveau opérationnel est consacré aux choix de répartition sur des sites
physiques
des
unités
de
répartition
identifiées
au
niveau
organisationel.
(li.
l'étape
de
conception
globale),
et
aux
choix
de
réalisation
du
comportement
spécifié pour chaque tâche dans un langage de programmation donné, (li. l'étape
de
conception
détaillée).
1.2.3 LES AVANTAGES DE LA DEMARCHE
La
hiérarchisation
des
préoccupations
proposée
dans
celle
démarche
présente
plusieurs
avantages:
(1)
Elle
simplifie
la complexité de
conception,
en
séparant
spécification
du
problème.
organisation
du
système.
et
prise
en
compte
des
contraintes
des

Ch. 1 : INTRODUCTION
Page:
13
langages
de
programmation
et
de
l'architecture
physique
du
réseau
de
processeurs
Plus particulièrement, au niveau conceptuel, en
retardant la prise
en
compte
des
contraintes
d'organisation,
elle
facilite
la
construction
de
la
spécification du problème par le
concepteur, et l'analyse de cette spécification
par
l'utilisateur,
tous
les
deux
pouvant
dans
leur
raisonnement
présupposer
l'existence
d'une
échelle
temporelle
universelle.
(2)
Par
ailleurs,
les
décisions
sont
prises
dans
un
ordre
qui
facilitera
la
maintenance ultérieure du système. Les décisions qui évoluent le plus vite sont
prises le plus tard possible, Ce qui permet de prendre en compte leurs évolutions
sans remettre en cause les décisions prises plus tôt [ Dijkstra 76 J. Ainsi, les choix
de répartition du
système peuvent être modifiés lorsque les
caractéristiques du
réSeau
physique
des
sites
changent
sans
que
ne
soit
remis
en
cauSe
l'architecture
interne du
système.
De
la
même
façon,
l'architecture
interne
du
système peut être
modifiée lorsque
les contraintes d'organisation
changent sans
que ne soit remis en cause le comportement externe du système.
Tout
en
étant
globalement
descendante,
cette
démarche
ne
s'oppose
en
aucune
façon
à
une
approche
ascendante,
à
des
étapes
particulières
de
la
conception.
Les
modèles
de
représentation
et
les
outils
qui
la
supportent
autorisent ceS deux
approches.
1.3 LE PLAN DE L'OUVRAGE
Le plan que nous adoptons comporte deux parties. La première partie est
consacrée à la description des modèles de représentation que nous avons retenu
pour supporter notre
démarche de
conception.
Nous
y abordons
successivement
la
présentation
du
modèle
de
description
du
comportement
d'un
système
de
commande (chapitre 2), la modélisation de son environnement (chapitre 3), et la
modélisation
du flux
d'activité (chapitre 4).
La modélisation
de l'environnement
et du flux d'activité complètent le modèle de description du comportement dans
une optique de simulation.
La deuxième partie est consacrée à la présentation des outils d'aide à la

Ch. 1 : INTRODUcnON
Page:
14
conception. L'outil d'aide au prototypage rapide présenté de façon détaillée dans
[ Boudebous 88 1 ne sera que effleuré. Dans le chapitre 5 qui sen d'introduction à
cette deuxième
panie,
nous
effectuons
tout
d'abord
un
survol
des
différentes
formes que prennent de façon générale les outils d'aide à la conception. Ensuite,
nous abordons la présentation des techniques de raffinement (chapitre 6) et de
décomposition
(chapitre 7) que
nous
proposons comme
techniques
d'aide
à la
conception.


Ch. 2 : LE MODELE DE DESCRIPI'ION DU COMPORTEMENT
Page: 1
Chapitre 2
LE MODELE
DE DESCRIPTION
DU COMPORlEMENT

QI. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 2
PLAN
Page
2.0
INTRODUcrION
2/3
2.1
LES ASPECfS CARACŒRISTIQUES DES MODELES DE SPECIFICATION..
2/3
2.2 QUELQUES EXEMFLES
2/6
2.2.1 Le modèle de J. Misra et KM. Chandy
2/6
2.2.2 Le modèle de B.S. Chen et R.T. Yeh
2/8
2.2.3 Le modèle de J.R. Abrial et S.A. Schuman
2110
2.2.4 Le modèle de Z.C. Chen et C.A.R. Hoare
2112
2.3 LE CHOIX DU MODELE
2/15
2.4 SPECIFICATION DU COMPORTEMENTEXIERNE A L'AIDE DES
RdP INTERPRETES
2/16
2.4.1 Définition
2/16
2.4.2 Quelques notions et conventions supplémentaires
2/18
2.4.3 Les règles de fonctionnement d'un RdPI
212 1
-La prise en compte des occurrences d'événements
2122
-Les règles d'arbitrage pour le choix des transitions
li franchir
2/26
2.5
SPECIFICATION DU COMPORTEMENT INTERNE A L'AIDE DES RdPl
2/32
2.5.1 Remarques préliminaires
2/32
2.5.2 La communication synchrone
2/38
2.5.3 La communication asynchrone
2/41
2.5.4 L'utilisation
combinée
des
communications
synchrones
et asynchrones
2/43
2.6
EXEMPLES
2/44
2.6.1 La pompe de Kramer
2/45
2.6.2 L'atelier de bobinage
2/51


Ch. 2 : LE MODELE DE DESCRlPTlON DU COMPORTEMENT
Page: 3
2.0 INTRODUCTION
Le choix d'un modèle de spécification du comportement que doit avoir un
système
pour assurer
le
service qu'on
attend
de
lui,
semble
faire
panie
des
problèmes sujets à polémiques, tant il est intimement lié à la culture scientifique
des
individus,
au
domaine
d'application,
et
aussi
à
la
destination
des
spécifications qu'on peut en dériver. Dans ce chapitre, après une étude critique
des
aspects
fondamentaux
qui
différencient
les
différents
modèles
de
spécification,
nous
aborderons
une
présentation détaillée
d'un
modèle
dérivé
des
réseaux
de
Petri
Interprétés
(Rd Pl),
sur lequel
nous
nous
appuyons pour
spécifier le
comportement
d'un
système
à
répartir,
aux
différentes
étapes
de
notre
démarche
de
conception.
2.1 LES
ASPECTS
CARACTERISTIQUES DES
MODELES DE
SPECIFICATION
Définitions:
Soient
-s un syst~me représenté par un module ou par un réseau de modules
communicants
-et E = { cl, c2, ...cn} l'ensemble
des
événements
de
communication
possibles sur les ports
de S.
On appelle trace de S tout mot sur le vocabulaire E, construit
en
concaténant
dans
leur
ordre
d'occurrence,
les
événements
de
communication
observés
pendant une exécution de
S. L'ensemble de toutes les traces que /'on peut ainsi
construire
pour
un
syst~me
défini
son
co Iftporte>IU Il t.
On
parle
de
comporte.ellt
exterlle
lorsque
ce
syst~me est perçu
comme
un
module
unique. et de cOMportemellt
jllterlle
lorsqu'il
s'agit plutôt d'un
réseau
de
modules
communicants.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 4
Spécifier le
comportement
d'un
système.
c'est
définir
d'une
manière
ou
d'une autre l'ensemble de ses traces possibles. De façon
plus intuitive. il s'agit
essentiellement.
pour
chaque
module
d'un
système.
de
préciser
comment
celui-ci
doit
interagir
avec
son
environnement.
en
faisant
abstraction
de
son
implémentation.
L'un
des
aspects
caractéristiques
des modèles
de
spécification
Que nous
abordons en tout premier lieu est le type de relation Qy'ils permettent de définir
entre
les événements
constitutifs d'une
trace. Cette relation peut être perçue de
deux points de vue.
Le premier point de vue est fonctionnel. Il conduit à définir les valeurs
à
produire
comme
des
fonctions
des
valeurs
consommées.
soit
de
façon
procédurale. soit de façon statique à l'aide de pré et de post conditions.
Le second point de vue
concerne les synchronisations. Il permet de
définir
les
contraintes
d'entrelacement
des
différents
événements
de
communication.
et
de
préciser
ainsi
les
valeurs
à
prendre
parmi
plusieurs
valeurs consommées pour calculer une valeur à produire.
Tout en étant complémentaires. chacun de ces points de vue peut devenir
primordial en fonction de la classe du problème traité.
Ainsi, le point de vue
fonctionnel
est
caractéristique
des
systèmes
dits
transformationnels (ex: la
construction
d'algorithmes
paralléles).
Dans
ce
cas,
le
service
attendu
est
essentiellement
défini
par
la
relation
fonctionnelle
que
le
système
doit
mainte.nir
entre
ses
entrées
et
ses
sorties.
Quant
au
point
de
vue
des
synchronisations.
il
est
caractéristique
des
système
dits
réactifs ( ex: la
commande
des
procédés
industriels)
qui
doivent
plutôt
maintenir
une
relation
d'ordre entre leurs entrées et leurs sorties pour assurer le service attendu.
Un autre aspect caractéristique des modèles de spécification est le type de
raisonnement Qu'ils
indyisent
sur le comportement d'un
système.

01. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 5
La spécification d'un système peut être vue soit comme un générateur,
soit comme un aeee pteu r
de traces. Elle induit alors un raisonnement sur le
componement
futur,
en
supposant
une
connaissance
de
l'état
courant
du
système.
On peut aussi
voir la spécification d'un
système comme un moyen pour
vérifier
l
posteriori
qu'une
trace
donnée
est
bien
une
trace
du
système
considéré. Dans ce cas, la spécification induit un raisonnement sur le passé du
système.
De par son caractère plus constructif, le premier point de vue permet une
conception
progressive du
parallélisme
dans
le
componement
d'un
sysrème,
et
facilite
le passage d'une spécification à une réalisation.
Par ailleurs, le concepteur peut raisonner sur l'état courant d'un
système,
soit à l'aide de varia bles
d'état, soit de façon duale à l'aide de s é que n e e s
d' é v é n e 111 e ft t S
observés
sur les ports du
système.
Dans
le
premier cas,
les
variables d'état servent à résumer un passé,
le calcul de ce passé devant être
explicité par ailleurs.
Dans le second cas,
le passé d'un système est décrit de
façon plus explicite à J'aide d'un calcul. Les deux approches étant duales, il est en
général
possible,
pour
le
spécifieur,
de
passer assez
simplement
dans
cenains
modèles, de l'une à l'autre, en fonction des spécificités du problème à résoudre.
Toutefois,
on
peut
noter
que
la
première
approche
offre
un
meilleur moyen
d'abstraction, la définition des calculs pouvant être différée dans le temps par
rappon à la définition des variables d'étal.
Un
autre
aspect
caractéristique
des
modèles
de
spécification
Que
nous
abordons
concerne
la
formalisation
des
spécifications.
Elle peut être faite soit de façon statique à l'aide d'assenions, soit de façon
d y n a 111 i que
à l'aide de programmes abstraits.
La première approche est plus
proche
du
raisonnement
humain.
Les
énoncés
sont
en
général
onhogonaux
et
formulés
de
façon
incrémentale.
Toutefois,
face
à
un
très
grand
nombre

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 6
d'énoncés,
il
devient
très
difficile
de
faire
le
lien
entre
les
différentes
contraintes
exprimées.
La
deuxième
approche
a
contre
elle
d'amener
le
concepteur
à
définir
l'énoncé
d'un
problème
de
façon
algorithmique,
ce
qui
peut
éventuellement
conduire
à
des
surspécifications.
En
contrepartie.
la
possibilité de représenter l'état d'un système. soit
par
des variables d'état.
soit
par
la
structure
de
contrôle
d'un
programme
abstrait,
peut
faciliter
dans
une
certaine
mesure
la
compréhension
des
liens
existants
entre
les
différentes
contraintes.
Enfin,
le dernier
mais non le moindre des
aspects caractéristiques des
modèles de spécification que nous abordons ici, concerne le
fait
qu'un modèle
peut ou non autoriser une conception
certifjée. en permettant d'une part de
vérifier
formellement
que
le
comportement
décrit
possède
de
bon ne s
propriétés, et d'autre part de garantir la cohérence
entre
une
spécification
et
la manière dont elle
est
implémentée. Cet
aspect est
fondamental
pour la
conception
de certaines
applications.
comme
les
applications de commande de
procédés industriels.
qui
nécessitent une sureté de fonctionnement
très élevée.
Bien souvent. cet aspect justifie à lui tout seul l'intérêt d'un modèle.
2.2 QUELQUES EXEMPLES BIBLIOGRAPHIQUES
2.2.1. LE MODELE DE J. MISRA ET K. M. CHANOY
Dans [Misra 81], Misra et Chandy proposent de décrire le comportement
externe d'un système H par une formule générale du type
RI HI S
où R et S sont des assertions sur les traces de H. Celle formule signifie que,
pour
toute trace de H, si S est initialement vrai. et si de plus R est vrai jusqu'au rang k
de la trace. alors S sera vrai jusqu'au rang k+1 (pour tout
k ~ 0).
Lorsque H est composé d'un réseau de modules communicants, on spécifie

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 7
le comportement de chaque module hi par une formule de même type
r· 1 h· 1 s·
1
1
1.
L'ensemble de ces formules définit le comportement interne de H.
Les conventions suivantes sont utilisées dans les assertions:
si C désigne un canal, ZC désigne la trace sur C
- si ZI et Z2 sont des traces,
ZI.ll. Z2
exprime que ZI est préfixe de Z2
- si ZI et Z2 sont des traces,
ZI •
Z 2
exprime que
ZI et Z2 sont
identiques
- empty
désigne la trace vide
On peut illustrer ce modèle de spécification sur l'exemple simple suivant:
Soit "merge"
un système recevant sur ses canaux d'entrée
Hin 1" et "in2"
deux
listes de valeurs triées en ordre croissant, et produisant sur son canal de
sortie
"out"
la fusion
de ces deux listes.
Le comportement de ce système peut être
spécifié de la façon suivante:
mi(Zin 1)' mi(Zin2) 1 merge r mi(Zoot), Zout ç
Zinl U Zin2
Dans
cette
formule.
mi(Z)
sert
à
désigner
que
la trace Z est monotone
croissante.
et Zout ç Zin 1 U Zin2 que les valeurs apparaissant dans la trace Zout
apparaissent aussi. soit dans Zin\\. soit dans Zin2' On exprime ainsi deux choses:
d'une part les contraintes de classement que doivent respecter les deux listes en
entrée et la liste en sortie, et d'autre part la relation qui doit exister entre les
valeurs consommées et les valeurs produites.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 8
Des
règles
d'inférence
permettent
de
vérifier
formellement
la
cohérence
entre la spécification externe et la spécification interne d'un système.
Commentaires:
Ce
modèle
permet
de
décrire
le
comportement
passé
d'un
système de façon
statique. Toutefois,
le fait de raisonner en termes de traces
conduit à recourir à des fonctions spécifiques du type de "mi", ou à introduire
une
très
grande
sérialisation
dans
le
comportement
d'un
système.
En
fait.
ce
modèle
est
trés
lourd
pour
décrire
un
système
réactif
caractérisé
par
des
contraintes
d'entrelacement
très
complexes.
2.2.2. LE MODELE DE B.S. CHEN ET R.T. YEH
Dans ce modèle [ Chen 83 1. on décrit le comportement d'un système en
définissant
des
contraintes
sur
l'entrelacement
des
événements,
dans
un
formalisme
utilisant
la
logique
du
premier
ordre
étendue
à
l'opérateur
de
précédence
temporelle
(noté ...... ) et à l'opérateur de causalité (noté .. ). Si dans
un système l'événement el se produit avant l'événement eZ' on note
el ...... eZ (ce
qui se lit el
précède eZ)' Si la cause de
l'occurrence d'un événement e2 est
l'occurrence
d'un
autre
événement
el' on note el'"
e2 (ce qui se lit que
l'événement
eZ
est causé par l'événement el ).
Deux
événements
liés
par la
relation
de
causalité
sont,
bien
entendu,
également
lié
par
la
relation
de
précédence
temporelle.
Ces
deux
relations
sont
transitives,
mais
ne
sont
ni
reflexives,
ni
symétriques.
Ce
qui
suit
est
un
exemple
de
spécification
d'un
protocole
de
communication
dans
le
formalisme
de
Chen
et
Veho
Dans
cet
exemple.
"A"
désigne la trace sur le canal d'entrée du système de transmission, et "B" la trace
sur son canal de sortie. Le symbole _
est utilisé pour désigner l'implication, et
le
symbole .. l'équivalence. Si "a" est un événement. "a.msg" désigne le message
associé à l'événement "a".
(1) Il
a E A, 3 b E B
tel que a'" b

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 9
(2) 'V
b E B, 3 a e A
tel que a" b
(3) 'V
a e A b l ,b2 e B
a .. b l 1\\ a" b2 -
b l • b2
(4) 'V
al,a2 E A b l .b2 e B
(al ...... a2
1\\
b l ...... b2) V
(a 1 • a2
1\\
b 1 • b2)
V
(a2 ...... al
1\\
b2 ...... bl)
(5) 'V
a e Abe B
a .. b
_
b.msg = a.msg.
L'énoncé (1) exprime le fait qu'aucun message ne doit se perdre. l'énoncé (2)
le
fait
qu'aucun
message
ne
doit
être
rajouté
par
le
système
de
transmission,
l'énoncé (3) le fait qu'aucun message ne doit être dupliqué, l'énoncé (4) le fait que
l'ordre d'émission doit être préservé à la reception, et l'énoncé (5) le fait que le
contenu des messages doit être transmis sans erreur.
Tout comme dans le modèle de Misra et Chandy. il est possible ici également de
vérifier
la cohérence entre
spécification
externe
et spécification
interne.
En plus.
il est possible de démontrer comme un théorème que le comportement d'un système
sous
les contraintes
spécifiées,
vérifie bien certaines propriétés.
Commentaires
: Le modèle de Chen et Yeh permet de décrire le comportement
d'un système de façon statique en raisonnant sur le passé en tennes d'événements.
Par rapport
au modèle précédent. il présente plusieurs
avantages:
1) Les spécifications des contraintes d'entrelacement peuvent se faire au niveau le
plus fin, parce que les assertions portent sur des événements et non sur des traces.
2) En plus, comme le montre très bien l'exemple présenté, ce que le système est
autorisé
à
faire
ou
à
ne
pas
faire
peut
être
véritablement
énoncé
de
façon
orthogonale
.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 10
Toutefois.
le
fait
que
la
notion
d'état
du
système
ne
peut
être
décrit
qu'en
caractérisant
un ordre d'événements. et le fait
qu'il n'existe pas de moyen direct
d'exprimer un
ordre
total
entre événements.
peuvent
conduire
à des
spécifications
très
lourdes.
Le modèle de Misra et Chandy et
le modèle de
Chen et
Yeh sont
caractéristiques
d'un
ensemble
de
propositions
qui
se
fondent
sur
la
logique
moderne (logique du premier ordre. logique temporelle etc ... ) [ Ramamritham 83 1
[ Chandy 86 J.
2.2.3. LE MODELE DE J. R. ABRIAL ET S. A. SCHUMAN
Dans ce modèle [ Abrial 79J. on définit un système par
- S
l'ensemble de ses états possibles
- Sb
le sous ensemble de S
représentant l'ensemble des états de départ
- Sf
le sous ensemble de S représentant l'ensemble des états d'arrivée
- 1
l'ensemble de ses événements
tel que à chaque événement i est
associé une fonction
ei dont le domaine est Si
.
sous-ensemble
de S. et le codomaine S. La fonction ei
définit
les
changements
d'états possibles. chaque fois que
l'événement i se produit.
Un
système
de
communication
pour
le
transfert
des
entiers
positifs
IN
selon le modèle producteur-consommateur via un
tampon borné peut être défini
de la façon suivante:
S = IN x {O.I,........n} x IN
(n désigne la taille du tampon. L'état du
système est
représenté
par un
triplet
:
le
nombre
de
valeurs
restant
à
transmeure.
l'état
du
tampon.
et
le
nombre
de
valeurs
reçues)
1 = {p,c}
(p
désigne
l'événement
de
production
et c
l'événement de consommation)

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 1 1
Sb =IN x {O} x {O}
Sf= {O} x {O} x IN
Sp = IN+ x {O
,n-l} x IN
Sc = IN x {l
n} x IN
ep(in.buf,out) = (in - l, buf + l, out)
ec(in,buf.out) = (in. buf - l, out + 1).
La
figure
2.1
représente
par
un
graphe
l'ensemble
des
évolutions
possibles du système pour trois valeurs à transmettre.
Dans ce graphe, chaque
noeud
correspond à un état du système, caractérisé
par le nombre de
valeurs
non encore transmises, le nombre de valeurs dans le tampon, et le nombre de
valeurs déjà reçues. Les arcs sont étiquetés par les événements à l'origine des
changements
d'état.
Figure 2.1
Un langage de type ensembliste permet de décrire de façon très lisible un
système. En plus, dans ce modèle, il est possible de vérifier certaines propriétés
du
comportement
décrit,
et
la
cohérence
d'une
spécification
avec
son
implémentation.
Commentaires
Le
modèle
d'Abrial
et
Schuman
permet
de
décrire
le
comportement d'un système de façon statique comme un accepteur de traces, en
raisonnant
sur
le
futur
en
termes
d'événements
et
de
changements
d'états.
Alors que le modèle de Chen et Yeh encourage le spécifieur à aborder de façon

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page:
12
directe
le
comportement
d'un
système
tel
qu'il
doit
être,
ce
modèle
favorise
plutôt
une
approche
par
des
raffinements
successifs
introduisant
de
plus
en
plus
de
parallélisme dans
le
comportement.
Celte différence
d'approche
trouve
sa justification essentiellement dans le fait que le raisonnement sur le futur est
plus
constructif
que
le
raisonnement
sur
le
passé.
Le
modèle
d'Abri al
et
Schuman
est assez caractéristique d'une famille de propositions ( [ Raynal 81 1 [
Perrin 85 ] ) proches du modèle de système de transitions de KELLER
[Keller 77].
2.2.4. LE MODELE DE Z.C. CHEN ET C.A.R. HOARE
Dans
[Chen
81].
Z.C.
Chen
et
C.A.R.
Hoare
proposent
un
formalisme
d'expression du comportement d'un système, et un formalisme
pour énoncer les
propriétés
de
ce
comportement.
Le
langage
d'expression du comportement est
très
proche
du
formalisme
de
Backus
utilisé
pour les
grammaires.
Il
n'autorise
ni
variables
locales, ni
instructions d'affectation. Les itérations sont exprimées à l'aide de la récursivité
droite, et les choix non déterministes à J'aide de l'opérateur 'l'. La notation pour
Ics opérations dc communication est la même que celle proposée dans CSP [Hoare
78].
Dans
une
opération
de
communication,
le
partenaire
de
l'échange
est
désigné
par
l'intermédiaire
d'un
canal
bidirectionnel.
Dans
ce
formalisme,
on
note le comportement d'un processus
sous la forme générale
p./:),. P

p
désigne
le
nom
du
processus
et
P
l'expression
de
son
comportement.
Par
exemple,
les
énoncés
suivants
spécifient
un
protocole
de
communication:
(1) sender Â. (input?y:M ...... q[y])
(2) q[x:M] ./:),. (wire!x ...... (wire?y:{ACK) ...... sender 1 wire?y:{NACK) ...... q[x]))
(3) receiver Â. (wire?z:M ......
(wire!ACK ...... output!z ...... receiver
1 wire!NACK ...... receiver»

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 13
Dans l'énoncé (1), sender désigne le processus émetteur. Il lit sur le canal
input un message de type M. La valeur lue est placée dans la variable y. Le
processus se comporte
ensuite comme le processus q[y], q désignant un tableau
de
processus.
L'énoncé
(2)
définit
le
tableau
de
processus q,
et
le
comportement
de
chaque
processus
référencé
dans
ce
tableau.
La
dimension
du
tableau
est
déterminée
par le
type
M.
Un
processus
donné
du
tableau
commence
par
émettre son rang via le canal wire. Ensuite, il reçoit via le même canal, soit le
message
ACK,
soit
le
message
NACK.
Dans
le premier cas,
il
poursuit
son
comportement
comme
le
processus sender.
Dans
le
second
cas,
il
recommence
l'émission.
Dans
l'énoncé
(3),
receiver désigne
le
processus
récepteur.
Il
commence
par lire un message de type M sur le canal wire. Ensuite, il émet sur le même
canal, soit le message ACK, soit le message NACK. Dans le premier cas, il poursuit
son comportement en émettant sur le canal output le message reçu, puis
en se
remettant en attente pour un nouveau message. Dans le second cas, il se remet
tout de suite en attente pour un nouveau message.
Le système global est défini par l'énoncé suivant:
protocol Cl. (l<..h..in. wire
(sender 1
receiver»
On exprime ainsi qu'il est constitué des deux processus sender et receiver. wire
est désigné à l'aide du mot clé kÀlLD. comme étant le seul canal d'interconnexion
de ces deux
processus.
Les
autres canaux, input et output référencés dans les
processus
du
système,
définissent
ses points
d'interaction
avec
l'environnement.
La
figure
2.2 présente
graphiquement
l'architecture du
système
spécifié.
Les énoncés de propriétés s'expriment sous la forme générale

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page:
14
où P désigne un processus ou un réseau de processus, et R une assertion sur le
comportement de P. Cette notation signifie que R doit être vrai avant et après
chaque
opération
de
communication
de
P.
Elle
permet
ainsi
d'exprimer
des
propriétés de correction
partielle.
Les assertions sont
formulées
à
l'aide de
la
logique du premier ordre et de quelques opérateurs sur les traces:
s :5 t
indique que la trace sur le canal s est
préfixe de la trace sur le
canal t
x Il s
indique que le message x est préfixe de la trace sur le canal s
# s
désigne la longueur de la trace sur le canal s
désigne le message de rang i sur le canal s
L'énoncé
qui
suit
est
un
exemple
d'énoncé
de
propriété
sur
le
comportement
décrit
plus
haut:
protocole l l i input S ou tpu t
Il exprime le fait que la séquence des messages délivrés doit être préfixe de la
séquence des messages émis.
Des règles d'inférence permettent de prouver que
le comportement d'un système sous les contraintes spécifiées
respecte
bien
les
propriétés
exprimées.
prolocol
inpu!..- -..j[:;
'''"~n~d;p.lrJ_~W!li!:rp.fL~~~~;:~~Jl:.lOU1PUI
Figure 2.2
Commentaires:
Le modèle de Chen et Hoare conduit le concepteur à spécifier
le comportement d'un système à l'aide d'un programme abstrait agissant comme
un
générateur de traces.
Il
induit
un
raisonnement
sur le comportement
futur

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 15
en fonction de l'état courant du système. Cet état courant est entièrement défini
de façon implicite dans la structure de contrôle du
programme abstrait, ce qui
encourage
une
très
grande
sérialisation.
Cette
sérialisation
peut
devenir
nuisible dans la spécification initiale des systèmes dits réactifs. En contrepartie.
les
relations
fonctionnelles
pouvant
s'exprimer
assez
aisément
à
l'aide
de
la
logique
du
premier ordre, on
peut
dire que
ce modèle est
bien
adapté à la
spécification
du
comportement
des
systèmes
dits
transformationnels.
Il
est
caractéristique d'une
famille
de
propositions autour des
expressions de chemins
et des grammaires [ Campbell 74 J [Milner 80 J 1 Hughes 83]
[Zave 85 ].
2.3. LE CHOIX DU MODELE
Comme
le
montre
bien
l'étude
bibliographique
que
nous
venons
de
présenter.
il
n'existe pas
de solution
universelle
aux
problèmes
que
posent la
spécification du comportement d'un système. Tout au plus, une proposition peut
cibler
au
mieux
une
classe
de
problèmes
à résoudre.
De
ce
fait.
dans
une
démarche de conception, la définition d'un modèle de spécification est plus que
fondamentale.
Elle
circonscrit
le
type
de
problèmes
que
l'on
peut
espérer
résoudre, et le type d'aide que l'on peut
apporter au concepteur.
Dans
ce travail,
notre objectif n'est toutefois pas
orienté
vers
une telle
préoccupation.
Introduit
dépuis
1962
par
le
professeur
Petri,
les
résultats
accumulés autour des réseaux de Petri (RdP)
au fil du temps (c.r. [BRAMS 83] ITSI
85J [Peterson 81 J ... ),
en font aujourd'hui l'un des modèles le mieux connu et le
plus adapté à la spécification du comportement des systèmes réactifs. Il
permet
d'ell.primer
les
contraintes
de
temps,
et
est
adapté
l'I
la
fois
l'I
la
validation
et
1II
la simulation. Notre objectif est plus de nous appuyer sur cet
acquis
considérable
pour
aborder
d'autres
problèmes
non
moins
fondamentaux
liés
à
la
conception
des
applications
de
commande
réparties,
tel
celui
de la
définition d'une
démarche globale de conception, et celui
de
la définition des
outils qui
supportent
cette démarche.
L'annexe
A
est
consacré
à
une
présentation
synthétique
des
RdP.
Cet

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page:
16
annexe
est
destiné
au
lecteur non
familier du
fonnalisme.
Nous
y
abordons
successivement la présentation du modèle de base, les types de propriétés qu'il
penn et
de
vérifier,
les
abréviations
préconisées,
et
les
extensions
apportées
pour
accroÎtre
son
pouvoir
d'expression.
Les
rappels
traités
sont
indispensables
pour
aborder
la
suite
de
l'exposé.
Dans ce qui suit, nous présentons de façon plus détaillée le modèle que
nous avons retenu.
Ce modèle s'appuie sur les RdP dits interprétés.
Dans celle
présentation.
nous
étudions
trois
points
principaux.
Le
premier
point
concerne
une
généralisation
des
règles
pennellant
de
synchroniser
l'évolution
d'un
réseau
aux
interactions qu'un système doit avoir avec son environnement. Nous
nous appuyons pour cela sur la notion de
type de
communication.
Le second
point
concerne
une
redéfinition
des
règles
d'arbitrage
pour
le
tir
des
transitions
franchissables.
Comme
nous
le
verrons.
celle
redéfinition
a
été
rendue nécessaire par le
fait que nous nous situons dans un contexte
réparti.
Enfin,
le
troisième
point
concerne
l'extension
du
modèle
à
l'expression
des
communications
inter-modulaires
2.4 SPECIFICATION DU COMPORTEMENT EXTERNE A L'AIDE
DES RdP INTERPRETES
On décrit le comportement externe d'un système de commande à l'aide de
RdP interprétés (RdPI) [ Moalla 78 1
Moalla 85 1 en synchronisant l'évolution
d'un
RdP
autonome
(RdP
généralisé,
ou
RdP
coloré)
aux
interactions
que
le
système
doit
avoir avec
son environnement.
Dans celle spécification,
le RdP
autonome sert à mémoriser le passé du système et de son environnement.
2.4.1
DEFINITION
Plus précisément, un RdPI
RI
spécifiant
le
comportement
externe
d'un
système de commande est défini par un RdP autonome R , un triplet <V; OP; PR>
caractérisant
les
interactions
du
système
avec
son
environnement,
et
deux

Ch. 2 : LE MODELE DE DESCRJPI10N DU COMPORTEMENT
Page: 17
fonctions
41 et '1' servant à établir un lien entre ces interactions et l'évolution du
réseau.
Dans cette définition
-v = E + S + C + H désigne l'union de quatre ensembles disjoints de variables où
E
représente
l'ensemble
des
variables
d'entrée
du système dont les
valeurs
successives
sont
engendrées
par
l'environnement
S
J'ensemble
des
variables
de
sortie
du
système
dont
les
valeurs
successives
déterminent
la
commande
appliquée
à
l'environnement
C j'ensemble des variables
internes au système
et H un ensemble de variables
de
temporisation
servant
à
initialiser
la génération de top d'horloge au bout d'intervalles de temps prédéfinis
-oP = (op l' OP2 ....... 0Pn)
désigne un ensemble d'opérations où chaque opération
oPi est une application
oPi : E + C + H
-
S + C
-PR=(prl.pr2
prm) désigne un ensemble de prédicats définis sur
E + C
+ H
-41
P -
OP
associe à chaque place p une opération
- '1'
T
-
PR
associe à chaque transition t un prédicat ou réceptivité
pi
li-<4>(pi»
l i j
<'1' (tij»
<4> (pj»
pj
Figure
2.3 - Représentation graphique d'un RdPI

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 18
2.4.2
QUELQUES NOTIONS ET CONVENTIONS SUPPLEMENTAIRES
Nous
précisons
la
définition
d'un
RdPI
par
quelques
notions
et
conventions
supplémentaires
dont
la
plupart
sont
empruntées
au
GRAFCET
[Blanchard 79] [GREPA 85].
a)
La
notion
d'événement
et
de
changement
d'état
Dans
la
formulation
des
réceptivités
associées
aux
transitions,
on
s'intéresse
soit
à
un
état
particulier
de
l'environnement
(caractérisé
par
une
condition
logique
sur les
variables
d'entrée),
soit
à
l'instant
correspondant
au
changement de cet état. Pour des raisons de simplification dans la spécification,
on
a coutume
d'associer à
tout état
d'un environnement caractérisé
par une
condition logique "cond" deux types d'événements:
-
l'événement
noté
t cond
(c'est le front montant
de "cond")
qui exprime le passage de faux à vrai de la condition "cond" et correspond à
l'instant où
l'environnement
entre dans l'état considéré,
- et l'événement noté
! cond
(c'est le front descendant de "cond")
qui exprime le passage de vrai à faux de la condition "cond" et correspond à
l'instant où l'environnement
sort de l'état considéré.
Une réceptivité est alors notée sous la forme générale
<e.c>

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 19

e
désigne
un
événement
de
changement
d'état,
et
c
une
condition
caractéristique
d'un
état
de
l'environnement.
Ainsi,
dans
la
figure
2.4
les
réseaux (a) et (b) ont la même signification.
<~ Av2 V vlAv2>
<vlA v2>
<fvl V tv2>
<vl Av2>
(a)
<vl Vv2>
(b)
Figure 2.4
b) La
prise en compte du
temps
Dans
la
spécification
d'un
système
de
commande,
certaines
contraintes
s'expriment
en
fonction
d'un
temps
écoulé.
Deux
opérations
prédéfinies
permettent
l'expression
de
ces
contraintes
à
l'aide
des
variables
de
temporisation:
Armer
(vtemp,n)
Force la variable de temporisation vtemp à vrai au
bout de n unités de temps
Desarmer
(vtemp)
Désactive l'effet de
Armer (vtemp,n)

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 20
-------------------------------------------------------------------------
Dans la
figure
2.5.
on
exprime
ainsi
qu'après l'exécution de
l'opération
a.
la
transition
tl
sera franchie
si
l'événement
t
v survient. sinon la transition t2
sera franchie au bout de 10 unités de temps.
armer(tout,10»
<t V>
<toul>
Figure 2.5
c)
Les
tableaux
de
variables
Nous retenons la possibilité de définir des tableaux de variables avec les
conventions
suivantes:
tabv (i]
est une référence à la ième variable dans le tableau de
variables tabv
(NB.:
i peut être une constante ou une
variable interne. Si tabv(i] est associé à une place ou à
une
transition.
peut
aussi
être
la
composante
d'une
couleur associée à cette place ou à cette transition)
tabv(i:Typeind] est une référence à une variable quelconque du tableau
de
variables
tabv.
Typeind
désigne
le
domaine
de
définition de l'indice du tableau. Le rang de la variable
sélectionnée est affecté à la variable d'indiçage i.
La
figure
2.6
illustre
un
exemple
d'utilisation
de
ces
conventions.
La
réceptivité
associée
à
la
transition
t
exprime
la
détection
d'un
événement
indiquant
le
passage
de
faux
à
vrai
d'une
variable
d'entrée
quelconque
du
tableau
Tve.
La variable d'indiçage
i prend
la valeur du
rang
de
la variable

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 21
concernée. et est ensuite utilisée pour sélectionner la variable de sonie de Tvs
qui reçoit la valeur vrai dans l'action associée à la place PZ'
p1 t <tTvep:1..20]>
p2
<Tvs[i] := vrai>
Figure 2.6
d)
Les
notions
d'action
ponctuelle
et
d'action
continue
Notons
enfin
que
les
actions
associées
aux
places
peuvent
être
impulsionnelles ou continues. Les actions impulsionnelles ne sont exécutées que
lorsque. après un tir de transition. le marllualte des
places aUXQuelles elles sont
associées
aultmente.
Les
actions
continues
par
contre
sont
exécutées
après
chaque cycle. tant
que les places auxquelles elles sont associées sont marquées.
Sur un réseau. on distingue les actions impulsionnelles des actions continues en
suffixant les actions continues d'une étoile.
2.4.3 LES REGLES DE FONCTIONNEMENT D'UN RdPI
L'un des éléments clés du formalisme des RdPI réside dans la définition de
règles
de
synchronisation
de
l'évolution
des
marquages
aux
occurrences
d'événements
engendrées
par
l'environnement.
Pour
ce
qui
nous
concerne,
ces
règles
doivent
offrir des
possibilités
de
description
directe.
bien
adaptées
au
contexte de la spécification du componement d'un système réactif à répanir. et
éviter
toute
possibilité
d'ambiguïté
dans
l'interprétation
des
intentions
du
spécifieur.
Nous abordons une discussion autour de ces aspects selon deux points de

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 22
vue.
Le premier concerne la prise en compte des événements pour le tir des
transitions.
et
le
second
les
règles
d'arbitrage
pour
choisir
les
transitions
à
franchir
quand
plusieurs
sont
franchissables.
Nous
mettrons
tout
particulièrement
en
exergue
quelques
insuffisances
des
règles
habituelles
de
fonctionnement
des
RdPI
par
rapport
aux
objectifs
indiqués,
ce
qui
nous
permettra de mieux justifier les aménagements que nous préconisons.
2.4.3.1 LA PRISE EN COMPTE DES OCCURRENCES D'EVENEMENTS
Regle
1:
Dans
la
sémantique
des
RdPl,
on
considtre
habituellement
une
transition t (fig. 2.7) à laquelle est associé un t!venement
e et une condition
c
comme hant validt!e , ssi toutes les places en entrt!e de cerre transition sont
suffisamment
marqut!es.
Elle
devient
franchissable
dts
l'occurrence
d'un
événement
e, à condition que
c soit également vüi{it!e. Le tir de la transition
provoque
alors
non seulement l'évolution du
marquage
du
réseau,
mais aussi
l'ext!cution
des
opüations associt!es aux places
apparafssant en
sortie
de
la
transition.
P1t
t
<e.c>
p2
Figure 2.7
Le mécanisme de synchronisation de base fourni par cette règle
conduit à
ignorer
les
occurrences
de
e engendrées
par
l'environnement
aux
instants

on n'a pas à la fois t validée et c vérifiée. De ce fait. il ne pennet
pas d'exprimer
que
le tir d'une
transition
peut être
synchronisé
à
une
évolution
passée de
l'environnement.
Il
en
résulte
que
pour
spécifier
certaines
contraintes
nécessitant une connaissance sur le passé de l'environnement. le spécifieur doit

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 23
utiliser ce
mécanisme
de
base
pour décrire
dans
le
réseau
les
principes
de
mémorisation de ce passé. Il peut ainsi être amené à surcharger le réseau et à
le
rendre
illisible,
ou
à
introduire
des
places
non
bornées
et
des
transitions
non
vivantes
nuisibles
à
l'analyse
des
séquences
de
commandes
qui peuvent être générées par le système décrit.
Si par exemple, dans la figure 2.7, les intentions du spécifieur étaient que
pour chaque occurrence de l'événement e la transition t soit
tirée une et une
seule fois, le réseau doit être modifié comme indiqué dans la figure 2.8.
p1'
Figure 2.8
Cette
modification
peut
devenir encore
plus
complexe
s'il
est
important
d'expliciter le
fait
que
les événements
doivent être
pris en
compte dans
leur
ordre de détection (cf. fig. 2.9)
Dans
cet exemple,
on
peut constater en plus que
le
fait
qu'un
nombre
illimité
d'occurrences
de
l'événement
e
puissent
être
engendrées
par
l'environnement
avant
d'être
prises
en
compte
par
le
système.
a
conduit
à
introduire dans la figure 2.8 une place PI' non bornée. et dans la figure 2.9 des
transitions qui sont toutes non vivantes.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 24
\\
"<C>
p2
(a)
Solution exprimée à l'aide d'un RdP ordinaire
p1
y
(b) Solution exprimée à l'aide d'un RdP à prédicats
Figure 2.9
Dans un contexte de spécification, il nous paraît plus simple de considérer
que
les
relations
de
synchronisation
entre occurrences
d'événements
et
tirs
de
transitions
découlent
de
politiques
de
communication
entre
le
système
de

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 25
détection des occurrences d'événements (le producteur), et le système chargé de
faire évoluer le réseau (le consommateur). Ceci nous rapproche du point de vue
développé dans [Thomesse 80] [Ladet 82] [Benmaiza 84]. Plutôt que de modifier le
réseau, le spécifieur peut ainsi, de façon plus simple et plus lisible, associer à
chaque transition le type de communication qui caractérise la politique de prise
en compte des occurrences de l'événement qui lui est associé.
Règle 2 : Nous
considérons
alors
une
transition t (fig.
2./0) à laquelle est
associé un type d'hénement e, un type de communication '<, et une condition c,
comme franchissable, ssi on a simultanément
t validée,
la condition
c vérifiée,
et une occurrence de e consommable
selon '<. Si M désigne
le marquage de
départ et M' le marquage d'arrivü, on notera alors
M(t 1
e('<»
M'.
'Pl! <e('r).C>
p2
Figure 2.10
No u s présentons
de
façon
informelle,
à
titre
d'ill ustration,
quelques
exemples
de
types
de
communication
.
Dans
[Perrin
85],
on
retrouve
une
formalisation des trois premiers à l'aide de types abstraits algébriques:
-
Le
type
de
communication
"égalité"
: Ce
type
implique
que
toutes
les
occurrences
engendrées
par
l'environnement
doivent
être
consommées
une
ct
une seule fois.
- Le type de communication "aléatoire" : L'occurrence consommée doit toujours
correspondre
à
la
dernière
occurrence
engendrée
par
l'environnement
à
cet
instant.
On
peut
donc
ne
jamais
consommer
certaines
occurrences,
ou
les

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 26
consommer
plusieurs
fois.
Ce
type
de
communication
est
équivalent
à
la
consultation.
- Le type de communication "rarraichi"
: L'occurrence
consommée
correspond
toujours
à
la dernière occurrence engendrée par l'environnement
à cet
instant,
mais aucune occurrence ne peut être consommée plus d'une fois.
Le
type
de
communication
"strictement-rarraichi"
L'occurrence
consommée
est
toujours
la
première
occurrence
engendrée
par
l'environnement après la demande de consommation.
Ce type de communication
permet
d'exprimer
la
notion
d'événement
futur.
Nous
considérerons
ce
type
comme le type par défaut. Il conduit aux mêmes règles de synchronisation que la
règle 1.
Le
type
de
communication
"par
bascule"
L'occurence
consommée
correspond
toujours
à
la
première
occurrence
engendrée
par
l'environnement
après
la
dernière
consommation.
D'autres
types
de
communication
peuvent
être
définis
pour
caractériser
des
relations
de
synchronisation
avec
l'environnement,
aussi
complexes
qu'on
le souhaite, prédéfinis ou spécifiques à une application, sans avoir à dire à un
stade de spécification, comment ils sont réalisés.
2.4.3.2.
LES REGLES D'ARBITRAGE POUR LE CHOIX DES TRANSITIONS A
FRANCHIR
Habituellement, on définit les règles de fonctionnement d'un RdPI marqué
< RI; MO > par rappon à un ensemble de séquences de panies de l'ensemble E des
événements
pouvant
être
engendrés
par
l'environnement
du
système
modélisé,
chaque élément X de cette séquence correspondant à une occurrence simultanée
des événements qui le compose.
Pour un marquage accessible M de < RI; MO
>, l'occurrence d'un ou de

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 27
plusieurs
événements
peut
rendre
franchissables
plusieurs
transitions.
On
dira
que
ces
transitions
sont
récep t ives
aux
événements
concernés.
L'ordre
de
franchissement
de
transitions
réceptives
à
un
ensemble
d'événements
n'est
pas
toujours
indifférent
le
franchissement
de
certaines
transitions
peut
en
invalider d'autres,
et cenaines
transitions
peuvent
être
franchies
plusieurs
fois.
Par exemple.
dans
le réseau
de la figure
2.11
utilisé dans
[Moalla 85]
pour
illustrer
le
fonctionnement
des
RdPI.
si
l'on
suppose
l'occurrence
simultanée
des événements b et h.
il
existe des
séquences où
la transition t4
peut être
franchie deux fois (ex.: (t4 t3 t4 t2» et où le franchissement de la transition t2
invalide celui de t4 (ex.: (t2 t3».
p3
13
11
p4
15
14
12
p5
Figure 2.11
Pour éviter
toute
ambigurté
d'interprétation
des
intentions
du
spécifieur.
il est donc primordial que soient définis des règles précises pour le choix des
transitions
réceptives
à
franchir.
Dans [Moalla 85]. si
pour un marquage
accessible
M
de
< RI; MO >.
T X.M = {tl.t2•.....•tn} désigne l'ensemble des transitions réceptives à un ensemble
d'événements
X.
on
appelle
séquence
de
simulation
complète
à
partir M.
toute
séquence de franchissements
Sc
telle que :

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 28
- si une transition t apparaît dans Sc
alors elle est nécessairement incluse
dans Tx,M
toute transition
de TX,M n'apparaît au plus qu'une seule fois dans Sc
- toute
séquence
sc' obtenue de Sc
par
permutation
de
transitions
est
franchissable à partir de M
il n'existe pas d'autres séquences plus longues qui contiennent toutes les
transitions de Sc et qui vérifient les trois premières conditions
On
dit
qu'un
RdPI
marqué
< RI; MO > est dans un état
stable, si le
marquage
atteint
est
tel
qu'aucune
transition
ne
peut
être
franchie
sans
prendre
en
compte
de
nouveaux événements.
Lorsque
dans
un
état
stable.
plusieurs
transitions
sont
réceptives
à
un
ensemble
d'événements,
on
choisit
d'abord
de
franchir
une
séquence
de
simulation
complète,
puis
ensuite,
on
effectue
des
tirs
répétés
des
transitions
franchissables,
sans la prise en compte d'un nouvel événement, jusqu'à ce que
l'on atteigne un nouvel état stable. Lorsque pour un marquage accessible et un
ensemble
d'événements
on
peut
de
cette
façon
atteindre
des
états
stables
différents, on dit que le réseau n'est pas persistant. Lorsque pour un marquage
accessible
et
un
ensemble
d'événements
on
peut
ne
jamais
atteindre
un
état
stable, on dit que le réseau n'est pas prompt.
Ces
règles
d'arbitrage
permettent essentiellement
au
spécifieur
- d'introduire de façon controlée du non déterminisme et des sérialisations dans
le comportement d'un
système, en
imposant dans certaines situations
un choix
aléatoire entre plusieurs tirs groupés
de
transitions
- ou au contraire de vérifier que le réseau construit n'est pas par erreur non
persistant
ou
non
prompt.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 29
Ainsi. par exemple. si nous revenons au réseau de la figure 2.11. on peut
vérifier
que
le comportement
décrit
n'est
pas
déterministe:
pour
le
marquage
initial.
l'occurrence
simultanée
des
événements
b
et
h
rend
franchissable
les
séquences de simulation complète (t2 t3) et (t3 t4). On notera également que.
selon que l'environnement engendre b et h simultanément, ou b suivi de h. ou h
suivi de b. la séquence de transitions franchies peut être différente.
Dans un contexte centralisé. il est aisé de contraindre un
système à se
comporter conformément
aux
intentions d'un
spécifieur
:
- en
définissant
des
intervalles d'observation
pendant
lesquels
des
événements
détectés
séquentiellement
sont
considérés
comme
simultanés
et en faisant évoluer le système selon l'algorithme suivant
cycl e
Prise en compte des nouveaux événements
Choix d'une séquence de simulation complète
tir de la séquence de simulation complète choisie
recherche d'un
état
stable
(cycle
Par contre. dans un contexte réparti. il est en pratique impossible de faire
évoluer
un
système
en
respectant
les
intentions
du
spécifieur
: en
l'absence
d'horloge commune
• il est en effet difficile de définir des critères
rigoureux
pour
comparer
des
événements
engendrés
par
l'environnement
sur
des
sites
répartis. Par exemple. dans le réseau de la figure 2.11. nous avons déjà vu que le
spécifieur
imposait
un
comportement
différent
selon
que
l'environnement
engendrait b et h simultanément. ou b suivi de h. ou h suivi de b. Si en pratique
l'on ne peut détecter la simultanéité de b et de h. ou l'ordre dans lequel ils sont
engendrés. il est bien évident qu'on ne pourra jamais contraindre un système à
se conformer à celte spécification.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 30
En
plus.
le
choix
d'une
séquence
de
simulation complète
à
un
instant
donné nécessite une connaissance exacte de l'état global du système dont on ne
peut disposer dans un contexte réparti.
Pour avoir à notre disposition un modèle qui permette de construire une
spécification qui
ait du sens indépendamment du fait que le système spécifié
est
potentiellement
réparti
ou
non.
nous
retiendrons
plutôt
les
règles
d'arbitrage
suivantes:
1)
D'abord
nous
considérerons
que
tous
les
événements
sont
disjoints
dans
le
temps.
On
vérifiera
alors
que
l'occurrence
simultanée de deux événements conduit à un certain
résultat en vérifiant
que. quel que soit l'ordre d'occurrence de ces deux événements. le résultat
atteint reste le même.
2)
Si pour un marquage accessible M
Te•M = (tl. t2......tn) désigne l'ensemble
des transitions
réceptives
à
l'événement
e.
nous
appellerons
séquence
de
simulation
complète
à
partir
de
M.
toute
séquence
de
franchissements
Sc
telle que :
si
une
transition
t apparaît dans
Sc
alors
elle
est
nécessairement
incluse dans Te•M
toute transition t de Te.
n'apparaît au plus qu'une seule fois dans Sc
M
il
n'existe
pas
d'autres
séquences
plus
longues
qui
contiennent
toutes
les
transitions
de
Sc
et
qui
vérifient
les
deux
premières
conditions
Pour un marquage accessible M et un événement e • nous noterons alors
par
l'ensemble
des
séquences
de
simulation

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 31
complètes
l'ensemble
des
autres
transitions
franchissables
mais
non
synchronisées
à
e
3)
Nous
considérerons
que,
lorsque
pour
un
marquage
accessible
M
et
un
événement e
plusieurs
transitions
sont
franchissables,
on
choisit de
façon
aléatoire,
soit
de
franchir
une
séquence
de
simulation
complète
Sc i €
T· e, M'
soit
de
franchir
une
transition
quelconque
de
TM'
Nous
dirons
dans
ces
conditions
qu'un
réseau
marqué
< RI; MO > est
persistant, ssi pour tout marquage accessible M et pour tout e, tout couple
de transitions
tl' t2
franchissables
peuvent
être
franchies
dans
n'importe
quel ordre. ~
Par
rapport
aux
règles
habituelles
de
fonctionnement
des
RdPI,
lorsque
pour un
marquage
accessible et
pour un
événement donné
plusieurs
transitions
sont franchissables,
ces
règles introduisent moins de contraintes dans l'ordre de
franchissement
des
transitions.
Les
contraintes
d'ordonnancement
impossibles
à
respecter dans
un
contexte réparti
ont particulièrement été évitées. Toutefois,
nous
avons
gardé
la
possibilité
d'imposer
dans
certaines
situations
un
tir
groupé
de
transitions
en
associant
un
événement
à
plusieurs
transitions
qui
peuvent être simultanément validées.
Dans ce cas, 'le concepteur devra
admettre
que
le
tir
des
transitions
concernées
modélise
des
changements
d'état
sur
le
même site et qu'elles ne seront jamais réparties.
L'une
des
conséquences
immédiates
de
ces
nouvelles
règles
de
fonctionnement
réside
dans
le
fait
qu'elles
permettent
d'énoncer
assez
simplement
une
condition
suffisante
pour
que
l'interprétation
associée
à
un
RdPI RI = < R; V; OP; <t>, '1' > ne modifie pas les proprié;és du réseau sous-jacent R:
1)
Pour
tout
couple
de
transitions
(tI,
t2)

T
dont
les
tirs
doivent
être
synchronisés aux occurrences d'un même événement, il ne doit pas exister

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPOR1EMENT
Page: 32
de marquage accessible dans le réseau R qui valide simultanément t 1 et t2.
En
d'autres
termes,
la
synchronisation
avec
l'environnement
ne
doit
jamais imposer de tir groupé de transitions.
2)
Pour tout marquage accessible dans R, les transitions validées ne doivent
être
synchronisées
qu'à
des
événements
indépendants,
qui
peuvent
se
produire dans n'impone quel ordre.
Ce qui
revient à dire que pour tout
marquage
accessible dans
RI' le choix de la transition à franchir peut être
considéré
comme
aléatoire,
donc
que
l'évolution
de
RI
a les mêmes
contraintes que "évolution de R.
Cette
propriété nous sera utile au chapitre 6.
On remarquera qu'avec la
règle de MoaIla, sous les
mêmes hypothèses, un RdPI n'a pas nécessairement les
mêmes propriétés que le
réseau
autonome
sous-jacent.
A panir d'un
marquage
stable,
on
franchit
tout d'abord
une
des
transition
réceptive
à un
événement,
puis
ensuite
on
franchit
les
transitions
non
synchronisées
jusqu'à
ce
l'on
atteigne un nouvel état stable.
2.5. SPECIFICATION DU COMPORTEMENT INTERNE A L'AIDE
DES RdP INTERPRETES
2.5.1. REMARQUES
PRELIMINAIRES
Deux
approches
sont
en
général
retenues
pour
traduire
dans
une
spécification à l'aide de RdP les interactions entre entités communicantes.
Dans
la première
approche.
ces
inleractions sont
exprimées
à
l'aide
de
places
partagées
[ Valette 82 ] [Courvoisier 83] [ Ramamoonhy 85 ] [ Benhelot
85 b 1
Pour émettre, l'entité émettrice franchit une transition qui produit une
marque
dans
la
place
partagée.
Pour
recevoir
le
message
ainsi
émis,
l'entité
receptrice franchit une transition qui consomme la marque produite( fig. 2.12).

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 33
Ce
mécanisme
de
base
exprime
une
communication
asynchrone
via
un
tampon
non
borné,
mais
peut
être
utilisé
pour
construire
d'autres
types
de
communication ( fig. 2.13). Au besoin. cela peut nécessiter comme dans la figure
2.13
(c)
de
spécifier
explicitement
un
canal
de
communication
assurant
les
interactions des entités communicantes selon la politique souhaitée. Dans ce cas,
les
places
de
communication
de
chaque
entité
communicante
définissent
son
interface avec ce canal.
Notons toutefois que dans les exemples présentés. les marques des places
partagées ne servent à représenter que des événements de communication, sans
référence
aux
messages
véhiculés.
Le
modèle des
RdP colorés ou
à prédicats
permet,
de
façon
simple,
d'associer
en
plus
aux
marques
des
paramètres
caractérisant
ces
messages.
L'intérêt de
cette
approche
réside
essentiellement dans
le
fait
qu'il
est
possible
de
valider
directement
le
comportement
d'un
réseau
d'entités
communicantes en s'appuyant sur la théorie des RdP, puisque séquencement des
opérations
et
séquencement
des
communications
sont
entièrement
exprimés
dans ce formalisme.
En~1é émettrice
Enli1é réceptrice
1
place de
communication
1
1
Figure 2.12

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 34
Emetteur
Récepteur
Emetteur
1
Récepteur
1
:~
(a)
Communication pet rendez-volll
(b)
Communication asynchrone via
un lampon berné de taqte 1
Emetteur
Canal
1 Récepteur
f H~' b
(c)
Communlcetion asynchrone via un tampon borné de 1aI11e 3 avec IXlssibiNté de pa"" de messages
Figure 2.13
Dans
la
deuxième
approche
les
interactjons
entre entités
communicantes
sont
exprimées
en
synchronisant
le
tir
des
transitions
à
des
opérations
de
communication
Dans
[Bochmann
77],
on
procède
de
celte
façon
sans
imposer
une
sémantique
unique
aux
opérations de communication
de
base
qui
peuvent être
ainsi
utilisées.
Pour
analyser
le
comportement
d'un
réseau
d'entités
communicantes,
on ne peut
plus
alors
utiliser que paniellemeDl les
techniques
de preuves propres aux RdP, en les combinant à des techniques de
vérification
d'invariants
par induction [Keller 76].

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 35
Dans
[Ayache
85], on procède également de
la
même manière,
mais en
utilisant un seul type de communication de base qui est celui du rendez-vous
[Hoare 78]. En étiquetant dans une entité une opération d'émission d'un message
m (notée E
! m) à une transition, et dans une autre entité une opération de
réception du même message m (notée R ? m )à une autre transition,
on exprime
ainsi que ces deux transitions ne doivent être franchies que simultanément (fig.
2.14).
Comme pour la communication à l'aide de places partagées, ce mécanisme
de base peut être utilisé pour exprimer des interactions via un canal modélisant
d'autres types de communication (fig. 2.15).
Par
rapport
à
la
communication
à
l'aide
de
places
partagées,
les
communications
sont exprimées
dans
celle
approche
dans
un
formalisme
autre
que celui des RdP. Toutefois, l'interconnexion des transitions liées par un même
rendez-vous
permet d'obtenir un RdP global
ayant les mêmes
propriétés que le
réseau
de
RdP
initial
(fig.
2.16).
Le
comportement
d'un
système
réparti
peut
ainsi
être
étudié
à
partir de
ce
réseau
global
en utilisant les techniques de
preuves propres aux RdP.
Entité émellrice E
Entité réceptrice R
t Rm
,,·t
Figure
2.14

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 36
Eméteur
Canal C
Récepteur
L...a-T
C?m
C!m
(a)
Communication asynchrone via un tampon non borné
Eméteur
Canal C
Récepteur
C?m
C!m
(b)
Communication asynchrone via un tampon borné de taille 1
Figure
2.15
Eméleur
1
Cane! C
1 Récepteur
+~ :,,·o~ :,~+-....0
1
1
Figure 2.16

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 37
Par ailleurs, on peut noter que dans un certain sens. ces deux approches
sont duales : On peut décrire la communication à l'aide d'une place partagée en
utilisant des rendez-vous, et vise-versa (cf. fig. 2.15 (a) et 2.16 (a)). Cependant,
d'un point de vue comportemental. cette dualité n'est pas parfaite: En utilisant la
communication à J'aide de places partagées, on ne peut exprimer un choix non
déterministe (du
type
des commandes gardées de Dijkstra) entre une opération
de communication
par rendez-vous et toute
autre opération.
Par contre,
l'autre
approche laisse
cette possibilité ouverte. Par exemple, dans la figure 2.17 (a),
tant que le rendez-vous n'a pas été accepté, la transition t 1 peut être franchie en
utilisant 1a marque qui valide la transition t2. Dans la figure 2.17 (b), nous avons
traduit
le
rendez-vous
en
utilisant
une
communication
à
l'aide
de
places
partagées.
Le
franchissement
de
la
transition
t2
ne
veut
pas
dire
que
le
rendez-vous a été accepté, mais invalide le tir de t 1. Nous verrons au chapitre 7
que cette différence a son importance.
11
12
(a)
11
12
14
13
(b)
Figure 2.17

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 38
La solution que nous retenons pour décrire les interactions entre entités
communicantes relève de la deuxième approche. Toutefois. nous avons choisi de
nous
appuyer sur
les deux
types
de
communication
synchrone
et
asynchrone.
Ainsi, nous gardons dans notre modèle la possibilité d'exprimer de façon directe,
dans un contexte réparti, deux formes de synchronisation de base que le modèle
des
RdP autonomes
permet. Pour le
type d'applications qui
nous
intéresse (la
commande des procédés industriels), ceci nous paraît suffisant pour exprimer de
la façon
la
plus concise possible
la coopération entre des
tâches
parallèles,
l'essentiel
des
contraintes
d'évolution
de
ces
tâches
étant
plutôt
dictées
par
l'environnement.
Enfin,
pour
permettre
une
expression
concise
de
la
synchronisation
des
interactions
inter-modulaires
à
l'occurrence
d'événements
extemes.
nous
retiendrons
en
plus
des
formes
syntaxiques
particulières.
Les
sections
qui
suivent
décrivent
dans
les
détails
ces
différentes
extensions
de
notre modèle de RdPI de base.
2.5.2. LES COMMUNICATIONS SYNCHRONES (CSP [Hoare 78])
Nous désignons par PE?m une opération de réception du message m sur le
port d'entrée PE. et par PS!m une opération d'émission du message m vers le port
de sortie PS. Contrairement à CSP, on peut ainsi définir des rendez-vous entre
plusieurs
partenaires
via des liaisons convergentes entre n émetteurs et un récepteur (fig 2.18),
- ou via des liaisons divergentes entre un émetteur et n récepteurs (fig 2.19).
+plIm
P2?m+
P3?m+
+P11m
P3?m+
Port pz
Figure 2.18
Figure 2.19

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 39
Dans
le
cas
d'une
liaison
convergente,
le
récepteur
acquitte
un
rendez-vous ssi les n émetteurs ont tous émis le même message. tandis que dans
le cas d'une liaison divergente, l'émetteur n'acquitte un rendez-vous que ssi les
n
récepteurs
attendent
le
même
message.
Chaque
fois
que
cela ne
crée
pas
d'ambiguité. nous omettrons la désignation des ports.
REGLE
:
Les
opérations
de
communication
synchrone
modifient
les
r~gles
d'évolution
des
RdPI de la façon suivante:
Dans la figure 2.20, dans (1) et (2), si
la transition
test validt!e,
elle
devient franchissable
d~s qu'une
occurrence
de e devient
consommable
selon
or, à condition que
c soit vt!rifit!e.
Le tir de la transition est alors différé jusqu'à
ce que le rendez-vous exprimé par
7M oU ! M
devienne ext!cutable. Pendant ce
temps, les marques dans
les places en entrt!e qui rendent la transition valide
sont
consommt!es
et
ne
sont
donc
plus
disponibles
pour
le
tir
des
autres
transitions.
Par contre, les notations (3) et (4) imposent les mimes r~gles d'évolution
qu'un événement externe: si à un instant donné la transition test validt!e. elle
devient franchissable d~s que le rendez-vous peut avoir lieu. ~
(1 )
(2)
(3)
(4)
Figure 2.20
Dans
la
figure
2.2 l,
nous
donnons
quelques
notations
équivalentes
significatives portant sur des
interactions
entre
deux
entités communicantes.
On
remarquera
tout
particulièrement
que
la
notion
de
tir
différé
conduit
à
traduire toute transition t étiquetée par < e('t).c->!M > ou < e('t).c ->7M > par deux

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 40
transitions (a. JL) telles que : si
est franchissable et si le rendez-vous qui lui est
associé
peut
avoir
lieu.
(a. V
forment
une
séquence
de
franchissements
ininterruptible.
sinon.
si
t est
franchissable
et
si
le
rendez-vous
qui
lui
est
associé
n'est
pas
immédiatement
réalisable.
(a.
JL)
seront
franchies
dans
cet
ordre. mais
peuvent être séparées par le franchissement
d'autres
transitions.
En
se
référant
au
schéma
d'interconnexion
des
transitions
décrit
précédemment
(
c.r. fig. 2.16) on peut
voir comment dans notre modèle. des transitions étiquetées
par
des
opérations
de
communication
synchrone
peuvent
être
interconnectées
pour obtenir un réseau global.
EST
EQUIVALENT
A
Q)
.1
et
t' sont
prioritaires
<e( '(j.c>
a
J
EST
EQUIVALENT
A
:,·t<~
1
Q)
.1
et t'
sont
prioritaires
Figure 2.21
Le
franchissement
de
transitions
t1' t2 •....• tn
appartenant
à des modules
différents
et
liées par
un
même
rendez-vous
s'effectue
donc
toujours
de
façon
synchrone. Il
peut
être synchronisé
à
l'occurrence d'un
événement e
consommable selon une polilique '('. On notera alors MO( (t1.12 .....ln) 1 e('{') > M

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 41
pour
dire que
ce
franchissement
permet de passer du marquage MO au
marquage
M.
2.5.3 LA COMMUNICATIONS ASYNCHRONE
Les
conventions
de
notation
que
nous
retenons
pour
les
opérations
de
communication
asynchrones
via
des
tampons
non
bornés
sont
les
suivantes:
PE?/m
pour
la
réception
et
PS!/m
pour
l'émission.
Ici
également,
nous
admettrons
des
communications
entre
plusieurs
partenaires
via
des
liaisons
convergentes
et
divergentes.
Dans
le
cas
d'une
liaison
convergente,
chaque
message émis par chacun des n émetteurs est reçu par le récepteur. Dans le cas
d'une liaison divergente, chaque
message émis par l'émetteur ne
sera reçu
que
par un
seul
des
n
récepteurs
choisi
au
hasard
parmi
les
récepteurs
prêts
à
recevoir le message. Ce choix de politique de communication est imposé par les
règles de production et de consommation des marques dans un RdP.
REGLE:
Les
opérations
de
communication
asynchrone
modifient
les
rtgles
d'évolution
des
RdPI de la façon suivante:
Dans la figure 2.22, dans (1) et (3), la réception du message
M
est traitée
comme une condition pouvant rendre la transition
t franchissable.
Dans (1),
si
la transition
t est
validée, elle devient franchissable dts qu'une occurrence de
e devient
consommable
selon
't'
à condition
que
c soit vérifiée et que
le
message
M soit recevable
Par ailleurs, dans (3), si la transition
t est
validée,
elle devient franchissable si le message
M est recevable. Par contre, dans (2) et
(4), les opérations de communication ne modifient en rien les rtgles d'évolution
des
marquages.
Nous
donnons

également
dans
la
figure
2.23
quelques
notations
équivalentes
significatives
portant
sur
des
interactions
entre
deux
entités
communicantes.
Ces
notations
permettent
de
rapprocher
primitives
de
communication
asynchrone
et communication
à
l'aide
de
places
partagées.
Par
ailleurs,
elles
montrent comment dans
notre
modèle,
des
transitions
étiquetées

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 42
par
des
opérations
de
communication
asynchrone
peuvent
être
interconnectées
pour obtenir un réseau global.
( 1)
(3)
(4)
Figure 2.22
EST
EQUIVALENT
A
EST
<e('t").c. ?/M>
EQUIVALENT
A
Figure 2.23
Des transitions t1. t2. ...... tn appartenant à des modules différents et liés
par
une
opération
de
communication
asynchrone
se
franchissent
donc
séparément,
le
franchissement
des
transitions
étiquetées
par des
opérations de

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 43
réception
devant
être
précédé
de
celui
des
transitions
étiquetées
par
des
opérations
d'émission.
2.5.4. L'UTILISATION COMBINEE DES COMMUNICATIONS SYNCHRONES ET
ASYNCHRONES
A
partir
des
définitions
précédentes,
nous
en
déduisons
des
formes
syntaxiques
plus
générales, qui
permettent d'associer au
tir
d'une
transition,
à
la
fois
des
interactions
synchrones et
asynchrones
(fig
2.24).
Ces
interactions
s'effectuent
toujours
dans
un
ordre
bien
déterminé
réception
asynchrone,
rendez-vous.
et
émission
asynchrone.
,t !1M2> ,t
d' ,
!1M2>
,t~,
).0.>'"'
d" ).0·>'"'
!1M2>
't<N'11M2>
(1)
(2)
(3)
(4)
~
t
<8( '!' ).c.?/M1->!M2
6
<8('!' ).c. ?/M1 ->?M2
!/M3>
!1M3>
(5)
(6)
t
~
t
<?/M1->!M2
t
<?/M1->?M2
!/M3>
6
11M3
>
(7)
(8)
Figure 2.24

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 44
La figure
2.25 donne
un exemple de notations
équivalentes. qui
montre
bien
comment
à l'aide
des
deux
primitives
de
communication
synchrone
et
asynchrone. on peut exprimer de façon concise dans un contexte réparti,
deux
formes de synchronisation de base des RdP autonomes.
~,",·-t
EST
<1M2
EQUIVALENT
VM3>
A
f .,.a.
Figure 2.25
2.6 EXEMPLES
Clarté
et
concision
sont
deux
critères
de
qualité
d'une
spécification
indispensables pour faciliter le dialogue entre concepteurs et utilisateurs.
Dans
bon nombre de formalismes. ces deux aspects sont difficilement conciliables.
Nous terminons la présentation du formalisme que nous avons retenu. en
illustrant
sur
deux
exemples
de
procédés
industriels
réels.
la
clarté
et
la
concision
avec laquelle le comportement d'un système de commande peut être

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 45
décrit. Ces exemples nous servirons de support de
réflexion
dans
les chapitres
qui
suivront.
2.6.1 LA POMPE DE KRAMER [Kramer 801
Enoncé
informel
du
problème
11 s'agit de maintenir en dessous d'un certain seuil le niveau de l'eau, et
d'assurer
la
surveillance
de
l'environnement
atmosphérique,
dans
une
galerie
sousterraine d'une mine de charbon.
On dispose pour cela
d'une pompe de drainage pouvant recevoir les commandes de fonctionnement
"dem" pour sa mise en route et "stop" pour son arrêt,
- d'un capteur de niveau servant à détecter les seuils "haut" et "bas" de l'eau dans
la
galerie,
- et de capteurs de méthane, de monoxyde de carbonne (COZ), et d'aération qui
permettent à tout instant de connaître le taux de ces gaz.
La conduite du dispositif est assuré en surface par un opérateur qui peut le
mettre
en
service
(commande
"marche")
ou
hors
service
(commande
"arrêt").
Cet opérateur doit par ailleurs avoir la possibilité de connaître l'état de la pompe
ct des gaz sur simple requête, et doit être informé sous forme d'alarmes de tout
dépassement de seuil des gaz.
La pompe doit fonctionner automatiquement une fois qu'elle a été mise en
service par l'opérateur, en fonction du niveau de l'eau dans la galerie. Pour des
raisons de
sécurité, elle ne
doit pas démarrer ou continuer à fonctionner,
dès
que le pourcentage de méthane atteint un certain seuil.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 46
Description
formelle
de
l'énoncé
Nous
définissons
les
variables
d'E/S
du
système
de
commande
de
ce
dispositif comme suit :
Les
variables
d'entrée
Neau: réel
Désigne le niveau de J'eau dans la galerie
Nmeth : réel
Désigne le taux de méthane dans l'atmosphère
NcoZ : réel
Désigne le taux de COZ dans l'atmosphère
Nair : réel
Désigne
le
niveau
d' aérat ion
dans
l'atmosphère
MARCHEop : booléen
Sert
à
détecter
J'ordre
de
mise
en
service du
dispositif par
J'opérateur
ARRETop : booléen
Sert à détecter l'ordre de mise hors service du
dispositif
par
l'opérateur
REQpompe
booléen
Est
vrai
si
J'opérateur
demande
l'état
de
la
pompe
REQmeth
booléen
Sert à détecter les requêtes de J'opérateur sur le
taux de méthane
REQcoZ : booléen
- Sert à détecter les requêtes de J'opérateur sur le
taux de COZ
REQair
booléen
Sert à détecter les requêtes de J'opérateur sur le
niveau
d'aération
Les yariables de sortie
CMDpompe:(dem.stop)- Désigne la commande à appliquer à la pompe
REPetatp
(dem,stop)
Fournit à l'opérateur J'état
de la pompe
REPmeth
réel
Fournit à l'opérateur le taux de méthaJ:le

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 47
REPco2 : réel
- Fournit à l'opérateur le taux de CO2
ALMmeth
booléen
Est
mis
à
vrai
pour
déclencher
l'alarme
du
méthane
ALMco2 : booléen
Est mis à vrai pour déclencher l'alarme de CO2
ALMair : booléen
Est mis à vrai pour déclencher l'alarme d'air
Le
componement
du
système
de
commande
peut
être
décrit
en
quatre
panies. La première panie (fig. 2.27) décrit comment la mise en route et l'arrêt
de la pompe alternent en fonction du niveau de l'eau et du niveau de méthane
dans la galerie.
~
p3
l.-_+-
P_5--J
"
<Neau ~ SEUILsup>
t3
N.B.:
"pompe en état d'arrêt"
M(pl) = 1
"pompe en état de marche"
M(p2) =
"taux du méthane en dessous du seuil"
M(p4) = 1
"taux du méthane
au dessus du seuil"
M(p3) = 1
"le
niveau
de
l'eau
a
atteint
le
seuil
supérieur
et
n'est
pas
redescendu jusqu'au seuil inférieur"
M(p5) = 1
"le niveau de
l'eau est descendu jusqu'au seuil
inférieur et n'est
pas remonté jusqu'au seuil supérieur"
M(p6) = 1
Figure 2.27

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 48
La deuxième partie de la spécification (fig. 2.28) décrit comment la mise en
route et l'arrêt de la pompe alternent avec le's ordres de mise en service et de
mise hors service du dispositif par
l'opérateur. Celte spécification est construite
autour de la transition tl et des places PI et P2
définies
dans
la
spécification
précédente, en faisant abstraction des autres transitions et places.
<tARRETop>
r---~ ,.J c:CMOpompe :. stop:.
1 1
c:CMOpompe :. dam>
< tMARCHEop>
18
NB.:
"dispositif en service"
M(p7) = 1
"dispositif hors service"
M(p8) = 1
Figure
2.28
La
troisième
partie
de
la
spécification
concerne
les
demandes
d'informations
de
l'opérateur sur l'état de
la
pompe
(fig.
2.29),
le
taux
de
méthane (fig. 2.30), le taux de C02 (fig. 2.31), et le niveau d'aération (fig. 2.32).
Comme dans la deuxième partie, certaines des places (PI' P2)
apparaissant dans
celte spécification sont celles déjà définies dans la première partie.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 49
-------------------------------------------------------------------------
p9
Figure
2.29
p13
p15
p17
114
<fREOmeth>
<fREClc:02 >
<tREOair>
<REPmeth := Nmeth>
<REPc:02 := Nco2>
<REPair := Nair>
115
Figure 2.30
Figure 2.31
Figure 2.32
Enfin,
la
quatrième
partie
de
la
spécification
décrit
les
conditions
de
déclenchement des alarmes pour le dépassement du seuil de méthane(fig.
2.33),
du
seuil de CO2 (fig. 2.34), et du seuil d'aération (fig. 2.35). Elle s'appuie
également sur les places P3, P4 et les transitions t4' t5
définies dans la première
partie.
Chaque
réseau
dans
chacune
des
parties
de
cette
spécification
est
incomplet
mais
précise
de
façon
complète
et
formelle
une
contrainte
particulière
de
l'énoncé
initial
en
faisant
abstraction
du
reste.
Tout
en
étant
logique, le découpage proposé n'est en fait ni un découpage en procédures qui
s'appellent,
ni
un
découpage en
modules communicants
comme on
a
l'habitude
de le faire
en programmation. Ce découpage
relève plutôt d'une fonnulation de

Ch. 2 ; LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 50
problème par des énoncés orthogonaux de contraintes comme
nous
l'avons déjà
rencontré dans le modèle de Chen et Yeh. La spécification globale du problème
s'obtient
par simple fusion
des
différents
réseaux.
Tout comme
les
appels de
procédures et les modules communicants, celle approche est aussi une façon de
parcéliser
un
problème
pour
le
rendre
maîtrisable
par
l'esprit
humain,
et
facilement
modifiable.
<Nmelh < SEUllmelh>
<ALMmelh :. vrai>
<Nmeth ~ SEUllmeth>
Figure
2.33
<Nco2 < SEUII.oo2>
<Nalr < SEUllair>
<AlMco2 ;. vrai>
<AlMair :. vrai>
<Nco2 ~ SEUllco2>
<Nair ~ SEUILair>
Figure 2.34
Figure 2.35

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 51
2.6.2 L'ATELIER DE BOBINAGE [Hollinger S5]
Enoncé
informel
du
problème
Cet exemple
concerne un atelier de production de bobines de fil
textile.
L'atelier
est
composé
de
bobinoirs
groupés
en
métiers.
Nous
ne
nous
intéresserons
qu'au
fonctionnement
d'un
métier.
Une
bobine
est
obtenue
à
l'aide d'un
bobinoir
entrainant en rotation un axe équipé d'un tube en carton,
sur
lequel
est
accroché
l'amorce
d'un
fil
en
défilement
continu.
Lorsque
la
bobine est achevée. le fil
est coupé en amont du bobinoir puis dévié vers un
collecteur de déchets. La bobine achevée est
retirée, et remplacée par un tube
vide.
La coupe du fil, le remplacement d'une bobine et l'accrochage de l'amorce
du fil sont assurés par un système embarqué; une navette assure le transport des
tubes
vides
et
des
bobines
achevées.
Le
système embarqué
et
la
navette
se
déplacent chacun sur une voie parallèle au métier, à partir de leurs positions de
dégagement.
Lorsqu'une
bobine
est
en
voie
d'achèvement,
une
requête
est
transmise
au
système
embarqué
et
à
la
navette
qui
déclenchent
leur
déplacements vers
le bobinoir concerné.
Le remplacement de
la bobine par un
tube vide débute alors dès que le système embarqué termine sa course. et dès que
la fin effective du bobinage intervient. Si un incident
de casse de fil se produit
sur le bobinoir, le système embarqué et la navette retournent à leur position de
dégagement.
Description
formelle
de
l'énoncé
Nous définisons comme suit les variables d'E/S
du
système de commande
d'un
métier:
Les
yariables
d'entrée
TABbool = tableau [1 .. n] de boolèen
Ereq : TABbool
Ereq[i]
=
vrai
indique qu'une bobine est en voie

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 52
est détectée.
Efdepn
T ABbool
Efdepn[i] = vrai indique que la fin de course de la
navette vers le bobinoir no. i est détectée.
Efretn
booléen
Efretn = vrai indique que la fin de course de la
navette
vers
sa
position
de
dégagement
est
détectée.
Les yariables de sonie
Adepse
booléen
Est mis à vrai pour déclencher le déplacement du
système embarqué vers
un
bobinoir
Aretse
booléen
Est mis à vrai pour déclencher le
déplacement du
système embarqué vers sa position de dégagement
Aarrse
booléen
Est mis à vrai pour arrêter la course du système
embarqué
Acf
booléen
Est mis à vrai pour déclencher la
coupe du fil par
le système embarqué.
Aech
booléen
Est
mis
à vrai
pour déclencher
l'échange
de
la
bobine
avec
un
tube
vide
par
le
système
embarqué.
Adepn
booléen
Est mis
à
vrai
pour déclencher le
déplacement
de la navette vers un bobinoir.
Aretn
booléen
Est mis à vrai pour déclencher le déplacement de
la navette vers sa position de dégagement.
Aarrn
booléen
Est mis à vrai pour arrêter la course de
la navette
La figure 2.37 décrit le componement externe du système de commande
d'un
métier.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 53
-------------------------------------------------------------------------
<AarrS9 :_ vrai>
Legende : 1'"2
..
·strictamant-rafraichi-
9
< Ereq (1:1.. 10J >
<Adepse :. vrai>
<lEfdepse[IJ(..- 2) >
<Aarrse :_ vrai>
<1 Efdepn(iJ( ..- 2»
< Efbob[i] >
<Aarrn ;. vrai>
<Ac' :_ vrai>
<Aretn :.. vrai>
<lErretn( ..-2»
< tEfrets9 1'" 2 ,.
Figure 2.37
Description
d'une
solution
répartie
La
figure
2.38
décrit
le
comportement
interne
d'un
réseau
de
modules
communicants
assurant la commande d'un métier. Le réseau (a) est associé au
métier, le réseau (b) au système embarqué, et le réseau (c) à la navette.

Ch. 2 : LE MODELE DE DESCRIPTION DU COMPORTEMENT
Page: 54
c Ereq(I:1..101 -> 1Mreq
l1Mreq>
c?MtdeJB8>
< 7 MfretBe>
(a)
Modula da <on""la du ""Uar
cT Efdep8e[ll( T 2)-> 1 Mfdeps8>
ct Eldopn(IJ('" 2
<7 Mc:aeM >
< 11M1'bob>
<Ad :• •r.l>
cAech :_ vrai>
< lMfech>
<? Mleeh>
c1E'ret•• ( ,..2)->1 MfretStb
<Atet.. :_ vrai>
(b) Module de contr~. de la navene
(a)
Module de çonb'ole du système embarqué
Figure 2.38

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
1
Chapitre 3
LA MODELISATION DE
L'ENVIRONNEMENT

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
2
PLAN
Page
3.0 INTRODUCfION
.
3/3
3.1 EVENEMENTS ENIXXJENES ET EVENEMENTS EXOGENES
.
3/5
3.2 VARIABLES BINAIRES FUGITIVES. VARIABLES BINAIRES
NON FUGITIVES, ET VARIABLES CONTINUES
..
3/6
3.2.1 Variables binaires fugitives et non fugitives
.
3/6
3.2.2 Variables continues
.
3/1
3.3 LES TYPES GENERIQUES DE GENERATEURS D'EVENEMENTS
.
3/8
3.3.1 Les
générateurs
d'événements
exogènes
binaires
fugitifs
.
3/8
3.3.2 Les
générateurs
d'événements
exogènes
binaires
non fugitifs
..
3/9
3.3.3 Les générateurs d'événements exogènes continus
.
3/9
3.3.4 Les
générateurs
d'événements
endogènes
binaires
fugitifs
.
3/10
3.3.5 Les
générateurs
d'événements
endogènes
binaires
non fugitifs
.
3/11
3.3.6 Les générateurs d'événements endogènes continus
.
3/12
3.3.7 Les générateurs de pu rges
..
3/13
3.4 EXEMPLES
..
3/13
3.4.1 Modélisation
du
comportement
de
l'environnement
du système de commande de la pompe de Kramer
.
3/1 3
3.4.2 Modélisation du
comportement de l'environnement
du
système de commande de l'atelier de bobinage
..
3/1 5
3.4.3 Remarques
.
3/19


Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
3
3.0 INTRODUCTION
Nous
avons
présenté
au
chapitre
2
un
modèle
de
description
du
comportement des systèmes de commande répartis. Le but de ce chapitre est de
proposer
une
approche
pour
modéliser
le
comportement
de
l'environnement
avec lequel ces systèmes interagi ssent.
La
modélisation
du comportement de
l'environnement peut être
intéressante
à plusieurs points de vue. Par exemple, dans [ Alanche 86 l, elle est utilisée pour
positionner
des
"filtres"
entre
la
partie
commande
et
les
cartes
d'entrée/sortie,
afin
de
s'assurer
que
les
ordres
engendrés
par
la
partie
commande et les événements détectés par les capteurs sont cohérents avec l'état
des constituants de l'environnement (fig.
3.1).
Eni'"
FIN AVANCER
FIN AVANCER
c .....' FIN AVANCER
~RECULER
,
~
" "1!
AV r-cER
(
>>RECU.ER'" AcIIonneurRECULER
P.dre AVANCER
CIlptour FIN RECULER
Actionneur AVANCER
Enlr"
-
FlN RECULER
FlN~R
Interf_ce
parU.
oP*rattva
...............' ....--------..v,....-------/
,nteC:::.n:,tle
Flltr. rnodélleanl ,. comportement
de la compoean_ rnécariqtM d-deaa:)u.
,---B..L , .L
Figure 3.1
Ainsi,
on peut,
dans une
mise en oeuvre
réelle de
la partie commande,

Ch.3: LA MODELISATION DE L'ENVIRONNEMENT
Page:
4
apporter de façon dynamique une réponse au problème de la sécurité des biens
et des
personnes,
puis aussi
à celui de
la détection des
pannes qui
peuvent
survenir dans la partie opérative.
Dans la même optique, on peut citer également l'approche préconisée dans [
Raynal 81 1 pour décrire la légalité
des
traces
d'entrée
dans
la spécification
de l'interface d'accès d'un système.
Dans
[ Benzakour 86
] par contre,
la
modélisation
du
comportement de
l'environnement est utilisée pour faire hors site, une mise en oeuvre simulée de
la spécification du comportement d'un système de commande, en permettant la
génération
automatique
des
événements
qui
caractérisent
l'évolution
des
grandeurs
physiques
de
l'environnement
avec
lequel
ce système
interagit.
Dans
un
contexte de
conception,
cette
mise
en
oeuvre
simulée
d'une
spécification
est
un
outil
précieux
pour
les
tests
et
pour
le
dialogue entre concepteurs et utilisateurs. Elle permet une mise
au
point fine
des
spécifications.
en
se
comportant
comme
un
véritable
révélateur
des
conséquences des intentions que ces spécifications sont sensées exprimer. C'est
à ce type d'utilisation de la modélisation du comportement de
l'environnement
que nous nous
intéressons.
Dans ce qui
suit. nous présentons tout d'abord les notions d'événements
endogènes et exogènes, puis celles de variables
binaires
fugitives et
non
fugitives et de variables
continues.
Ensuite, en nous appuyant sur ces
notions.
nous
proposons
sept
types
génériques
qui
permettent
au
spécifieur
d'instancier
des
générateurs
d'événements
de
modification
des
variables
d'entrée
d'un
système
de
commande.
Les
événements
générés
par
ces
générateurs
permettent, au
cours d'une
simulation de
la
partie
commande, de
rendre
compte,
le
plus
fidèlement
possible,
de
l'évolution
des
grandeurs
physiques
de
l'environnement.
Nous
illustrons
ensuite
cette
approche
de
modélisation
du comportement de
l'environnement
par quelques exemples.

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
5
3.1 EVENEMENTS ENDOGENES ET EVENEMENTS EXOGENES
Les
notions
d'événements
endogènes
et
d'événements
exogènes
que
nous
présentons
ici
permettent
de
différencier
les
événements
de
modification
des
variables d'entrée d'un
système de commande par le fait que leurs occurrences
peuvent être considérées comme dépendantes
ou non
des ordres engendrés par
ce système.
Soit e un événement de modification d'une variable d'entrée d'un système de
commande.
rendant
compte
de
l'évolution
d'une
grandeur
physique
G.
Nous
dirons que e est un événement endogène ssi l'évolution de la grandeur physique
G peut être considérée comme dépendante des ordres engendrés par le système
de commande. Si
au contraire l'évolution de la grandeur physique G peut être
considérée
comme
indépendante
des
ordres
engendrés
par
le
système
de
commande. nous dirons
que e est un
événement exogène.
Par exemple, dans l'exemple de la pompe de Kramer (c.r. section 2.6.1), le
niveau
de
l'eau
dans
la
galerie
souterraine
est
une
grandeur
physique
dont
l'évolution dépend, des ordres de commande que reçoit la pompe. Selon que la
pompe
est en
état d'arrêt
ou de
marche.
le
niveau
de
l'eau
dans
la galerie
souterraine
augmente
ou
diminue.
Les
événements
de
modification
de
la
variable
d'entrée "Neau" qui
rendent compte de cette évolution constituent de
ce fait des exemples d'événements endogènes. Par contre, l'évolution du niveau
de méthane
dans
l'atmosphère est une grandeur physique dont l'évolution
n'est
pas
directement
lié
aux
ordres
engendrés
par le
système
de
commande.
Les
événements de modification de la variable d'entrée "Nmeth" qui rendent compte
de cette évolution sont donc des exemples d'événements exogènes.
3.2
VARIABLES BINAIRES FUGITIVES, VARIABLES
BINAIRES NON FUGITIVES,
ET VARIABLES CONTINUES
Dans
un
procédé
industriel.
on
distingue
deux
modes
d'observation
de

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
6
l'évolution
d'une
grandeur physique.
Lors
d'une
observation,
dans. le
premier
mode, on s'intéresse à la détection du passage de la grandeur physique par une
position nominale,
tandis que dans le second
mode. on
s'intéresse plutôt à la
position
courante
de
la
grandeur
physique.
Ces
deux
modes
d'observation
impliquent des capteurs de natures différentes et des variables d'entrée de types
différents. Dans le premier cas, l'observation s'effectue à l'aide de capteurs "tout
ou
rien"
dans
des
variables
binaires
servant
à
indiquer
que
la
grandeur
physique à atteint la position nominale considérée, et dans le second cas à l'aide
de
capteurs
"numériques"
dans
des
variables
réelles
servant
à
indiquer
la
position courante de la grandeur physique.
Nous utilisons les notions de variables
binaires fugitives et non fugitives et
celle
de
variables
continues.
pour
différencier
les
variables
d'entrée
par
le
profil de variation des valeurs qu'elles prennent dans le temps.
3.3.1 VARIABLES BINAIRES FUGITIVES ET NON FUGITIVES
Soit
v
une
variable
d'entrée
binaire
servant
à
indiquer
qu'une
grandeur
physique G a atteint une position nominale r. Nous dirons que v est une variable
binaire
fugitive.
ssi
la
grandeur
physique
G
ne
peut
occuper
la
position
nominale r que pendant un temps court. Si au contraire la grandeur physique G
peut occuper la position nominale r
pendant un temps long, nous dirons plutôt
que
v
est
une
variable
binaire
non
fugitive.
Au
sens
de
l'automaticien,
les
variables binaires fugitives
sont liées à la notion d'événement. et
les variables
binaires non fugitives à la notion
d'état.
Le chronogramme de la figure 3.2 donne le profil type des variations d'une
variable
binaire
fugitive.
et
le
chronogramme
de
la
figure
3.3
celui
des
variations
d'une
variable
binaire
non
fugitive.
La
variable
v
prend
la
valeur
vrai si la grandeur physique est à sa position nominale, et faux sinon.

Ch. 3: LA MODELISATION DE L'ENVIRONNEMENT
Page:
7
v
vrai
faux
Figure 3.2
v
vrai
n n
n
faux
Figure 3.3
Comme exemple de variables binaires fugitives,
on peut citer les
variables
d'entrée servant pour la détection du passage d'un chariot devant des postes de
travail,
et
comme
exemple
de
variables
binaires
non
fugitives
une
variable
d'entrée servant pour la détection de la présence d'une piéce à usiner dans un
chariot.
3.3.2 VARIABLES CONTINUES
Il
s'agit
essentiellement
de
variables
d'entrée
servant
à
indiquer
les
positions
successives
des
grandeurs
physiques.
Le
chronogramme
de
la
figure
3.4 donne le profil type des variations d'une variable continue.

Ch.3: LA MODELISATION DE L'ENVIRONNEMENT
Page:
8
v
0.0 -t---------------.......
Figure 3.4
Les
variables
d'entrée
servant
à
indiquer
la
température
dans
un
haut
fourneau, ou les variables "Neau", "Nmeth", "Nco2 ", "Nair", servant à indiquer le
niveau de l'eau et des gaz dans l'exemple de la pompe de Kramer (c.f. section
2.6.1), sont autant d'exemples qui illustrent cette notion de variables continues.
3.3 LES TYPES GENERIQUES DE GENERATEURS D'EVENEMENTS
Chacun
des
six
types
génériques
que
nous
présentons
ici
est
un
modèle
permettant
l'instanciation
d'une
famiIle
de
générateurs
d'événements,
qui
ont
en
commun
le
fait
que
les
événements
générés
sont
tous
de
même
type
(endogène ou exogène) et modifient le même type de variables (binaire fugitif,
binaire
non
fugitif,
ou
continu).
Chaque
instanciation
de
ces
types
génériques
permet au
spécifieur de préciser les conditions d'occurrence des événements de
modification d'une
variable
d'entrée,
qui
rendent
compte
de
l'évolution
d'une
grandeur
physique.
Toutefois,
dans
un
environnement
complexe,
l'occurrence
d'un
événement peut changer le cours normal
de l'évolution de cette grandeur
physique, et remettre donc en cause ces conditions.
Aussi, le rôle du septième
type
générique
sera
de
permettre
au
spécifieur
de
provoquer
la
purge
d'un
événement, lorsque celui-ci doit être invalidé du fait de l'occurrence d'un autre
événement.
3.3.1 LES GENERATEURS D'EVENEMENTS EXOGENES BINAIRES FUGITIFS
Un
générateur
d'événements
exogènes
binaires
fugitifs
permet

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
9
d'engendrer selon une périodicité
fixe
ou
aléatoire, des événements qui
forcent
une variable
binaire fugitive
à
sa
valeur significative le
temps d'un
cycle de
simulation.
Après
le
cycle
de
simulation,
la
variable
concernée
reprend
sa
valeur
non
significative.
Un
générateur
d'événements
exogènes
binaires
fugitifs
s'instancie
en
précisant
les
paramètres
suivants:
-le nom d'une variable d'entrée du système de commande
-la valeur significative de cette variable
-et la loi de distribution de ]'interval1e de génération des événements
3.3.2 LES GENERATEURS D'EVENEMENTS EXOGENES BINAIRES NON
FUGITIFS
Un
générateur
d'événements
exogènes
binaires
non
fugitifs
permet
d'engendrer selon
une périodicité fixe. des événements qui forcent une variable
binaire
non
fugitive
à
vrai
selon
une
probabilité
p,
et
à
faux
selon
une
probabilité
1- p.
Il
s'instancie en précisant
les
paramètres suivants:
-le nom d'une
variable d'entrée du système de commande
-la probabilité avec laquelle cette variable prend la valeur vrai ou faux
-et la fréquence de génération des événements
modifiant
cette variable
3.3.3 LES GENERATEURS D'EVENEMENTS EXOGENES CONTINUS
Un
générateur
d'événements
exogènes
continus
permet
d'engendrer
selon

Ch.3: LA MODELISATION DE L'ENVIRONNEMENT
Page:
10
une périodicité fixe,
des événements qui
font
varier le contenu
d'une variable
continue
d'un f>x qui peut être fixe ou aléatoire.
Il
s'instancie en précisant
les
paramètres suivants:
-le nom d'une variable d'entrée du système de commande
-la
loi
de
distribution
des f>x
correspondant
aux
variations
de
cette
variable
-et la fréquence de génération des événements modifiant cette variable
3.3.4 LES GENERATEURS D'EVENEMENTS ENDOGENES BINAIRES
FUGITIFS
A
J'inverse
des
générateurs
d'événements
exogènes,
les
générateurs
d'événements endogènes sont soumis à des conditions de génération qui portent
sur
l'état
du
système
de
commande.
Un
générateur
d'événements
endogènes
binaires fugitifs permet, chaque fois que
la condition de génération qui
lui est
associée
devient
vrai,
de
générer
avec
une
probabilité
p
un
événement
de
modification
de
variable
binaire
fugitive.
La
variable
vi à modifier peut être
choisie avec
une probabilité Pi
parmi n variables. La somme des probabilités
associées aux n variables doit alors être égale
à p. Chaque événement généré
force une variable à sa valeur significative
au bout d'un temps f> t qui peut être
fixe ou aléatoire. Après un cycle de simulation, la variable modifiée reprend sa
valeur
non
significative.
Un
générateur
d'événements
endogènes
binaires
fugitifs
s'instancie
en
précisant
- l'état dans lequel
doit se trouver le
système
de commande pour qu'un
événement soit généré (c'est la condition de génération)

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
II
ct
pour
chaque
variable
d'entrée
du
système
de
commande
pouvant
être
modifiée
-son
nom
-sa
valeur
significative
-la
probabilité
pour qu'un
événement
généré
la concerne
-et la
loi de distribution du temps
f::,. t
au
bout
duquel
cet
événement
provoque
sa
modification
3.3.5LES
GENERATEURS
D'EVENEMENTS
ENDOGENES
BINAIRES
NON
FUGITIFS
Les
générateurs
d'événements
endogènes
binaires
non
fugitifs
se
différencient
des
générateurs
d'événements
endogènes
binaires
fugitifs
uniquement
par
le
fait
que
les
événements
engendrés
ne
modifient
pas
les
variables d'entrée que le temps d'un cycle de simulation. Les variables modifiées
conservent leur modification après le cycle de simulation.
Un
générateur
d'événements
endogènes
binaires
non
fugitifs
s'instancie
en précisant
-l'état dans
lequel
doit se
trouver
le
système de
commande
pour qu'un
événement soit généré (c'est la condition de génération)
et
pour
chaque
variable
d'entrée
du
système
de
commande
pouvant
être
modifiée
-son
nom
-la valeur qu'eHe prend

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
12
-la probabilité pour qu'un événement généré la concerne
-et la loi de distribution du temps t:. t
au
bout
duquel
cet
événement
provoque
sa
modification
3.3.6 LES GENERATEURS D'EVENEMENTS ENDOGENES CONTINUS
Les
générateurs d'événements
endogènes
continus
sont
caractérisés
d'une
part par une condition d'activation et d'autre part par une condition d'arrêt de la
génération, qui portent sur l'état du système de commande. Chaque fois que la
condition
d'activation
qui
lui
est
associée
devient
vraie,
un
générateur
d'événements
endogènes
continus
engendre,
selon
une
périodicité
fixe,
des
événements qui font varier le contenu d'une variable continue d'un t:. x fixe ou
aléatoire, jusqu'à ce que la condition d'arrêt devienne vraie. Le contenu de la
variable d'entrée peut être forcée au début de chaque cycle de génération à une
valeur
particulière.
Un
générateur d'événements
endogènes
continus
s'instancie
en
précisant:
-le nom d'une variable d'entrée du système de commande
-l'état dans lequel doit se trouver le système de commande pour que la
génération débute (c'est la condition d'activation de la génération)
-l'état dans lequel doit se trouver le système de commande pour que la
génération s'arrête (c'est la condition d'arrêt de la génération)
-la valeur de départ de la variable (optionnel)
-la loi de distribution des t:. x correspondant aux variations de la variable
-et la fréquence de génération des événements

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
13
3.3.7 LES GENERATEURS DE PURGES
Un générateur de purges permet, chaque fois qu'un événement donné est
généré,
de
provoquer
la
purge
de
tous
les
événements
que
son
occurrence
invalide. La date prévue pour l'occurrence d'un événement qui fait l'objet d'une
purge doit
être supérieure
à
la date
prévue
pour l'occurrence
de
l'événement
qui
provoque
sa
purge.
Un
générateur de
purge
s'instancie
en
précisant
les
paramêtres
suivants:
-le
nom
de
la
variable
d'entrée
dont
les
événements
de
modification
provoquent
des
purges
-et
la
liste
des
variables
d'entrée
dont
les
événements de
modification
doivent
être
purgés
3.4 EXEMPLES
Les
deux
exemples que
nous
présentons
ici
montrent
comment on
peut
utiliser
les
types
génériques
proposés
pour
instancier
des
générateurs
d'événements
modélisant
le
comportement
d'un
environnement
en
interaction
avec un système de commande. Ces exemples s'appuient sur les deux applications
déjà présentées en 2.6.
3.4.1 MODELISATION
DU COMPORTEMENT DE L'ENVIRONNEMENT
DU
SYSTEME DE COMMANDE DE LA POMPE DE KRAMER
Pour simplifier l'exposé, nous allons nous restreindre au RdPI de la figure
2.27. Il décrit comment la mise en route et l'arrêt de la pompe doivent alterner
en fonction de l'évolution de deux grandeurs physiques : le niveau de l'eau et le
taux de méthane dans la galerie souterraine.
Comme
nous
l'avions déjà
vu,
l'évolution
du
taux
de
méthane
dans
la
galerie n'est pas directement liée aux ordres engendrés par la partie commande,

Ch.3: LA MODELISATION DE L'ENVIRONNEMENT
Page:
14
alors qu'à l'inverse, le sens de l'évolution du niveau de l'eau dépend de l'état de
fonctionnement
de
la
pompe.
Les
événements
de
modification
de
la
variable
"Nmeth" qui rendent compte de l'évolution du méthane peuvent de ce fait être
engendrés
par
un
générateur
d'événements
exogènes
continus,
instancié
avec
les
paramètres
suivants:
-Nom de la variable d'entrée:
Nmeth
-Fréquence de génération des événements de modification de la variable
toutes 5 uni tés de tem ps
-Loi
de
distribution
des
t:. x correspondant
à la
variation du
taux de
méthane toutes les 5 unités de temps: uniformément distribué entre -0.2 et
+0.2.
Quant aux événements de modification de la variable d'entrée
"Neau" qui
servent
à
rendre
compte
de
l'évolution
du
niveau
de
l'eau,
ils
peuvent être
engendrés
par
deux
générateurs
d'événements
endogènes
binaires
continus
instanciés de la façon suivante
1er
générateur:
-Nom de la variable d'entrée
Neau
-Condition d'activation de la génération d'événements
M(P2) = 1
-Condition d'arrêt de la génération d'événements
M(P2) = 0
-Fréquence de génération des événements de modification de la variable
toutes les 5 unités de temps
-Loi de distribution des t:. x correspondant à la baisse du niveau de l'eau
toutes les 5 unités de temps : variation constante de - 0.45.

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
15
2~me
générateur:
-Nom de la variable d'entrée
Neau
- Condition d'activation de la génération d'événements
-Condition d'arrêt de la génération d'événements
-Fréquence de génération des événements de modification de la variable
toutes les 5 unités de temps
-Loi de distribution des ~ x correspondant à l'augmentation du niveau de
l'eau toutes les 5 unités de temps : uniformément distribuée entre -0.1
et
+0.2.
Le
premier
générateur
engendre
les
événements
qui
rendent
compte
de
la
baisse du niveau de J'eau quand la pompe est en état de fonctionnement. et le
deuxi~me générateur les événements qui
rendent
compte
de
l'augmentation
du
niveau de l'eau quand la pompe s'arrête de fonctionner.
3.4.2 MODELISATION DU COMPORTEMENT DE L'ENVIRONNEMENT DU
SYSTEME DE COMMANDE DE L'ATELIER DE BOBINAGE
Dans
cet exemple
également,
pour simplifier
l'exposé,
nous
allons
nous
restreindre à deux grandeurs physiques: la position du système embarqué, et la
taille atteinte par une bobine en cours de bobinage sur un bobinoir n.
La
variation
de
la
position
du
système
embarqué
dépend
des
ordres
engendrés par la partie commande. En plus, pour l'observation de l'évolution de
cette
grandeur
physique,
on
ne
s'intéresse
qu'aux
passages
du
système
embarqué
devant
un
bobinoir.
Cette
observation
s'effectue
dans
les
variables
d'entrée
du
tableau
"Efdepse".
De
ce
fait,
pour
chaque
variable
d'entrée
"Efdepse[n)", on
peut engendrer les événements qui
modifient son
contenu en

Ch.3: LA MODELISATION DE L'ENVIRONNEMENT
Page:
16
utilisant
un
générateur
d'événements
endogènes
binaires
fugitifs
instancié
avec
les paramètres suivants:
-Nom de la variable d'entrée
Efdepse[n]
-Condition de génération d'un événement
M(p 10) = 1 1\\
n = i
-Probabilité de génération d'un événement
-Valeur significative de la variable d'entrée
vrai
-Loi de distribution du temps 6 t au bout duquel
les événements générés
modifient la variable d'entrée : temps constant de 5 • n unités.
Autrement dit, chaque fois que le système de commande engendre un ordre de
déplacement du
système embarqué,
si
le
bobinoir à traiter est le
bobinoir n,
alors un événement est généré pour
signaler le passage du système embarqué
devant ce bobinoir au bout de 5·n unités de temps.
Pour ce qui concerne la taille d'une bobine en cours de bobinage sur un
bobinoir
n,
on
n'observe
que
le
fait
qu'elle
a
atteint
une
position
nominale
nécessitant une requête du
système embarqué. et
le
fait
qu'elle a atteint une
position nominale nécessitant la coupe du fil.
Dans le premier cas, l'observation
se fait dans la variable d'entrée "Ereq[n]", et dans le second cas dans la variable
d'entrée
"Efbob[n]".
On peut engendrer les événements de
modification de ces
deux
variables
à
l'aide
de
générateurs
d'événements
endogènes
binaires
non
fugitifs. Ces générateurs peuvent être instanciés de la façon suivante:
Cas de la variable "Ereq[n]", passage à faux
-Nom de la variable d'entrée
Ereq[n]
-Condition de génération d'un événement

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
17
-Probabilité de génération d'un événement
-Loi de distribution du temps /). t au bout duquel les événements générés
modifient la variable d'entrée : temps constant de 0 unité.
Cas de la variable "Ereq[n]". passage à vrai
-Nom de la variable d'entrée
Ereq[n]
-Condition de génération d'un événement
M(P4) = 1 1\\
n = i
-Probabilité de génération d'un événement
-Loi de distribution du temps /). t au bout duquel
les événements générés
modifient la variable d'entrée : temps constant de
1000 unités.
Cas de la variable "Efbob[n]". passage à faux
-Nom de la variable d'entrée
Efbob[n]
-Condition de génération d'un événement
M(P4) = 1 1\\
n = i
-Probabilité de génération d'un événement
-Loi de distribution du temps /). t au bout duquel
les événements générés
modifient la variable d'entrée : temps constant de 0 unité.
Cas de la variable "Efbob[n]", passage à vrai
-Nom de la variable d'entrée
Efbob[n]
-Condition de génération d'un événement
M(P4) = 1 1\\
n = i

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMENT
Page:
18
-Probabilité de génération d'un événement
-Loi de distribution du temps t. t au bout duquel
les événements générés
modifient la variable d'entrée : temps constant de 1200 unités
Les
générateurs
d'événements
que
nous
avons
identifiés
jusqu'ici
ne
précisent
que
le
comportement
normal
de
l'environnement
par
rapport
aux
deux
grandeurs
que
nous
avons
retenues.
Pour
être
complet,
il
faut
aussi
prendre
en
compte
les
incidents
de
fonctionnement
qui
correspondent
ici
aux
casses de fil. Pour un bobinoir n, les casses de fil sont observées dans la variable
d'entrée
Ecasse[n].
Les
événements
qui
modifient
cette
variable
peuvent
être
engendrés
par
un
générateur
d'événements
endogènes
binaires
non
fugitifs
instancié
avec
les paramètres suivants:
Cas du passage à faux
-Nom de la variable d'entrée
Ecasse[n]
-Condition de génération d'un événement
-Probabilité de génération d'un événement : 0.3
-Loi de distribution du temps t. t au bout duquel les événements générés
modifient la variable d'entrée : temps constant de 0 unités.
Cas du passage à vrai
-Nom de la variable d'entrée
Ecasse[n]
-Condition de génération d'un événement
-Probabilité de génération d'un événement
0.3

Ch. 3 : LA MODELISATION DE L'ENVIRONNEMEJIIT
Page:
19
-Loi de distribution du temps t::. t au bout duquel
les événements générés
modifient
la variable d'entrée
: uniformément
distribué
entre
5 et
1200
unités de temps.
En d'autres termes, nous avons spécifié que chaque échange de bobine sur
un bobinoir n doit provoquer pour ce bobinoir.
la génération d'une requête du
système embarqué, d'une indication de fin de bobinage, et dans 30% des cas une
génération de casse de fil. Il est bien évident que chaque fois qu'un événement
de
casse
de
fil
sera
effectivement
généré.
il
pourra
remettre
en
cause
les
indications de fin de bobinage et de fin de course du système embarqué. Notre
modélisation doit de ce fait être complétée par une instanciation de générateur
de purges en précisant les paramètres suivants:
-Nom
de
la
variable
d'entrée
dont
les
événements
de
modification
provoque une purge:
Ecasse[n]
-Liste des variables d'entrée dont les événements de
modification doivent
être purgés: Efbob(n], Efdepse[n]
3.4.3 REMARQUES
Comme on peut le voir à travers les deux exemples présentés, les principes
de
modélisation
du
comportement
de
l'environnement
d'un
système
de
commande
sont
simples.
Le
spécifieur
identifie
dans
un
premier
temps
les
grandeurs
physiques
de
l'environnement
qui
doivent
être
observées
par
le
système
de
commande.
Ensuite,
il
instancie
les
générateurs
d'événements
qui
permettent de rendre compte le
plus fidèlement
possible de l'évolution de ces
grandeurs
physiques.
La structure du RdPI spécifiant le componement du système de commande
peut aussi guider le spécifieur. Dans ce cas, pour chaque groupe de transitions
en
conflit
structurel,
il
instancie
un
générateur
des
événements
qui
peuvent
provoquer le tir de ces transitions.


01. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
1
Chapitre 4
LA MODELISATION
DU FLUX D'ACTIVITE

Ch. 4: LA MODELISATION DU fLUX D'ACTIVITE
Page:
2
PLAN
Page
4.0
INTRODUCTION
.
4/3
4.1
L'EVALUATION DES PERFORMANCES A L'AIDE DES LANGAGES
ORIENTES SIMULATION (GPSS. PAWS
)
.
4/4
4.2 L'EVALUATION DES PERFORMANCES A L'AIDE DES SIMULATEURS
DE RdP
..
4/5
4.3 L'APPROCHE ADOPTEE
.
4/5
4.3.1
Le rôle des marques dans le modèle de description du flux
d'activité
.
417
4.3.2
Le rôle des places
.
417
4.3.3
Le rôle des transitions
..
4/8
4.3.4
Synchronisation du
flux
d'activité
avec
l'évolution
de la commande
.
4/11
4.3.5
Evaluation du modèle par rapport aux RdP
.
4/12
4.4 EXEMPLES
.
4/12
4.4.1
L'exemple de l'atelier de bobinage
..
4/13
4.4.2
L'exemple du convoyeur
.
4/13
4.4.3
L'exemple du serveur de postes d'usinage
..
4/17


Ch. 4: LA MODELISATION DU fl..UX D'ACTIVITE
Page:
3
4.0 INTRODUCTION
Du
fait
de
l'enjeu
économique
que
cela
implique.
J'évaluation
des
p erfor III a n ces
constitue un problème fondamental
dans
le cycle de vie d'un
atelier
de
production.
Ce
problème
se
pose
en
général
dès
les
premières
investigations.
mais
peut
aussi
se
poser
dans
des
étapes
très
avancées
du
processus
de
conception.
voire
encore
plus
tard
en
phase
d'exploitation.
Il
permet
de
déterminer
les
meilleurs
compromis
pour
réduire
les
encours
et
gérer
de
façon
optilllaie
l'utilisation
des
ressources,
en
fonction
de
la
production
l
assurer.
Dans
l'état
actuel
des
connaissances.
la
simulation
constitue l'un des meilleurs moyens pour résoudre de façon précise ce problème.
Dans
les sections
4.1
et 4.2
de
ce
chapitre.
nous
présentons
dans
les
grandes
lignes
les
approches
habituellement
utilisées
pour
aborder
l'évaluation
des
performances
des
ateliers
de
production
à
l'aide
de
la
simulation.
Ces
approches
peuvent
être
groupées
en
deux
grandes
familles:
celles
s'appuyant
sur les langages
orientés simulation. et celles s'appuyant sur les RdP.
Ensuite. nous présentons dans la section 4.3 l'approche que nous adoptons.
Elle se fonde sur un modèle de description du flux d'activité. qui complète les
modèles
décrits
aux
chapitres
2
et
3.
et
permet
au
cours
d'une
simulation
conjointe
de
la
partie
commande
et
de
la
partie
opérative
d'un
atelier
de
production,
de
collecter
les
mesures
nécessaires
pour
l'évaluation
des
performances.
Nous terminons ce chapitre en consacrant la section 4.4 à la présentation
de quelques exemples d'illustration de cette approche.

Ch. 4: LA MODELISATION DU FLUX D'ACfIVITE
Page:
4
4.1
L'EVALUATION
DES
PERFORMANCES
A
L'AIDE
DES
LANGAGES ORIENTES SIMULATION DlSCRETE ( GPSS,
PAWS, Etc...)
Les
langages de programmation orientés simulation discrète
permettent de
décrire
de
façon
macroscopique
les
aspects
pertinents
du
fonctionnement
d'un
atelier, en confondant partie commande, partie opérative, et flux
d'activité, puis
d'obtenir
au
cours
d'une
simulation
du
fonctionnement
décrit.
des
statistiques
fines
sur
les
files
d'attentes
:
longueur
maximum,
longueur
minimum,
temps
d'attente, débit, taux d'occupation. Ils s'appuient en général pour cela sur
- des concepts de haut niveau ( entités actives ou passives, activités. événements,
files d'attente etc .... )
- des règles prédéfinies pour la gestion des files d'attente
- et des lois de distribution des intervalles d'arrivée des événements, des temps
de service et des routages
qui
permettent au
spécifieur de
formaliser,
le
plus
simplement
possible
et à
moindre coût, sa perception de l'évolution du monde réel.
Les inconvénients majeurs de ce type de langages se résument en quatre
points essentiels :
1 0 )
Ils
sont
malcommodes
pour
décrire
finement
les
contraintes
de
synchronisation
qui
caractérisent
le
fonctionnement
d'un
atelier
flexible.
2 0 )
En pl us, ils ne permettent pas de vérifier formellement
les propriétés de
ces
contraintes.
3 0 )
Par ailleurs, d'un point de vue méthodologique, le fait de ne pas séparer
dans la description do fonctionnement d'un atelier la partie commande, la partie

Ch. 4: LA MODELISATION DU FLUX D'ACI1VITE
Page:
5
opérative
et
le
flux
d'activité.
ne
rend
pas
aisé
l'évaluation
de
différents
scénarios.
4°)
Enfin
et
sunout.
des
risques·
d'incohérence
peuvent
exister
entre
la
logique
du
fonctionnement
simulé
et
celle
décrite
dans
la
spécification
du
système de commande.
4.2 L'EVALUATION DES PERFORMANCES A L'AIDE DES
SIMULATEURS DE RdP
Ces simulateurs [ Alanche 84 ] [ Valette 85 b ] [ Manin 87 ] [ Hollinger 87 ]
conduisent
à décrire le
fonctionnement d'un
atelier de
production
à l'aide d'un
RdP
auquel
on
associe
une
interprétation.
L'interprétation
associée
aux
places
permet de prendre en compte au cours d'une simulation la durée d'exécution des
opérations.
et
celle
associée
aux
transitions
de
resoudre
les
conflits
de
franchissement
éventuellement
sur
des
bases
stochastiques.
L'intérêt de cette approche réside essentiellement dans le fait que les RdP
permettent
de
décrire
et
de
valider
très
aisément
les
contraintes
de
synchronisation
qui
caractérisent
le
fonctionnement
des
ateliers
flexibles.
Par
ailleurs. comme nous
l'avons déjà vu
au
chapitre 2.
ce
formalisme
peut être
utilisé pour la description
du comportement du
système de
commande.
ce qui
permet.
dans
une
démarche
de
conception.
de
maintenir
une
cohérence
entre
les différents modèles utilisés.
4.3 L'APPROCHE ADOPTEE
L'originalité de
cette
approche
réside
essentiellement dans
Je fait
qu'elle
permet
de
fonder
la
simulation
sur
trois
descriptions
distinctes
mais
complémentaires de 1a dynamique des ateliers de production :
-la description du
l1ux d'activité
-La description du
comportement du système de commande

Ch. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
6
-et
la description
du
comportement
de
l'environnement
La description du flux d'activité permet de fixer les contraintes
imposées
par
l'organisation
du
réseau
de
transport,
des
stocks
intermédiaires,
et
des
machines,
en précisant
les mouvements
physiquement et
logiquement
possibles,
puis
d'en
déduire
au
cours
d'une
simulation.
des
statistiques
pertinentes
pour
l'évaluation des performances.
La spécification du comportement du
système de
commande définit
les
stratégies de pilotage de
l'atelier en
précisant
les
règles
d'enchainement
des
décisions
à
prendre
pour
coordonner
le
déroulement
des
différentes
activités.
La
description
du
comportement
de
l'environnement
quant
à elle précise, en fonction
des caractéristiques des composantes mécaniques, les
lois qui
régissent
l'évolution des grandeurs physiques.
D'un point de vue méthodologique, cette approche offre en effet plusieurs
avantages:
1 0 )
Pour chacune de ces descriptions, on peut utiliser le formalisme le mieux
adapté.
2 0 )
Ces
trois
descriptions n'étant pas
redondantes,
le
spécifieur peut changer
l'une d'entre elle
sans remettre en cause les deux autres. Ainsi. étant donné un
ensemble de lois caractéristiques de l'évolution des grandeurs physiques et une
organisation
de
l'atelier,
le
spécifieur
peut
évaluer
différentes
stratégies
de
pilotage. ou encore pour une stratégie de pilotage et une organisation, évaluer
différentes hypothèses sur les lois d'évolution des grandeurs physiques.
3 0 )
Enfin,
par
rapport
à
la
spécification
du
comportement
du
système
de
commande,
la
description
du
flux
d'activité
offre
une
vue
plus
clarifiée des
contraintes
du
fonctionnement
que
le
système
de
commande
doit
assurer.
Au
cours d'une simulation,
il est aisé de vérifier que
l'évolution de la commande
respecte bien ces contraintes.
Inversement,
le spéci fieur est toujours assuré que
le
fonctionnement
de
l'atelier
qu'il
évalue
respecte
bien
les
contraintes
exprimées dans la spécification du système de commande.

Ch. 4: LA MODELISATION DU FLUX D'AcrIVITE
Page:
7
Le but de cette section est de présenter le modèle de description du flux
d'activité. Ce modèle conduit à décrire le flux d'activité par un réseau de files
d'attente, constitué comme dans un
RdP classique d'un
ensemble de
places et
d'un ensemble de transitions, reliées entre elles par des arcs orientés. Dans ce
qui suit, nous précisons le rôle des marques, des places et des transitions dans ce
modèle. Ensuite, nous comparons le formalisme proposé aux RdP, ce qui nous
permettra de mieux préciser son intérêt.
4.3.1 LE ROLE DES MARQUES DANS LE MODELE DE DESCRIPTION DU FLUX
D'ACTIVITE
Dans
un
réseau
décrivant
le
flux
d'activité,
toute
marque
apparaÎssant
dans
une
place
est
individualisl!e
et
sert
à
modéliser
une
transaction
caractérisée
par quatre
types
d'attributs:
- Un identifiant de transaction ( ID)
Une priorité (PR)
- une classe (CL)
et l'identifiant de la file d'attente à laquelle appanient la transaction (FL)
4.3.2 LE ROLE DES PLACES
Chaque place du réseau sen à modéliser une ou plusieurs files d'attente, et
est caractérisée par la
politique de
gestion
de ces
files
(PG),
et
leur borne
supérieure
(BS).
La politique FIFO (First In First Out) permet de gérer les transactions selon
leur ordre d'arrivée, la politiques LIFO (Last In First Out) selon l'ordre inverse de
leur arrivée, et la politique RAND dans un ordre quelconque.
Si la borne supérieure d'une file d'attente est inconnue, nous noterons par
convention qu'elle est infinie (i.e BS = 00 ).
Le but de la modélisation du flux d'activité est de permettre la collecte de

Ch. 4: LA MODELISATION DU FLUX D'Acnvrrn
Page:
8
statistiques fines sur ces files d'attente :. longueur maximum. longueur minimun,
temps de transit. débit. taux d'utilisation.
4.3.3 LE ROLE DES TRANSITIONS
Chaque
transition
ti d'un réseau correspond à un ensemble E i de relations
d'écoulement du flux d'activité (noté par convention par FA). Ces relations sont
définies
entre
les
files
d'attente
apparaÎssant
en
entrée
et
en
sortie
de
la
transition.
Chaque
écoulement
de
flux
retranche
des
transactions
des
files
d'entrée. et ajoute des transactions aux files de sortie.
A
un
instant
donné,
les
transactions
qui
participent en
entrée
dans
un
écoulement de flux sont déterminées par rapport à des identifiants de files. Dans
chacune de ces files. une transaction est choisie en fonction de la politique de
gestion qui lui est associée (FIFO. LIFO. RAND). Dans le cas de la politique RAND.
ce choix peut être contraint par le fait que la transaction sélectionnée doit avoir
le
même
identifiant
que
les
transactions
sélectionnées dans
d'autres
files.
Ces
critères
de
sélection
peuvent
être
renforcés
par
la
classe.
si
en
plus
l'on
souhaite
vérifier
la
validité des transactions
sélectionnées.
Pour la désignation de ces différents critères de sélection. deux cas sont à
considérer:
a) Les critères de sélection définis par les fonctions associés aux arcs
Si ti est
une
transition
représentant
un
ensemble
E i de relations
d'écoulement. dans ce premier cas on étiquette chaque arc (Pj.ti) de la transition
ti par une fonction
domaine(FL) [ x domaine(CL) ]
qui associe à chaque relation d'écoulement ell; E Ej
un identifiant de file dans Pj
et éventuellement une classe de transaction.
Par défaut.
les
arcs sont étiquetés

Ch. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
9
par
la
fonction
identité.
Pour
une
relation
d'écoulement
ek'
ces
fonctions
définissent
donc
les
files
d'allente

les
transactions
doivent
être
sélectionnées, et éventuellement la classe
d'appartenance de ces
transactions.
Dans la figure 4.1
par exemple, la transition tl représente
six
relations
d'écoulement
de
flux
désignées
par
:
(stock 1 ,c 1)' (stock2 ,c 1)' (stock3 ,c 1)'
(stock l ,c2)' (stock2 ,c2)' (stock3 ,c2)' Ces relations d'écoulement sont définies par
l'ensemble El. A partir de l'étiquetage des arcs (PI,tl) et (P2,t1)' on peut
déduire
qu'une
relation
d'écoulement
(stocki.cj) utilise une
transaction
dans
la
file
stock 1 de la place Pl
(c.f. définition de la fonction <p 0), et une transaction dans
la file stocki de la place P2 ( l'arc (p2,t1) est étiquetée par la fonction identité).
Dans les deux cas, la transaction sélectionnée doit appartenir à la classe Cj'
PG~FIFO,BS=4
PG=FIFO,BS=8
PG-RAND,BS=IO
ECOU..EMENTS DE R.UX
El = ( slod<l, c] 1 AveC I€ (1,3)
J €
(1,2)
,IDY,PR-2
DEFINITION DES FONCTIONS
'1'0 (.tockl, cj)....
FL=.tock1, CL=c]
'1' 1 (.tockl, cl)
FL=.,ock1
'1'2 (stocki, cl)
FL=.tockl, CL=c].1
Figure 4.1
bl Les critères de sélection définis par les étiQuettes associées aux arcs
Cette
deuxième
méthode de
désignation
des
transactions en
entrée d'une
relation
d'écoulement
de
flux
consiste
à associer à plusieurs
arcs entrant une
étiquelle
commune.
Par
convention,
nous
retiendrons
que
la
syntaxe de
celle
étiquelle est 'ID' suivi d'une lellre quelconque. De cette façon, on indique qu'à
chaque
sélection,
les
identifiants
des
transactions
sélectionnées
dans
les
files

Ct. 4: LA MODELISATION DU FLUX D'ACITVITE
Page:
10
d'attente
liées
aux
arcs considérées
doivent
toujours être égaux
entre
eux.
Si
dans les files considérées, il existe à la fois des files AFO ou LIFO et RAND, les
transactions doivent être sélectionnées dans les files RAND de manière à ce que
leur identifiant soit le même que celui des
transactions en tête ou en queue des
files AFO ou LIFO.
Si nous revenons à l'exemple précédent de la figure 4.1,
l'étiquetage de
l'arc (P3' tl) permet de déduire
qu'une relation d'écoulement de flux (stock i,Cj)
utilise en plus une transaction dans la file stock l de la place P3 (c.f. définition
de la fonction
<p 1 associée à l'arc (P3' tl»' L'arc (P3' tl)
ayant
une étiquette
commune
avec
l'arc
(PI' tl)'
et la politique de gestion des files associées à la
place P3 étant RAND, cette transaction doit être choisie de manière à ce que son
identifiant soit égal
à l'identifiant de
la transaction
sélectionnée en
tête de la
file stock 1 de la place PI'
cl
Extension
des
deux
méthodes
de
dési&natjon
pour
la
caractérisation
des
transactjom. à
produire
En
utilisant
la
même
notation,
on
peut
définir
les
caractéristiques
des
altributs des transactions à produire dans les files de sortie lors d'un écoulement
de flux:
Les fonctions
associées aux arcs en
sortie d'une transition définissent en
fonction
de
la
relation
d'écoulement
la classe
des
transactions
à
produire
et
l'identifiant des files où ces transactions doivent être produites.
Les étiquettes 'ID_' associées aux arcs en sortie permeltent de déterminer
les identifiants des transactions à produire dans les files de sortie qui leur sont
associées. Si une étiq uette apparaîssant sur un
arc de sortie apparaît également
sur un arc en entrée de la même transition, alors l'identi fiant de la transaction
en sortie
prend
la même valeur que
l'identifiant de
la transaction
sélectionnée
en entrée. Si au contraire l'étiquetle associée à un arc de sortie n'apparaît sur

Ch. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
Il
aucun
arc
d'entrée de la même
transition,
un
nouvel
identifiant est
associé
à
toute
transaction
à
produire
dans
la
file
de
sortie
correspondante.
Si
celle
étiquette apparaît sur d'autres arcs de sortie, le même identifiant est chaque fois
affecté à toutes
les transactions à produire dans les différentes files de
sortie
correspond an tes.
Enfin, on peut en plus associer à un arc de sortie la priorité qui doit être
affectée aux transactions, la priorité par défaut étant O.
Dans
l'exemple de
la figure 4.1,
l'étiquetage de l'arc (tI,P4)
permet de
déduire
qu'une
relation
d'écoulement
de
flux
(stocki,cj) produit dans la file
stock i de la place P4 une transaction de priorité 0 et de classe Cj+ 1 ayant le même
identifiant que la transaction sélectionnée dans la file stock 1 de la place PI' De
la même façon,
l'étiquetage de l'arc (tl'PS)
permet de déduire qu'une
relation
d'écoulement
de
flux
(stocki,cj) produit dans la file stock 1 de la place Ps une
transaction de priorité 2 et de classe Cj+ 1 ayant un nouvel identifiant .
4.3.4
SYNCHRONISATION DU FLUX D'ACTIVITE A L'EVOLUTION DE LA
COMMANDE
Comme nous l'avons déjà indiqué, le but essentiel de la modélisation du flux
d'activité
est
de
permettre
la
collecte
de
statistiques
lors
de
la
simulation
conJomte de la partie commande et de la partie opérative d'un atelier. Pour cela,
il est indispensable de préciser en plus les liens qui doivent exister entre les
écoulements de flux possibles dans le réseau de files d'attente, et les événements
de la partie commande. Ces liens sont précisés en associant à chaque transition
du réseau de files d'attente, des transitions et/ou des événements
apparaîssant
dans
le
réseau
de
la
partie
commande.
Par
convention,
nous
noterons
cette
association par LN.

Ch. 4: LA MODELISATION DU FLUX D'ACflVITE
Page:
12
4.3.5 EVALUATION DU MODELE PAR RAPPORT AUX RdP
Le
modèle
que
nous
venons
de
présenter
pour
la
description
du
flux
d'activité est très voisin des RdP colorés. La différence tient essentiellement au
fait que. dans ce modèle. les marques sont
traitées dans les places comme dans
des files d'attente. Il en résulte deux avantages : d'une pan la cohérence entre
les
différents
formalismes
que
nous
utilisons.
et
d'autre
pan
la
clané
et
la
concision qu'apportent les descriptions à l'aide de files d'attente.
A titre d'illustration. la figure 4.2 représente à l'aide de ce modèle une file
d'attente de taille 3. gérée selon la politique FIFO. et où peuvent transiter deux
types de transactions (c et c'). La représentation de la même file à l'aide d'un RdP
ordinaire et d'un RdP coloré figure en annexe A.
chapitre A.7. Comme on peut le
constater.
la
spécification
d'une
file
d'attente
à
l'aide
d'un
RdP
conduit
à
spécifier distinctement
les
contraintes
de
progression
à
chaque
position
de
la
file.
Il
s'ensuit
que
dans
le
réseau.
les
places
n'ont
pas
toutes
la
même
signification.
Elles servent soit à représenter une position dans
la file.
soit au
contrôle de la progression dans la file. Ceci est de nature à réduire la lisibilité de
la spécification d'un réseau de files d'attente.
Figure 4.2
4.4 EXEMPLES
Nous illustrons la démarche de modélisation du flux
d'activité à l'aide de
trois exemples. Pour chacun de ces exemples. nous exposons d'abord le problème
en
termes de dimensionnement avant d'aborder sa modélisation.

Ch. 4: LA MODELISATION DU FLUX D'AcnVITE
Page:
13
4.4.1 L'EXEMPLE DE L'ATELIER DE BOBINAGE (c.r. section 2.6.2)
Dans cet exemple, si le nombre de bobinoirs par métier est trop important,
les
systèmes
embarqués
ne
seront
pas
en
mesure
de
répondre
à
temps
aux
requêtes de coupe de fil. A ['inverse. si le nombre de bobinoirs par métier est
très faible, les systèmes embarqués seront sous utilisés. Le problème ici est donc
de déterminer le nombre de bobinoirs à prévoir par métier pour éviter une sous
exploitation
des
systèmes
embarqués,
tout
en
garantissant
des
délais
raisonnables
pour
le
traitement
des
bobines
qui
arrivent
à
leur
position
nominale. La description du flux d'activité de la figure 4.3 permet de résoudre ce
problème. Au cours d'une simulation conjointe de la partie commande et de la
partie opérative d'un métier, elle permet d'obtenir des
statistiques sur le temps
de réponse du système embarqué
aux
requêtes de coupe de
fil.
La place ppl
modélise une file d'attente de taille
pour chaque bobi.noir. Lorsqu'une bobine
arrive à sa position nominale sur un bobinoir i (ce qui correspond à l'occurence
de
l'événement
T
Efbob[i]). une
transaction
est
introduite
dans
la
file
i en
franchissant
la transition
ttl(i). La prise en compte de cette nouvelle situation
dans la partie commande par le tir de la transition tll (Efbob[iJ)
provoque
le
retrait de la transaction de la place pp!.
l111 FA=(I).LN-~EIbob[I))
pp1
PG=FFO.1ISo 1
112
FA=(,). LH=(111(EIbob(IJI)
Figure 4.3
4.4.2 L'EXEMPLE DU CONVOYEUR
Cet exemple [ Alla 86 1 concerne une section de travail que l'on peut
retrouver
dans
divers
types
d'ateliers.
Cette section
permet
l'usinage
de
trois
types de pièces nécessitant trois types de postes de travail différents. On souhaite
disposer les postes de travail de part et d'autre d'un convoyeur central qui sert à

Ch. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
14
l'acheminement des pièces (fig 4.4). Pour éviter la congestion de ce convoyeur
central,
des
stocks
intermédiaires sont prévus
au
niveau
de chaque
poste.
Le
problème pour ce type d'organisation est double
- Déterminer le nombre de postes de travail de chaque type, et la taille des stocks
intermédiaires,
qui
permettent
d'éviter
tout
ralentissement
des
autres
sections
situées en amont et en aval, pour un ordonnancement des pièces en entrée.
- Garantir un bon niveau du taux d'utilisation des postes.
POSle 2
Poste "
D
D
T"~~r:--:~
D
D
Poete
1
POSle
3
Figure 4.4
Ce
problème
peut
être
résolu
par
une
série
de
simulations
du
fonctionnement
de
l'atelier.
Sans faire
au
départ
d'hypothèse
sur la
taille des
stocks
intermédiares,
on
recherche
le
point

la
diminution
du
nombre
de
postes n'influe plus sur ['amélioration de leur taux d'utilisation. et où le temps de
transit
des
pièces
dans
la
section
commence
à croître
de
façon
sensible.
On
obtient ainsi non seulement le nombre de postes de travail à prévoir, mais aussi
la taille des stocks intermédiaires qui correspond à la plus grande taille observée
pendant
la
simulation.
La
figure 4.5
décrit
le fonctionnement
de
la
section
à l'aide d'un
RdP
coloré, en confondant partie commande et partie opérative [ Alla 86 ] :

01.4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
15
Les couleurs mi servent à différencier les
postes d'usinage et les pièces (par
rapport aux postes où elles doivent être usinées).
Les couleurs ej
identifient les différentes portions du convoyeur.
-
Les
places
P3, P4
et
les
transitions
tl' t2' t3
décrivent
les
règles
de
synchronisation liées à l'évolution des pièces sur le convoyeur selon le principe
FIFO (cf. section A.7).
- Les places Ps et P6
modélisent les stocks intermédiaires des postes de travail.
Ces stocks sont de capacité inconnue à priori.
- Les marques dans la place Pg servent quant à elles à modéliser des postes en
cours d'usinage, et les marques dans la place P7 des postes en attente.
lWlCUAGE NTIAI.
.
1I(p3)_ loi
1111>7)-
1 ml
j_1
1.'
ENBB..E llESCXUEUlS
( IN, O{, <!!Il. op l
'1 'l',n) 1 '11,01)
C _ 1<1111, op l' 1 •
l',n) 1<lI ,01)
Ill. (cll'll,1NI> J'Y l " t1.n)
D.C·II
DEFNTION DES FONCTIONS
'1011.0{) •
0{
u (mf) • ml. '1
D 1011,00 •
lN,o{.1
v {"'~ • ml, em
pli
h 1011,00 •
ml
Figure 4.5

Ch. 4: LA MODELISATION DU FLUX D'AcrIVITE
Page:
16
Ce réseau peut être transformé de façon très simple en une description du
comportement du
système de commande (c.f.
figure
4.6), et complété par une
description du
flux d'activité (c.f. figure 4.7). Dans la figure 4.7. pour chaque
type de pièces. une file FIFO est associée à chaque place. Les
places pp3. (pp2.
pp4), et
pp6
permettent ainsi
d'obtenir des
statistiques
respectivement sur le
taux d'utilisation des postes de travail, la taille des stocks intermédiaires. et le
délai de transit des pièces.
p3
llAROUAGE INl1lAt
.
1I(p3). Io,
1I(p7) =
l mi
1.'
1·'
BIElB..E ŒSCXlUBJRS
{ml.oI.<mi,oj>}
Vi. (I,n) 1.(I,m)
C • ( <mi. oj> IV i '
(I,n)
J .(I,ml
D.C·II
llEFNTIJN DES FONCTIllNS
1 (mi,oD

oj
• (ni) • ni. 01
9 (mI,oj) •
ni,oj+ 1
• (ml) = ni, Ml
h Iml.oD • ni
p9
VARIAB.ES OENTREE
t_
Eldop:
[Lml d I l _
EldIp{i}::Yrai si fin de déplacemenl IUr la pottion i du convo,eur
VARIAIll.ES DE SORTE
Adop:'"*""II ..m}do-'
AdIIp[i]:=yrai décllnche un d'ph.alment . . la pol1ion i
AB": , _ . [Lrnj d o - '
Aarr:=YI'8.1 déc:Ienc:he un arrêt ...u la pottio" i
Figure 4.6

Ch. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
17
FA·lm'), LN.II1(ml»
PG-FIFO. BS- 110
., ,IDX
FA-l..,. l1'I-(I6(M»
CO,IOX
MM en lIt18nIe
dans un slock

PG-FFO, es- DO
IntermédiAire
'ox
d'enlrée
FA·lml). LN-I'8(ml»
}
,OX
8501
Usinage
IOX
}
FA_(ml),LN·lt7(ml»)
IOX
..._
en attente
PG-FFO. BS-
dans un 810Ck
DO
Interm.dlalre
CO, 'OX
de sort!la
FA.("'. LN.~5(..,)
}
CO ,IOX
PG-FIFO, BS- DO
IOX
FA_lmQ, LN.I"lm'»
NB.: ., (ml,_n _
FL.ml
Figure 4.7
4.4.3 L'EXEMPLE DU SERVEUR DE POSTES D'USINAGE
Nous
présentons
un
troisième
exemple
qui
illustre
bien
l'intérêt
de
la
démarche lorsque le problème du choix
de la stratégie de
pilotage se pose.
Il
s'agit d'une section
composée de postes de travail identiques disposés de part et
d'autre
d'une
voie
centrale.
Des
chariots
filoguidés
se
déplaçant
sur
la
voie
alimentent ces postes de travail en pièces non usinées en échange de pièces déjà
usinées. Sachant qu'il n'existe pas de stocks intermédiaires au niveau des postes
de travail.
qu'un
chariot ne peut transporter qu'une
pièce à la
fois.
et qu'une
pièce ne doit être usinée qu'une seule fois. Je problème ici est de déterminer le
nombre
de
postes
de
travail
et
une
stratégie
de
desserte.
qui
permettent
d'optimiser le temps de transit des pièces. et le taux d'utilisation des postes.

Ch. 4: LA MODELISATION DU FLUX D'AcnVITE
Page:
18
Deux
stratégies
de
desserte
peuvent
être
envisagées.
Lorsqu'un
chariot
arrive
à
la
station
d'arrêt
d'un
poste.
la
stratégie
la
plus
naïve
consiste
à
desservir en
priorité
ce
poste
s'il
n'est
pas
en
cours
d'usinage,
ou
dès
que
l'usinage en cours se termine, puis à ne faire avancer le chariot que dans les
deux cas suivants :
-Le
chariot
est
chargé
d'une
pièce
usinée.
et
la
station
d'arrêt
suivante
est
dégagée.
-Le chariot est chargé d'une pièce non usinée. le poste est en cours d'usinage. et
la station d'arrêt suivante est dégagée.
La
figure
4.S
présente
la
spécification
du
système
de
commande
correspondant à cette stratégie :
-Les
couleurs
mi
servent à distinguer les marques correspondant à des
pièces
non usinées. des marques correspondant à des pièces usinées.
-Les couleurs ei identifient les postes de travail.
-Les
places
P3' P4' P5
et les transitions tl'
t2.
t3
décrivent
les
contraintes
d'évolution des chariots sur la voie selon le principe FIFO.
-La place P6 sert à modéliser l'arrivée des chariots aux stations d'arrêt des postes.
Le marquage de la place PS indique les postes en cours d'usinage, et le marquage
de la place P7 les postes en attente.
Lorsqu'un chariot arrive dans une station.
trois cas
peuvent se produire
: la transition
t5
est franchie si
le chariot est
chargé d'une pièce usinée. La transition t7 est franchie si le chariot est chargé
d'une pièce non usinée. et si le poste est en cours d'usinage et la station d'arrêt
suivante
dégagée.
Enfin.
la
transition
t6 est franchie
si
le chariot est chargé
d'une pièce non usinée. et si le poste n'est pas en cours d'usinage.

Ch. 4: LA MODELISATION DU fLUX D'ACTIVITE
Page:
19
IWlOOAGE NmAL
n
lIIP3). IIj
lI(P71'
Ioj
1_1
1_1
{lni, oj,<Oj. 1IIi»
Vi. (1,n) j'P,In)
RN:TDlS
t(oj,rni) • oj
ulrnol • 01, Ini
Dloj, In~ • oj+1, Ini
w(rni) • om, Ini
11(011 • oj, 1n2
V~D9IlI&
Eldop: - I I ..'" do-'"
~oiroq...
_ l l a _ i
Elodl : _
[1...) do-'"
EIocI+woi roq...
lin d~ lia . . . i
VARIAIl.ES DE SORTE
A8nd:1_11.IIjdo-...
~_
ontIl la ""'ion i
Adop:_~.."'do-'"
~_
~ .... lalltltioni
_:_IL.)do-'"
AocI'liI_
..'Ido-'"
~lla_i
_ : _ ~
AonoIil_ino
~lla_i
Figure 4.8
MARQUAGE .,rrlAl
" "~
tB}
Figure 4.9
-Les places P9' PlO et les transitions t9' tlO
décrivent la procédure d'échange,

Ch. 4: LA MODELISATION DU FLUX D'ACTIVITE
Page:
20
Une
autre stratégie
peut consister à ne faire
avancer un
chariot que si
['on est sOr de trouver un poste en attente en amont. Ceci équivaut à compléter le
réseau de la figure 4.S par les contraintes exprimées dans le réseau de la figure
4.9. Si n désigne le nombre de postes, pour une station d'arrêt de rang i, la place
p Il contient au dépan n - i marques, chaque marque correspondant à un poste
en attente en amont. Si un chariot arrive à cette station. la transition t7
n'est
franchie que si en plus toutes ces marques n'ont pas déjà été consommées. Par
ailleurs.
tout
franchissement
de
la
transition
ts
correspondant
à
une
fin
d'usinage dans un poste, produit une marque dans p Il pour ce poste et pour tous
les postes situés en aval.
La figure 4.10 correspond à la description du flux d'activité dans la section
de travail.
Cette description
peut être utilisée pour évaluer les deux
stratégies
présentées plus haut.
Chaque file d'attente de la place pp2 permet d'indiquer la
présence d'une pièce devant un poste de travail. le passage d'une pièce d'une file
à une autre étant modélisé par le tir de la transition tt3. Par ailleurs. chaque file
d'attente de la place pp3 permet d'indiquer la présence d'une pièce dans un poste
de travail, et les tirs de la transition tt4 de modéliser la procédure d'échange
d'une pièce.
Enfin,
les
transactions contenues
dans
la
file
d'attente
modélisée
par
la
place
pp 1 correspondent
à
tout
instant
aux
pièces
présentes
dans
la
section. De ce fait, la place PPI
permet d'obtenir des statistiques sur le temps de
transit des pièces, et la place Ps (fig. 4.9) des statistiques sur le taux d'utilisation
des postes.

Ch. 4: LA MODELISATION DU FLUX D'ACIlVrrE
Page:
21
PG-RAND, BS-n
~l
FA-(ej,ml),LN-(t2(eJ,ml)
tt3
IOX
v,tDX
pp2
FA-(m2),LN-(t3(m2»
FA-(ej,ml ),LN-(t6(ei,ml»
IOX
pp3
MARaUAGE INITIAL
M(ppl) -
1: ml
,
M(pp3) -1: (ej,m2)
J-'
DEFINITION DES FONCTIONS
g(ej,ml) -> FL_e]+l, CL_ml
u(ml) -> FL-el, CL-ml
v(m1) -> FL_en, CL_ml
W(m1) -> FL-el, CL-ml
z(eJ,m1) -> FL_ej, CL-m2
Figure 4.10



Ch. 5: LES Ourn.s D'AIDE A LA CONCEPTION: GENERALITES
Page :
Chapitre 5
LES OUTILS D'AIDE A LA
CONCEPTION:
GENERALITES

Ch. 5: LES OUTILS D'AIDE A LA CONCEPTION: GENERALITES
Page:
2
PLAN
Page
5.0 INTRODUCTION
5/3
5.1 LA CERTIFICATION A POSTERIORI
5/3
5.2 LA CERTIFICATION A PRIORI
5/4
5.3 LES ALGORITHMES DE SYNTHESE
5/6
5.4 LE PROTOTYPAGE RAPIDE
5/7
5.5 L'APPROCHE ADOPTEE
5/8




Ch. 5: LES OUI1LS D'AIDE A LA CONCEPTION: GENERALITES
Page :
3
5.0 INTRODUCTION
Nous
consacrons
cette
deuxième
et
dernière
panie
du
mémoire
à
la
présentation
des
principes
de
deux
outils:
PETRI-C et
PETRI-S.
Ces
outils
complètent
les
modèles
présentés
dans
la
première
partie
et
permettent
d'aborder
la
conception
d'un
système
de
commande
avec
toute
la
rigueur
qu'impose
ce
type
d'application.
PETRI-C
aide
le
concepteur
à
décrire
le
componement de son système avec de bonnes propriétés. et PETRI-S à vérifier
que cette description est conforme au service attendu.
Dans le présent chapitre. un survol des diverses formes
que prennent de
façon
générale
les
outils
d'aide
à
la
spécification
nous
permettra
dans
un
premier
temps
de
bien
situer
nos
propositions
par
rappon
à
l'état
de
l'an.
Ensuite.
nous
présenterons
sommairement
PETRI-S
(décrit
de
façon
plus
détaillée dans [ Boudebous 88 D. avant d'aborder dans les chapitres 6 et 7 la
présentation des principes de PETRI-C.
5.1. LA CERTIFICATION A POSTERIORI
La
cenification
à posteriori
constitue
l'approche
la
mieux
connue et
la
plus
générale
pour
garantir
formellement
les
propriétés
d'un
logiciel.
Dans
cette
approche.
le
concepteur
commence
d'abord
par
construire
de
façon
empirique sa spécification.
Un
système
de
preuve
lui permet alors ensuite. de
raisonner
sur cette
spécification
et
de
vérifier
formellement
cenaines
de
ses
propriétés.
FLoyd [ Aoyd 68 ] et Hoare [ Hoare 69 ] ont été parmi les premiers à poser
les
fondements de cette méthode selon une approche axiomatique. en proposant
une
axiomatisation
des
langages
qui
permet
de
conduire
des
preuves
sur
Ics
propriétés
liées à la
sureté de fonctionnement
des programmes
séquentiels. Par
la
suite.
d'autres
travaux
étendront
cette
méthode
aux
systèmes
parallèles .[
Owicld 76 1
[Keller 76
Lampon 80 ] à la vérification d'autres classes de
propriétés telles que celles liées à la vivacité [ Pnueli 81 1 [ Manna 82 ] [ Owiclc:i

Ch. S: LES OUTll.S D'AIDE A LA CONCEPTION: GENERALITES
Page :
4
82 J • puis l'adapteront aux démarches de conception descendantes et ascendantes
[ Milner 80 J [ Lamport 83 J [ Chen 83 J [ Chandy 86 J.
L'inconvénient majeur de ce type de méthode
réside essentiellement dans
le
fait
que
l'exhibition
d'une
preuve
reste
très
intuitive
et
difficilement
mécanisable. De ce fait,
la certification des propriétés d'un logiciel ne peut se
faire qu'au prix d'une baisse considérable de productivité.
Les
techniques
de
vérification
des
propriétés
d'un
RdP
fondées
sur
l'analyse
des
marquages
accessibles,
ou
sur
l'algèbre
linéaire.
procède de
la
même démarche. Comme nous l'avons indiqué en annexe A. ces techniques sont
mécanisables.
mais
ne sont malheureusement pas
toujours
applicables.
5.2. LA CERTIFICATION A PRIORI
A
l'inverse
des
méthodes
fondées
sur
la
certification
à
posteriori.
les
méthodes
qui
se
fondent
sur
la
certification
à
priori
visent
à
imposer
une
discipline
qui
garantit
par
construction
les
propriétés
d'une
spécification.
L'intérêt primordial de telles méthodes réside dans le
fait qu'elles évitent ainsi
au
spécifieur les étapes délicates de validation tout en
lui
permettant de se
rendre
compte
le
plus
tôt
possible
des
incohérences
dans
ses
intentions.
En
contrepartie. ces méthodes induisent en général une limitation quant à la classe
des problèmes que l'on peut ainsi spécifier.
C'est essentiellement, autour des RdP que la certification à priori s'est le
plus
développée.
Valette [ Valette 76 J , [ Valette 79 J a été parmi les premiers à aborder ce
type de problème en proposant pour deux RdP R et R'. une condition nécessaire
et suffisante pour qu'une substitution d'une transition de R par R'
préserve les
propriétés
de
R.
Les
réseaux
qui
satisfont
cette
condition
sont
appelés
respectivement
"réseaux
bien
formés"
et
"blocs
bien
formés".
Ainsi.
par
exemple,
tout
réseau
complexe construit par raffinements
successifs du
réseau
embryon bien formé de la figure
S.l, en utilisant les blocs bien formés de la

Ch. 5: LES OUTILS D'AIDE A LA CONCEPTION: GENERALITES
Page:
5
-------------------------------------------------------------------
figure 5.2, est assuré d'être comme le réseau embryon, sain et vivant. (On notera
le
parallèle
entre
les
blocs
bien
formés,
et
les
structures
de
contrôle
habituellement proposées pour
la
programmation structurée).
Le
théorème de
la
substitution proposé dans [André 81]
généralise cette approche.
0-
Figure 5.1
"Séquence"
"Si-sinon"
"Tantque"
"Cobegin-coend"
Figure 5.2
On retrouve dans [ Berthelot 85 bl une
approche similaire fondée sur les
règles de réduction. Ces règles qui sont en général utilisées pour réduire les RdP
afin
de
les
rendre
plus
facilement
analysables,
peuvent
aussi
servir comme
outils de raffinement.
Ainsi, partant d'un RdP embryon spécifi ant le service que
doit
assurer
un
protocole de
communication,
Berthelot
montre comment
il
est
possible
de
le
transformer
par
affinements
successifs
pour
tenir
compte
des
erreurs de transmission et de leur recouvrement,
tout en garantissant le même
service ct les mêmes
propriétés que le
réseau
embryon.
L'inconvénient majeur
de cette approche
réside essentiellement dans le
fait
qu'elle nécessite
un effort
intellectuel
important, les règles de réduction n'ayant pas été conçues au départ
pour servir
à
la
description du
séquencement
des
opérations.
En
contrepartie,

Ch. 5: LES OUTILS D'AIDE A LA CONCEPflON : GENERALITES
Page:
6
elle garantit
la construction d'une classe importante
de
RdP,
les
RdP vivants
persistants
et
bornés,
ce
qui
est
d'un
intérêt
réel
pour
certains
types
d'applications.
Une
autre
approche
non
moins
intéressante
consiste
à
exploiter
les
propriétés des règles de réduction conjointement avec le théorème de Commorer
[Commoner 72 J. Comme nous l'avons indiqué en annexe A (chapitre A.4), ce
théorème donne
sur des bases structurelles une condition de vivacité pour des
classes
particulières
de
réseau.
Ainsi,
on
peut
étendre
les
primitives
de
raffinement proposées dans ( Valette 76 J , [ Valette 79 1 à d'autres types de
primitives
dont
la
vérification
des
conditions
d'application
se
fonde
sur
ce
théorème. C'est l'approche retenue dans ( Guyot 87 J pour décrire en deux étapes
principales la dynamique des systèmes d'information.
Dans une première étape,
les
primitives
"séquence",
"parallélisme",
"simultanéité"
et
"précédence"
permettent
de
raffiner
un
réseau
embryon
(cf.
Figure
5.1),
en
un
graphe
d'événements.
L'existence
d'une
condition
nécessaire
et
suffisante
de
vivacité
pour ce
type de
réseau
(c.f.
annexe
A
chapitre
A.4)
permet
au
cours
du
raffinement
de
vérifier
que
l'application
des
primitives
"simultanéité"
et
"précédence"
préservent
la
vivacité du
réseau. Le
graphe
d'événements
obtenu
est
alors
ensuite
raffiné
à
son
tour
en
utilisant
les
primitives
"séquence",
"parallélisme" et "alternative" qui préservent la vivacité de tout réseau.
5.3
LES ALGORITHMES DE SYNTHESE
D'autres classes de propositions visant à apporter une aide au spécifieur se
fondent
sur
des
algorithmes
de
synthèse
qui
permettent
de
transformer
globalement
une
spécification.
Dans certains cas
le but poursuivi est de retranscrire une spécification en
améliorant
ses
Qualités
techniQues
sans
modifier
les
aspects
essentiels
du
comportement
décrit
Ainsi
par exemple, on peut chercher à transformer une
spécification non
exécutable,

les
règles
de
calcul
sont
implicites,
en
une
spécification

Ch. 5: LES OUTILS D'AIDE A LA CONCEPJ10N : GENERALITES
Page:
7
exécutable où ces règles sont exprimées de façon plus explicite.
C'est le cas par
exemple dans [ Manna 84 J où l'on propose un algorithme fondé sur le calcul
propositionnel
permettant
de
passer
d'une
spécification
de
comportement
exprimée
en
logique
temporelle.
à un
module
de
synchronisation
de
tâches
parallèles en CSP [ Hoare 78 J .
Dans le même esprit. on peut chercher à intégrer dans une spécification
opérationnelle
décrivant
la
logique
des
interactions
dans
l'univers
d'un
problème,
différentes
contraintes
d'implémentation
(contraintes
de
performance,
contraintes
de
répartition,
contraintes
de
robustesse
et
de
maintenabilité, etc ... ) [ Jackson 78 J
[Sintzoff 79 J
[Mahadevan 83 J [Zave 84 J [
Zave 85 J [ Hikita 85 J.
D'autres
propositions
fondées
sur
le
même
princjpe
conduisent
un
enrichissement de la IOBigue de base de la spécification initiale
On
peut
citer
par
exemple
[
Ramamoorthy
85
J où
l'on
propose
un
algorithme
(applicable
dans
la
conception
d'un
protocole
de
communication)
qui permet de dériver le comportement d'une entité distante à partir d'un RdP
décrivant le comportement du
partenaire de communication
de cette entité, ou
encore
[ Zaffiropulo
80
J , où l'on propose la synthèse des opérations de
réception dans une description
incomplète de
protocole.
5.4 LE PROTOTYPAGE RAPIDE
On peut enfin citer les différentes formes d'aide au prototypage rapide qui
permettent au concepteur d'aborder la clarification des besoins exprimés par les
utilisateurs et de mettre au point sa spécification [ Floyd 84 J [ Lee 85 J
Kemmerer 85 J.

Ch. 5: LES OUTILS D'AIDE A LA CONCEPTION: GENERALITES
Page:
8
5.5 L'APPROCHE ADOPTEE
L'approche que
nous
adoptons
s'appuie
à
la fois
sur le principe de
la
cenification à
priori, sur celui
des
transformations
de
spécification, et sur le
prototypage
rapide.
Elle
~st particulièrement bien adaptée à notre démarche
globale
de
conception
fondée
sur
une
séparation
très
franche
entre
la
description du componement externe d'un système de commande, et le choix de
sa
structure
interne.
Au niveau conceptuel, cette approche aide le concepteur à construire
un
réseau global décrivant le componement externe de son
système de commande
avec de bonnes propriétés, puis au niveau organisationnel,
à
transformer (sur
la base des choix de regroupement des entrées et des sonies) ce réseau global en
sous-réseaux
pouvant
être
répanis
sur un
réseau
de
processeurs
communicant
par
échanges
de
messages.
Ainsi,
le
concepteur
peut-être
dispensé
de
la
vérification de cenaines propriétés de la spécification du comportement externe
de son système, de la transformation de cette spécification en une spécification
décrivant
le componement
interne de
ce système, et de
la vérification de
la
cohérence entre ces deux
spécifications.
A chacune des deux étapes, un prototypage rapide permet de vérifier par
simulation
[ Boudebous 88 1 la conformité du
fonctionnement
du
système par
rappon aux besoins exprimés par l'utilisateur, et d'évaluer les performances de
l'activité
commandée
sous
différentes
hypothèses,
en
s'appuyant
sur les
trois
modèles présentés dans la première panie :
- La description du componement du système de commande
- La modélisation du flux d'activité
- Et la modélisation du comportement de l'environnement
Dans ce qui suit, nous abordons tour à tour les principes de raffinement et

Ch. 5: LES OUTILS D'AIDE A LA CONCEPrION : GENERALITES
Page:
9
de
synchronisation
qui
permettent
de
construire
progressivement
un
réseau
global
décrivant
le comportement
externe
d'un
système
de commande
avec de
bonnes propriétés (chapitre 6), et les principes de décomposition qui permettent
de
transformer
ce
réseau
global
en
sous-réseaux
décrivant
le
comportement
interne de ce système (chapitre 7).


01. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
1
Chapitre 6
AIDE A LA CONCEPTION
ru
COMPORlEMENT EX1ERNE

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
2
-------------------------------
------------------------------------------
PLAN
Page
6.0 INTRODUCfION
6/3
6.1 DEFINITION DES CONTRAlN1ES LOGIQUES DU SEQUENCEMENT
DES ORDRES EN SORTIE
6/3
6.1.1 Le réseau embryon
6/6
6.1.2 Les primitives de raffinement et de synchronisation
6/7
a) La primitive "séquence" (SEQ)
6/7
b) La primitive "alternative"
(ALT)
6/9
c) La primitive "répétitive" (REP)
6/12
d) La primitive "exclusion mutuelle"
(EXC)....................................
6/14
e) La primitive "précédence" (PRE)
6/16
f) La primitive "simultanéité" (SIM)
6/19
6.1.3 Les propriétés caractéristiques de l'embryon et des primitives..
6/21
a) Les propriétés de l'embryon
6/21
b) Préservation de la classe du réseau par SEQ, ALT et
REP
6/22
b) Préservation de la vivacité et du caractère conservatif
par SEQ. ALT, REP et EXC
6/22
d) Cas des primitives PRE et SIM
6/23
6.1.4 L'ordre d'application des primitives
6/25
6.2 PRISE EN COMPTE DES SYNCHRONISATIONS AVEC L'ENVIRONNEMENT
6/28
6.2.1 L'algorithme de transformation
6/29
6.2.2 Les propriétés du réseau transformé
6/35
6.3 ILLUSTRATION DE LA DEMARCHE SUR UN EXEMPLE
6/36
6.4 COMPARAISON AVEC D'AUTRES APPROCHES
6/46
6.5 LES EXTENSIONS POSSIBLES
6/48
6.5.1 Modélisation de l'état de l'environnement à l'aide
d'un automate
6/48
6.5.2 Composition de réseaux par fusion de places
6/50
6.5.3 Composition par fusion de transitions et substitution de
sous-réseau
6/53


Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
3
6.0 INTRODUCTION
Comme
nous
l'avons
déjà
souligné,
la
spécification
du
comportement
externe
consiste
essentiellement
à
définir
la
relation
d'ordre
qui
doit
être
maintenue
entre
les
événements
d'entrée
et
de
sortie
d'un
système
de
commande. Les principes de construction que nous présentons dans ce chapitre
ont pour objectif de contribuer à aider le concepteur à définir en deux étapes
cette
relation.
La
première étape est consacrée
à la définition
des
contraintes
logiques du séquencement des ordres en sortie, et la deuxième étape à la prise en
compte
en entrée des
contraintes de
synchronisation
avec
l'environnement.
L'aide que nous apportons au concepteur tout au long de cette démarche se
fonde
en
grande
partie
sur le
principe
de
la
certification
à
priori.
Elle
lui
permet de s'assurer de la vivacité du réseau qu'il est en train de construire, et
garantit
la
préservation
des
invariants
sur
le
marquage
des
places
qui
permettent
de
caractériser
la
sûreté
de
fonctionnement
de
son
système.
Par
ailleurs,
la
discipline
imposée
permet
de
guider
Je
concepteur
dans
son
raisonnement.
Les sections 6.1 et 6.2 sont consacrées à la présentation des principes de
construction ,et
la section 6.3 à l'illustration de la démarche sur un exemple.
Pour
terminer,
nous
comparerons
la
démarche
préconisée
aux
approches
évoquées
au
chapitre
5
(section
6.4), et
nous
discuterons
de
ses extensions
possibles (section 6.5).
6.1 DEFINITION DES CONTRAINTES LOGIQUES DU
SEQUENCEMENT DES ORDRES EN SORTIE
Dans
ce
qui
suit,
nous
désignons
par
"opération
élémentaire"
une
opération
de commande
impulsionnelle ou continue, ou
encore
l'opération vide
notée NOP (c.f section 2.4.2).

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
4
Soit
alors
Es
un
ensemble
d'étiqelles
représentant
l'ensemble
des
opérations élémentaires
d'un
système
de
commande
S.
Dans
la
démarche
que
nous présentons, les
contraintes logiques du séquencement des ordres en sortie
de S se définissent en construisant un réseau ordinaire étiqueté RE = < R; MO; Es'
e>
(c.r. annexe A chapitre A.5) dont le langage LE(R E ) définit l'ensemble des
séquences
d'opérations
élémentaires
que
le
fonctionnement
de
S
peut
logiquement
engendrer.
Pour constuire
RE'
le
spécifieur identifie
dans
un
premier temps
les
processus
séquentiels
de
l'atelier
qu'il
représente
par
des
réseaux
embryons
ayant de bonnes propriétés. Le détail de ces processus et leurs interdépendances
sont
ensuite affinés en appliquant dans un ordre prédéterminé :
-trois
primitives
de
raffinement
"La
séquence"
"L'alternative"
"La
répétitive"
-et trois primitives
de
synchronisation
"L'exclusion
mutuelle"
"La
précédence"
"La
simultanéité"
qui permettent de s'assurer de la préservation de ces bonnes propriétés .
Dans
cette
démarche
constructive qui
consiste
pour
une
grande
part
à
remplacer
récursivement
une
opération
macroscopique
par
une
séquence
d'opérations
plus
élémentaires,
le
théorème sur la substitution
d'une
transition
par un bloc constitue une résultat fondamental.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
5
Définition
D6.1: Substitution d'une transition par un block
[Valette 76]
Soit R' = < p'. T' ; Pre', Post' ; MO' > un RdP. R' est un bloc. ssi il ne possède
que
une
et
une
seule
transition
initiale (tini)'
et une et
une seule
transition
finale
(tnn)
(1)
Pre' C. tini) = O.
Post '(.• tini) > 0
(2)
Pre' (.• tfin) > O.
Post' C. trin) = 0
(3)
"1 te T - 1 !jni' tfin}:
Pré C. t) > O. Post' (., t) > O.
Soit R = < p. T ; Pre. Post; Mo > un RdP tel que
(4)
P n P' =cjl. TnT =cjl.
La substitution d'une transition ts e T par le bloc R' donne un RdP R" = < poo. T"
Pre". Post" ; Mo" > défini comme suit
(5)
P"=P+P'
(6)
T" =T - 1Is } + T
(7)
MO" =Mo + Mo'
(8)
"IteT-Its }:
Pre" (P. t) = Pre (P. t)
si
p e P
et 0 sinon
Post" (p, t) = Post (P. t)
si
peP et 0 sinon
(9)
"1 t e T - 1 tini' tfin } :
Pre" (P. t) = Pre' (p, t)
si peP' et 0 sinon
Post" (p, t) = Post' (P. t) si peP' et 0 sinon
(10)
Pre" (p. tini) = Pre (p, ts) si peP et 0 sinon
Post" (p, tini) = Post' (p. !jni) si peP' et
0
sinon
(II)
Pre" (p. tfin) = Pre' (p, tfin) si
peP' et
0 sinon
Post" (p. tfin) = Post (P. ts) si peP et 0 sinon. ~

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EX'rnRNE
Page:
6
Théorème T6 1
[Valette 76]
Si la transition ts vérifie la condition suivante
on
dit qu'elle n'est pas t-sensibilisée
simultanément avec
elle-même.
Dans
ces
conditions, dans Rn, si l'on franchit la transition tini' elle ne pourra plus être
franchie tant que tfin n'aura pas été franchie.~
Nous
abordons
à
présent
la
présentation
du
réseau
embryon,
des
primitives ,puis
de la grammaire du langage qui régit l'ordre d'application des
primitives.
6.1.1 LE RESEAU EMBRYON
Le réseau embryon est décrit par la figure 6.1. 11 est instanciable
à l'aide
de la primitive
et
sert à définir la spécification initiale d'un
processus séquentiel.
Dans cette
spécification
initiale,
le
processus
décrit
réalise
de
façon
répétitive
une
opération
0x
dite embryonnaire. A ce stade de la spécification, l'ensemble des
séquences
possibles
d'opérations du
processus
peut
donc
être
décrit
de
façon
triviale par le langage suivant :
L'objet
du
raffinement
sera
de
transformer
progressivement
l'opération
embryonnaire en opérations de plus en plus simples liées par des contraintes de
séquencement
jusqu'à
ce
que
chaque
opération
soit
une
opération
élémentaire,
et
l'objet de la synchronisation de définir les
contraintes d'entrelacement entre

Ch. 6: AlDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
7
les
opérations élémentaires des
différents
processus
séquentiels.
pxB- 4>b
Figure 6.1
6.1.2 LES PRIMITIVES DE RAFFINEMENT ET DE SYNCHRONISATION
a)
La
primitive
"séquence"
La primitive de
raffinement
"séquence". notée
SEQ (0". (0,,1; 0"2»'
permet
de
remplacer
dans
le
langage
décrivant
l'ensemble
des
séquences
d'opérations possibles d'un système de commande. les occurrences de l'opération
0" par deu" opérations 0" 1 et Olt 2 qui s'e"écutent dans un ordre décrit par :
pour réaliser la même activité que 0". (';' désigne ici la concaténation).
Définition 062
Soit RE =< R ; MO ; Es : e > avec R =< P. T : Pre. Post> un RdP étiqueté où
(0"
est
l'étiquette
d'une
transition
t" qui
n'est
pas
t-sensibilisle

01. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
8
simultanément
avec
elle
mime
et qui posûde
au
moins
une
place
en
sortie) .
L'application de la primitive SEQ (Ox' (Ox 1 ; 0xZ» sur RE transforme
ce
réseau en un réseau RE' = < R' ; Mo' ; Es' ; e' > avec R' = < P', T ; Pre', Post' > défini
comme suit:
(Z)
P' = P + ( psI
(Une nouvelle place
Ps est incluse dans P').
(Dans T' la transition t x est remplacü par deux nouvelles transitions
th et tf)
(4)
'" P €
P' : Pre' (P. th) = Pre (p. tx) si pEP et 0 sinon
(th reçoit en entrü
les
places qui étaient en entrü de tx )'
( 5 )
'" P €
P' : Post' (p, th) = 1 si P = Ps et 0 sinon
( th ne reçoit en sortie que la place ps).
(6)
'" P €
P': Pre' (p, tf) = 1 si P = Ps et 0 sinon
(tf ne reçoit
en entrü que la place
ps)'
(7)
'" P €
P' : Post' (p, tf) = Post (p, tx) si pEP et 0 sinon
(t f reçoit en sortie les places qui üaient en sortie de t x)'
(8)
'" tE T-(th' tfl. '" p €
P': Pre' (p, t) = Pre (p. t) si
pEP et 0
sinon
Post'(p,t) = Post (p,t)
si
pEP et 0
sinon
(Les
autres
transitions
ont
mêmes
places
en
entrü
sortie
dans
Ret
R').
(9)
'" p €
P' : MO' (p) = MO (p) si
pEP et 0 sinon.
(Le
marquage
initial de Ps est 0 ; les
autres places
ont
même
marquage
dans R et R')
(IO)
Es'=Es +(Oxl'OxZ1
(Le vocabulaire de RE' est üendu d 0x 1 et 0xZ)

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
9
(th et tf sont étiqueties respectivement par 0x 1 et 0x2'
(12)
li t E T - { lx } e' (t) = e (t)
(Les autres transitions sont étiquetées de la même façon dans
R et R'). @
L'application de
la primitive SEQ sur un réseau revient donc à substituer
un bloc à une transition comme indiqué
dans la figure 6.2.
th
1 f
Figure
6.2
La transition tx n'étant pas t-sensibilisée simultanément avec elle-même,
le théorème 6.1, nous assure que si la transition th est franchie, elle ne sera plus
franchissable
jusqu'à
ce
que
la
transition
tf soit franchie.
Par ailleurs, si
la
transition
th
est franchie, la marque produite dans la place Ps ne
permet
qu'un
seul tir de tf' On est ainsi assuré que l'image par e' de Pmj ( { th' tf }, L (R', MO'»
sera (Ox 1 : 0x2)··
b)
La
primitive
"alternative"
La
primitive
de
raffinement
"alternative",
notée

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
10
permet
de
remplacer
dans
le
langage
décrivant
l'ensemble
des
séquences
d'opérations possibles d'un
système de commande, les occurrences de l'opération
°x par deux opérations 0x1 et 0x2 qui s'exécutent dans un ordre décrit par
pour réaliser la même activité que 0x' ('1' désigne ici l'alternative).
Définition
D6 3
Soit RE =< R ; Mo ; Es ; e > avec R =< P, T ; Pre. Post > un RdP étiqueté où
( 1)
3 tx E T t.q e(lx) =0x, '" M E A(R; Mo): M < 2 • Pre(., tx)' ·tx ~ f2f, tx' ~ f2f
(0 x est
l'étiquette
d'une
transition
t x qui
n'est
pas
t-sensibilisée
simultanément avec
elle
mime
et qui posstde
au
moins
une
place
en
entrée et une place en sortie.)
L'application de la primitive ALT (Ox' (Ox 1 1 0x2» sur RE
transforme ce
réseau en un réseau étiqueté RE' = <R', MO' ; Es', e' > avec R' = < P'. T' ; Pre', Post' >
défini comme suit :
(2)
P'=P
( 3 )
T' =T - (tx ) + ( tx l' tx2 )
(Dans T' la
transition tx est remplacée par deux nouvelles
transitions
tx 1
et lx2)
(4)
Prc' (., txl) = Prc'(., tx2) = Pre (.. tx)
(tx l ,tx2 reçoivent en entrée les places qui étaient en entrée de lx)
(5)
Post' (.,
tx 1) = Post' (.. tx2) =Post (., tx)

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
I l
(lx 1 et tx2 reçoivent en sortie les places qui /!taient en sortie de tx)
(6)
V te T - ( lx l' lx2)
: Pre' (o. t) = Pre (o. t). Post' (.• t) = Post (o. t)
(Les autres transitions ont mimes places en entrl!e et en sortie dans R et
R')
(7)
MO'= Mo
(8)
Es' = Es + ( 0x l' 0x2 ) (Le vocabulaire Es' est /!tendu à 0x 1 et 0x2 )
(9)
e'(txl)=Oxl et e'(tx2)=Ox2
(txl et tx2 sont /!tiquetées
respectivement par 0x 1 et
0x2)
( 10)
V t e T - ( tx ) e'(t) = e(t)
(Les autres transitions sont /!tiquetées de la mime façon dans RE et RE ')o@
L'application de la primitive ALT sur un
réseau
revient donc à remplacer
une transition par deux transitions comme décrit dans la figure 6.3.
tx
lx 1
Figure 603
Tout
marquage
qui
rend
franchissable
tx 1 rend également franchissable
t x2' On est donc assuré que l'image par e'
de Proj «( tx 1• tx 2 ). L(R'; MO'» sera
(Oxl IOx2)'"

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
12
c )
La
primitive
"répétitive"
La
primitive de
raffinement
"répétitive",
notée
permet
de
remplacer
dans
le
langage
décrivant
l'ensemble
des
séquences
d'opérations possibles d'un système de
commande. les occurrences de
l'opération
°x par trois opérations 0x l' 0x2 et 0x3.qui s'exécutent dans un ordre décrit par
(Oxl ; 0x3* : 0x2) pour réaliser la même activité que 0x' (Ici également ';' désigne
la
concaténation.
'.'
indique
que
l'opération
0x 3
peut être exécutée zéro ou
plusieurs
fois).
Définition D6 4
Soit RE = < R ; MO ; Es ; e > avec R = < p. T ; Pre. Post> un RdP étiqueté où
(1)
3tx ET t.q. e(tx) =0x' '" ME A(R; Mo): M < 2· Pre ("lx), tx' # fi1.
(0 x est
l'itiquette
d'une
transition lx qui
n'est
pas
t-sensibilisü
simultaniment
avec
elle
mime
et
qui poss~de au
moins
une
place
en
sortie).
L'application de la primitive REP (Ox' (Ox 1 : 0x 3 * ; 0x 2» sur RE transforme ce
réseau en un réseau RE' = <; R' ; Mo' : Es', e' > avec R' = <; P', T ; Pre', Post' > défini
comme suit.
(2)
P' =P + ( Ps )
(P' contient en plus une nouvelle place
ps)
(3)
T' =T - ( tx ) + { th' lu, te 1
(Dans
T. t
est remplacie par trois nouvelles transitions
x
th' lu ettf)'
(4)
'" P €
p': Pre' (p. th) = Pre (p. lx)
si
pEP
et
0
sinon

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
13
( th reçoit en entrie les places qui itaient en entrie de tll )
(5 )
'V pEP' : Post' (p, th) = 1 si P = Ps
et 0 sinon
(th ne reçoit en sortie que
la place ps)
(6)
'V pEP' : Pre' (P. tf) = 1
si
P = Ps et 0 sinon
(tf ne reçoit en
entrie que
la place ps)
(7)
'V pEP' : Post' (P. tf) = Post (p, t ) si pEP et 0 sinon
ll
( tf reçoit en sortie les places qui itaient en sortie de t ).
ll
(8)
'V tE T - {In, th' tf}, 'V pEP': Pre' (p, t) = Pre (p. t) si pEP et 0 sinon
Post' (p. t) = Post (p. t) si pEP et 0 sinon
(Les
autres
transitions,
exceptie
ln, ont mimes places en entrie-sortie
dans Ret R')
(9)
'V pEP' : Pre' (P. ln) =1 si P =Ps et 0 sinon
(tn ne reçoit en entrie que
la place ps)
(IO)
'V pEP' : Post' (P. ln) = 1 si P =Ps et 0 sinon
( ln ne reçoit en
sortie que
la place ps)
(11)
Es' =Es + { 0lll' 0ll2' 0113 }
(Le vocabulaire Es' est étendu d 0lll' 0112 et 0ll3)
(th' tf et ln sont itiqueties respectivement par
0lll' 0112 et 0x3)
(13)
'V t E T - { tx } e'(t) =e(t)
(Les autres transitions sont itiqueties de la même façon dans RE et RE').18i
L'application
de
la
primitive
"REP"
sur
un
réseau
consiste
donc
à
remplacer une transition par un bloc comme indiqué dans la figure 6.4.

Ch. 6: AIDE A LA CONCEPTION DU COMPORlllMENT EXTERNE
Page:
14
th
Il
Figure
6.4
La transition tx n'étant pas t-sensibilisée simultanément avec elle même,
le théorème 6.1
nous assure dans ce cas également que si la transition th est
franchie,
elle
ne
sera
plus
franchissable jusqu'à ce
que
la
transition
tf soit
franchie.
Par ailleurs, lorsque
la transition th
est franchie,
la marque produite
dans la place Ps ne peut servir que pour un seul tir de tf' Entre un tir de th et un
tir de
tf. cette marque peut
servir à franchir plusieurs
fois
tn . On est donc
assuré que l'image par e' de Proj «( th' tf,ln J, L (R'. Mo'» sera (Oxl ; 0x3'" 0x2)'"
d)
La
primitive
"exclusion
mutuelle"
La primitive de synchronisation "exclusion mutuelle",
notée
EXC (Oxl œ 0x2 œ... œ0xn)'
permet
de
contraindre
dans
le
langage
décrivant
l'ensemble
des
séquences
d'opérations
possibles
d'un
système
de
commande,
les
occurrences
des
opérations non élémentaires contenues dans
( 0x l' 0x2'
0x n 1 à respecter
l'ordre décrit par (Ox 1 œ 0x2 œ .... œ 0xn) (où' œ ' désigne l'exclusion mutuelle).

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
15
Définition D6 5
Soit RE =< R ; Mo ; Es ; e > avec R =< P, T ; Pre, Post> un RdP étiqueté où
(1)
3 ( tx l' tx2' ..., txn ) C T t. q. e(txi) = 0xi pour i = 1, ..., n
(Chaque
0xi est l'itiquette d'une transition
txi)'
L'application de la primitive EXC (Ox 1 (Il 0x2 (Il ... (Il 0xn) sur RE transforme
ce réseau en un réseau RE' = < R' ; Mo' ; Es' ; e' > avec R' = < P, T' ; Pre'. Post' > défini
comme suit:
(2)
P = P + ( PI ) (Une nouvelle place PI est incluse dans P)
(3)
T=T
(4)
Il te {lxl.lx2' ..., lxn }, Il p E: P : Pre' (p, t) = Pre (p, t) si peP et 1 sinon
(Dans
RE" chaque
transition txi conserve
en entrée les mêmes places que
dans RE' et reçoit en plus
la
place PI).
(5)
Il t e ( tx l ' tx2' ...• txn ). Il P E: P : Post' (p, t) = Post (p, t) si peP et 1 sinon
(Dans
RE '. chaque
transition txi conserve
en sortie les mêmes places que
dans RE' et reçoit en plus
la
place PI)'
(6)
Il te T- (tx l.tx2' .... lxn) ,II p E: P:
Pre' (p, t) = Pre (p, t) si peP et 0
sinon
Post' (p, t) = Post (p, t) si pEP et 0 sinon
(Toutes les autres transitions ont mêmes places en entrée et en sortie dans
R et R').
(7)
Il P E: P: Mo' (p) = MO(p) si peP
et 1 sinon
(Le
marquage
initial de
PI dans
R' est 1. Les autres places ont le même
marquage initial dans
R et R').
(8)
Es' = Es
(9)
e' = e.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
16
L'application
de la primitive "EXC" sur un réseau consiste donc à mettre
une place PI dont le marquage initial est l, en entrée et en sortie des transitions
t x l' ...• 'xn
(cf. figure 6.5).
'"f"h-----fh' lx1
lxn
Figure 6.5
Cette place commune garantit que lorsque les opüations
0x l' 0x2' ...• 0x n
seront raffinées. elles continueront
à
s'exécuter en exclusion
mutuelle.
e )
La
primitive
"précédence"
La primitive de synchronisation
"précédence",
notée
PRE «( 0xl 1 ••••• 1 0xn); (Oy1 1 •••••• 1 0ym ». me» •
permet
de
contraindre
dans
le
langage
décrivant
l'ensemble
des
séquences
d'opérations
possibles
d'un
système
de
commande,
les
occurrences
de
deux
ensembles
d'opérations
(Ox l' ...... 0xn ) et ( 0y l' ....... 0yn ) à se synchroniser
selon
le
schéma
producteurs/consommateurs.
donc
à
respecter
l'assertion
suivante
:

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
17
Pour toute séquence d'opérations s. si la longueur de la projection de s sur
(Ox l' ...• 0xn) ( représentant la séquence de productions) est égale à k. alors la
longueur de la projection de s sur (Oy 1 •.....• Oy m )
(représentant la. séquence de
consommations) doit au plus être égale à k + mc'
En d'autres termes. cela revient à dire que l'on contraint la (k + mc ) ième
exécution
dans
l'ensemble
d'opérations
(Oy l'
0y m)
à
être
précédée
nécessairement
d'au
moins
k
exécutions
dans
l'ensemble
d'opérations
(Oxl······Oxn l .
Définition
D6 6
Soit RE =< R ; Mo ; Es ; e > avec R =< P. T ; Pre. Post> un RdP étiqueté où
(1)
3 (lxl' ..·.lxn.lyl. ·... lym 1 C T t. q.
e(txi) = 0xi pour i = 1•...• n
e(tyj) = 0yj pour j = 1•... ., m
(Chaque
0xi est l'biquette
d'une
transition txi' chaque 0yi est
l'étiquette
d'une
transition lyi)'
(2)
Si m > l '" t E: (lyl ........lym) et'" p E: ·t: Ip'l = (t)
(Si
m > 1. aucune
des
transitions ly l' ...... tym ne partage ses places
d'entrü
)
et
soit
mc un entier positif.
L'application de la primitive PRE « 0x 1 1 ..... 1 0xn ) ; (Oy 1 1 .... 1 0ym », m )
c
sur RE transforme ce réseau en un réseau RE' = < R' ; MO' ; Es' ; e' > avec R' = < P', T'
; Pre'. Post' > défini comme suit :
(3)
P' = P + ( Pc 1
(Une nouvelle place Pc est incluse dans
P')
(4)
T=T

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
18
-------------------------------------------------------------------------
(5)
Il t E (lx l' ...• lxn ) • Il p €
p' : Pre'(P. t) = Pre(P. t) si pEP
et
0 sinon
(Les places en entrée de lxi sont les mimes dans
R et R')
(6)
Il t E (tx l' ...• txn ) .11 p € P' : Post' (P. t) = Post (P. t) si pEP et 1 sinon
(Les places en sortie de
txi dans R' incluent les places en sortie de lxi dans
R et la place pc)'
(7)
Il t E (ly l' ...• lym ). Il p €
P' : Pre' (P. t) = Pre (P. t)
si pEP et 1 sinon
(Les places en entrée de lyi dans
R' incluent les places en entrée de ly i
dans R et la place pc)
(8)
Il t = ( ly l' .... lym ) • Il P €
P' : Post' (P. t) = Post (p. t) si pEP et 0 sinon
(Les places en sortie de lyi sont les mimes dans R et
R')
(9)
Il t E T - ( lx 1..... txn ' ly l' .... ly m ). Il p € P' :
Pre' (P. t) = Pre (P.t)
si
pEP et 0
sinon
Post' (P. t) = Post (P. t)
si pEP et 0
sinon
(Toutes les autres transitions ont mimes places en entrée et en sortie dans
R et R').
(l0)
Il p €
P' : MO'(p) est égal à MO(p) si pEP et à m
sinon
c
(lI)
Es'=Es
(l2)
e' = e.
L'application de la primitive "PRE" sur un
réseau
consiste donc à meUre
une place Pc dont le marquage initial est mc en sortie des transitions tx l' .... tx n
et en entrée des transitions ty l' .... ly m (cf. figure 6.6).
La
place
Pc
apparaît
ainsi
comme
une
place
de
communication
asynchrone
entre
les
deux
ensembles
de
transitions
étiquetées.
Son
marquage
initial
s'interprête
comme
le
nombre
de
consommations
par
anticipation
qui
peuvent
être
effectuées
par
les
consommateurs.
On
est
ainsi
assuré
que
les
contraintes
d'ordonnancement
qu'est
sensée
introduire
la
primitive
"PRE"
sur

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
19
les opérations ( 0x l' ...• 0xn' 0y l' ... 0ym 1 seront respectées.
+.ox1>
~>+
Iyl
Ixl
Ixl
lyl
+
IX2+
Ix2
Iym
. 0 -
<O,m>
Iym
Figure
6.6
r)
La
primitive
"simultanéité"
La primitive de
synchronisation
"simultanéité".
notée
SIM (Ox 1 Il ..... Il 0xn) •
permet
de
contraindre
dans
le
langage
décrivant
l'ensemble
des
séquences
d'opérations
possibles
d'un
système
de
commande.
les
occurrences
des
opérations
contenues
dans
0x l' ...... 0xn J
à
respecter l'ordre décrit par
(Oxl Il.... 11 0xn)' (où "II" désigne
la simultanené d'exécution).
Définition D6.7
Soit RE =< R ; MO ; Es ; e > avec R =< p. T ; Pre. Post> un RdP étiqueté où
(l)
3 ( tx l' ..., txn 1C T t. q. e(txi) = 0xi pour i = 1..... n
(Chaque
0xi est l'étiquette d'une transition txi)
(2)
\\1 t €
{ lx2' ..... txn 1•\\1 P € ·t : P' = {t 1

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
20
(Aucune des transitions
t x2' ......• txn ne partage ses places
d'entrée).
L'application de la primitive SIM (Ox 1 Il ... Il 0x m) sur RE
transforme ce
réseau en un réseau RE' = < R' ; Mo' ; Es' ; e' > avec R' = < 1", T' ; Pre', Post' > défini
comme suit
(N.B.
l'ensemble
(tx l' .... lxn ) est désigné par Tx) :
(3)
P'=P
(4)
T'=T-Tx+(lx)
(L'ensemble
de
transitions Tx est remplacé par une seule transition lx).
(5)
V p E: p'. V t E: T x : Pre' (P. tx) = Pre (p. t)
(t x reçoit en entrée toutes les places qui étaient en entrée des transitions
txl' ...• txn )
(6)
V P E: 1". V tE: T x: Post' (p. tx) = Post (P. t)
(t x reçoit en sortie toutes les places qui étaient en sortie des transitions
txl' ...• txn)
(7)
V t E T' - ( tx 1 : Pre' (.• t) = Pre C, t).
Post' (.• t) = Post (.• t)
(Les autres transitions ont m2mes places en entrée et en sortie dans Ret
R').
(8)
MO' = Mo
(9)
Es' = Es + ( 0x 1
(Es' est étendu d 0x qui sert d représenter l'exécution simultanée de
0xl' ...... 0xn)
(10)
V tE T'
e'(t) = e(t) si
tE T et
0x
sinon
(lx est
étiquetée
par 0x ; les
autres
transitions
conservent
les
m2mes
étiquettes dans RE et RE'), 181
L'application
de
la
primitive
"SIM"
sur un
réseau
R
consiste donc
à

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
21
fusionner des transitions t x l' ...• txn ' pour obtenir une transition unique tx don t
la pré-condition et
la post-condition
de franchissement
sont la conjonction
des
pré-conditions.
et post-conditions
de
franchissement
des transitions
tx l' .... txn '
(cf. figure 6.7).
Figure 6.7
Comme
l'étiquette
0x
associée
à
la
transition
tx sert à représenter
l'exécution simultanée de 0x l' ...• 0x n' on est ainsi assuré que les contraintes que
sont sensées introduire la primitive SIM seront toujours
respectées.
6.1.3 LES PROPRIETES CARACTERISTIQUES DE L'EMBRYON ET DES
PRIMITIVES DE RAFFINEMENT ET DE SYNCHRONISATION
a)
Les
propriétés
de
l'embryon
Propriété P6.1
On peut noter que le réseau embryon appartient à la classe des machines à
états:
Pre (px. tx) = Post (px. tx) = 1 (c.f. figure 6.1).
Il
possède
également
les
propriétés
essentielles
qui
permettent
de
caractériser le bon
fonctionnement d'un
processus séquentiel dans un
atelier.
Il

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
22
est:
vivant
et possède un invariant de place (le marquage de la place Px est
toujours
égal
à
1)
qui
garantit
que
le
processus
modélisé
ne
peut
être
simultanément dans deux états à la fois. illl
Les
primitives
de
raffinement
et
de
synchronisation
doivent
en
particulier pennettre
la
préservation
de
ses
propriétés essentielles.
b )
Préservation de la classe du réseau
par
SEQ, ALT et REP
Propriété P6 2'
Soit RE = < R ; Mo ; Es : e > avec R = < P, T ; Pre, Post> un RdP étiqueté. Si R
appartient à la classe des machines à états. alors tout RdP étiqueté RE' = < R' ; MO' :
Es', e' > avec R' = < P', T' ; Pre', Post' > obtenu en appliquant l'une des
primitives
SEQ. ALT ou REP sur le réseau RE est tel que R' appartient également à la classe
des machines à états.illl
(c.f. démonstration en annexe B , chapitre B.l)
c )
Préservation
de
la
vivacité
et
du
caractère
conservatif
par
SEQ,
ALT, REP et EXC
Propriété
P63'
Si RE = < R : MO ; Es, e > avec R = < P, T ; Pre, Post> est un RdP étiqueté vivant
et conservatif, alors le réseau RE' =< R' ; Mo' : Es' ; e' > avec R' = <P', T : Pre', Post'>
obtenu en appliquant l'une des
primitives SEQ, ALT, REP, ou EXC sur RE est aussi
un RdP étiqueté vivant et conservatif.illl

01. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
23
(c.f. démonstration en annexe B chapitre B.2)
On notera tout particulièrement que dans le cas de la primitive ALT,
les
supports
de
semi-f1ots
(c.f.
définition
en
annexe
A
chapitre
A.3)
et
leur
pondération
restent
inchangés.
La
primitive
EXC
introduit
un
nouveau
support
de
semi-f1ots
ne
contenant
que
la
place
PI
pondérée à
1. Dans le cas des
primitives
SEQ et REP,
les
nouveaux
supports
de
semi-flots
s'obtiennent en
remplaçant dans les anciens supports toute place p E tx ' par (p. ps)' Le poids de p
reste chaque fois inchangé, et le poids de Ps égal au poids de p.
d ) Cas des primitives PRE et SIM
A l'inverse des primitives SEQ, ALT, REP, et EXC, l'application des primitives
PRE
et
SIM
ne
préserve
pas
de
façon
systématique
la
vivacité
d'un
réseau.
Cependant.
les
contraintes
d'application
imposées
en
D6.7
(2)
permettent
de
traduire de façon équivalente la primitive SIM à l'aide de la primitive PRE. Par
ailleurs, les contraintes imposées pour l'application de la primitive PRE (c.f. D6.6
(2» permettent de restreindre le réseau en construction à un graphe simple. Le
théorème de Commoner étant applicable pour cette classe de réseaux (c.f. annexe
A, chapitre A.4) • on peut ainsi obtenir par ce biais une condition suffisante de
vivacité
basée
sur
la
structure
du
réseau
pour
l'application
de
ces
deux
prim i ti ves.
Propriété P6 4
Soit RE =< R ; Mo ; Es; e > un RdP étiqueté avec R =< P, T; Pre, Post >.
Soient
-RE' = < R' ; MO' ; Es', e' > avec R' = < P', T'; Pre', Post' > un RdP étiqueté obtenu cn
appliquant à RE la primitive SIM (Ox 1 1\\ .. , 1\\ 0xn)'

Ch. 6: AIOO A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
24
-et RE" = < R", MO"; Es"; e" > avec R" = < P", T"; Pre", Post" > un RdP obtenu en
appliquant à RE
la séquence de primitives suivante:
Pour chaque
2, ... , n on effectue le raffinement
puis
ensuite
les
deux
synchronisations
PRE «Oxid ; 0xl)' 0)
PRE «Ox 1 ; OXif)' 0) .
Le réseau R" est vivant et conservatif ssi R' est vivant et conservatif.~
(c.r. démonstration en annexe B chapitre B.3)
Proprjété
P65'
Soit RE =< R ; Mo; Es ; e > avec R =< P. T ; Pre. Post> un RdP étiqueté. Si R est
un graphe simple. alors tout réseau RE' = < R' ; Mo' ; Es' e' > avec R' = < 1", T, Pre',
Post' > obtenu en appliquant sur RE la primitive PRE «( 0x 11 ..... 1 0xn) ; (Oy 1
1... 1
0ym»' mc ) est tel que R' est également un graphe simpJe.~
(c.f. démonstration en annexe B chapitre BA)
Propriété P6 6
Soient :
- RE = < R ; Mo ; Es ; e > avec R = < P, T ; Pre, Post> un RdP étiqueté
_ F = ( f 1f E
toi m. et .. C = 0)
l'ensemble des semi-flots associés à R.

Ch. 6: AIDE A LA CONCEPTION OU COMPORTEMENT EXTERNE
Page:
25
Si RE' = < R' ; Mo' ; Es', e' > avec R' = < p', T' ; Pre', Post' > désigne un RdP
étiqueté obtenu à panir de RE par application de la primitive "PRE", alors
F' = { f' 1f' e
N m+ l, f' (p) = f (p) si peP et 0 sinon 1
constitue un ensemble de semi-f1ots pour le réseau R'. 0
Si 1 e P est un suppon de semi-f1ots pour R, après application de PRE, 1
reste donc un suppon de semi-f1ots pour R'.
(c.L démonstration en annelle B chapitre B.5)
6.1.4 L'ORDRE D'APPLICATION DES PRIMITIVES
La
grammaire
que
nous
présentons
dans
cette
section
définit
un ordre
d'application
des
primitives
de
raffinement
et
de
synchronisation.
L'ordre
retenu
tire
pani
des propriétés
caractéristiques
de ces prlmIttves pour garantir
la vivacité des
réseaull
que
l'on
peut constuire,
et pour
déterminer
de
façon
systématique les invariants de
places qui caractérisent les propriétés liées à la
sûreté
de
fonctionnement
du
système
modélisé,
telle
l'impossibilité
pour
un
processus
séquentiel
d'être
simultanément
dans
deUll
états
à
la
fois,
ou
l'impossibilité
pour
des
processus
séquentiels
d'être
simultanément
dans
une
section
critique.
La
grammaire
( 1 ) Créer-Réseau
::= Créer-Embryons
Raffiner-Embryons
Composer
Raffiner-A-Nouveau.
(2) Créer-Embryons
::= EMB
Créer-Embryons 1 E
(3) Raffiner-Embryons
::= Opération-De-Raffinement
Raffiner-Embryons
1 E
(4) Opération-Oe-Raffinement
::= SEQ 1ALT 1REP
(5) Composer
..-
Opération -De-S ynch ronisation

Ch. 6: AIDE A LA CONCEPTION DU COMPOR"ŒMENT EXTERNE
Page:
26
Composer 1 E
(6) Opération-De-Synchronisation
::= PRE 1 SIM
(7) Raffiner-A-Nouveau
::= Opération-De-Raffinement
Raffiner-à- Nou veau
1 EXC
Raffiner-A-Nouveau 1 E
La [hIe initiale de la ~rammaire
Elle correspond à la règle (1). Elle décrit le processus de construction d'un
réseau comme étant constitué de quatre étapes qui se déroulent en séquence
La
première
étape
concerne
la création
d'un
réseau
embryon
pour
chaque
processus
séquentiel
de
l'atelier.
La seconde étape concerne le raffinement des réseaux embryons.
La troisième étape la composition parallèle des réseaux raffinés.
Et
la
quatrième
étape
le
raffinement
du
réseau
global
obtenu
par
composition
parallèle.
L'étape
"Créer-Embryons"
La
règle
(2)
décrit
l'étape
"Créer-Embryons"
comme
une
succession
d'applications
de
la
primitive
"EMB".
L'aboutissement
de
cette
étape
est
la
création
de
réseaux
embryons
correspondant
chacun
à
la
spécification
initiale
d'un
processus séquentiel de l'atelier.
La propriétés P6.I
nous assure que chacun de ces
réseaux, disons REi ,
appanient à la classe des machines à états, est vivant, et est caractérisé par un
invariant
de
place
qui
assure
que
le
processus
modélisé
ne
peut
pas
être
simultanément dans plusieurs états à la fois.
L'étape
"Raffiner-Embryons"
Les
règles
(3)
et
(4)
décrivent
l'étape
"Raffiner-Embryons"
comme
une

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
27
succession d'applications des primitives "SEQ" , "ALT" et "REP" sur les réseaux
embryons
créés
à l'étape
précédente.
Les propriétés caractéristiques de ces trois primitives
garantissent que tes
réseaux
résultants
auront
les
mêmes
propriétés
que
les
réseaux
embryons.
En
paniculier, pour chaque réseau résultant
REi = < Ri' MOi; Esi ; ei > avec R = < Pi'
Ti ; Prei' Posti >. on peut dire :
- que Ri appanient à la classe des machines à états (cf. propriété
P6.2)
- que Ri est vivant (cf. propriété P6.3) ;
- et que Ri est caractérisé par un invariant de places
\\1 M e A(Ri ; MOi) : I pe Pi M(p) = l pe Pi MOi(p) = 1 (cf. propriété P6.2)
qui assure que le processus séquentiel modélisé ne peut pas être simultanément
dans plusieurs états à la fois.
L'étape
"composer"
Les règles
(5)
et (6) décrivent l'étape "composer" comme une étape de
définition
des
contraintes de
synchronisation
devant exister entre
les processus
séquentiels décrits par
les
réseaux
issus de l'étape précédente,
en
utilisant les
primitives "PRE" et "SIM".
Comme les graphes simples inclus les machines à états, on peut considérer
qu'au
départ
de cette étape. le
regroupement des
différents
réseaux
de
l'étape
précédente constitue un graphe simple. A partir de là, les propriétés P6.4 et
P6.5
garantissent
l'existence
d'une
condition
suffissante
basée
sur
la
structure
du
réseau
pour vérifier que
les
applications successives des
primitives "PRE" et
"SIM" préservent la vivacité.
Par ailleurs, en se référant à la
propriété P6.6, on
est
également
assuré
que
l'application
de
ces
deux
primitives
préserve
l'ensemble des invariants de places de l'étape précédente.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
28
L'étape
"Raffiner-A-NQuyeau"
Les
règles
(7)
et (4)
décrivent l'étape
"Raffiner-A-NQuveau"
CQmme une
successiQn d'applicatiQns. des primitives "SEQ", "ALT", "REP" et "EXC" sur le
réseau cQmpQsé issu de l'étape précédente.
La
prQpriétés
P6.3
garantit
au
CQurs
de
celte
dernière
étape
la
préservatiQn de la vivacité du réseau résultant. Par aiIleurs, elle nQUS assure que
les
prQcessus
séquentiels
qui
étaient
caractérisés
dans
les
étapes
précédentes
par des invariants de
places serQnt tQujQurs caractérisés
par des
invariants de
places de même nature. Si Ps désigne l'ensemble des places qui servent à décrire
l'état
d'un
prQcessus séquentiel
S.
alQrs pQur tQut
marquage
accessible
M du
réseau résultant
I pe Ps M(p) = 1. Ce qui signifie que tQut processus séquentiel
dans le
réseau
final
ne
pQurra jamais être
simultanément dans
plusieurs états
di fféren ts.
Enfin, la propriété P6.3
nQUS assure de l'existence d'un invariant de places
qui garantit la bQnne utilisatiQn de chaque reSSQurce partagée dans le système
mQdélisé.
Si
Pr désigne l'ensemble des places qui servent à décrire l'état de
l'utilisatiQn
d'une
reSSQurce par un
ensemble
de
prQcessus
séquentiels,
Qn est
assuré que pour tQut marquage accessible M du réseau final
I pe Pr M (p) = 1. Ce
qui signifie que la reSSQurce ne peut être utilisée qu'en exclusiQn mutuelle.
6.2 PRISE EN COMPTE DES SYNCHRONISATIONS AVEC
L'ENVIRONNEMENT
Le
réseau que l'Qn Qbtient à "issue de la démarche présentée décrit de
façQn incQmplète le cQmportement d'un système de cQmmande. Il ne spécifie pas
pQur
l'instant
l'état
que
dQivent
aVQir
les
grandeurs
physiques
de
la
partie
Qpérative
IQrs
du
déclenchement
des
QpératiQns
de
cQmmande.
Dans
celte
sectiQn,
nQUS
présentQns
un
algQrithme
qui
permet
de
transfQrmer
de
façQn

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
29
systèmatique
celte
spécification
incomplète
en
une
spécification
complète
exprimée en terme de RdPI.
Les transformations introduites
par cet
algorithme
consiste
donc
pour
l'essentiel
11 contraindre
la
production
des
événements
de
sortie
selon
la
relation
d'ordre
définie
dans
la
section
précédente,
11
être
synchronisée en plus
11 l'évolution d'un environnement.
La spécification qui
en
résulte
peut
de
ce
fait
être
plus
contraignante.
Nous
examinons
ensuite
les
propriétés
du
comportement
du
système
sous
les
nouvelles
contraintes
ainsi
définies.
fi.2.1
L'ALGORITHME DE TRANSFORMATION
Soit RE = < R ; Mo ; Es ; e > avec R = < P, T ; Pre, Post> un RdP étiqueté issu de
l'étape
précédente.
Ce
réseau
est
donc
tel
que
le
langage
LE (R E )
défini
l'ensemble
des
séquences
d'opérations
élémentaires
que
peut
engendrer
un
système
de
commande,
si
on
ne
tient
pas
compte
des
synchronisations
avec
l'environnement.
A
chaque
transition
tx de R, nous associons en plus les deux
informations
complémentaires suivantes
: prx et OPx'
p r x
est un prédicat qui
définit les conditions sur l'état de
l'environnement
qui
doivent
être
réunies
pour
que
l'opération
élémentaire
associée
à
l'étiquette
e(tx ) puisse être déclenchée. Ce prédicat s'exprime simplement en
termes
de
conditions,
d'événements
se
produisant
dans
l'environnement,
et
de
politique
de
prise
en
compte
de
ces
événements.
Si
la
contrainte
de
séquence ment
définie
par
le
réseau
suffit
pour
déclencher
l'opération
associée
11
l'étiquette
e(t x )' nous considérons prx comme étant le prédicat
toujours vrai prO'
oPx
définit l'opération associée 11 l'étiquette e(tx)' Comme nous l'avions déjà
noté, cette opération peut être vide, i.e. correspondre à NOP.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
30
Si l'on désigne respectivement par OP et PR
l'ensemble des opérations et
l'ensemble
des prédicats ainsi associés aux transitions, et par V
l'ensemble
des variables sur lesquelles ces opérations et ces prédicats sont définies, le RdPI
RI = < R'; V ; OP; PR ; <Il ; '1' > avec R' = < P', T' : Pre', Post' > décrivant de façon
complète le comportement externe du système de commande s'obtient
à partir de
RE en effectuant les transformations suivantes :
( 1) Au départ
P' =P, T =T, Pre' =Post' =0,
"1 pEP' : <Il(p) =NOP,
"1 tE T : 'l'(t) = prO
(2) Pour chaque transition tx E T telle que:
.prx désigne le prédicat associé à tx
0Px désigne l'opération associée à tx
Px désigne l'ensemble des places situées en sortie de tx qui n'ont pas
été
introduites dans P par une primitive de synchronisation PRE ou
~
. Kx désigne l'ensemble des places situées en sortie de tx qui ont été
introduites dans P par une primitive de synchronisation PRE ou EXC
on effectue sur le réseau R' les transformations caractérisées comme suit
(3) Pre' (., tx) = Pre (.. tx)
(t x conserve les mêmes places en entrée dans R et R')
(4) 'l'(lx) = prx
(5) "1 P E K x : Post' (p, tx) = Post (p, tx)
(t x conserve systématiquement en sortie les places de Kx)'
(6) Si
(Px = {px) et 'Px =lx) ou 0Px = NOP
(P x contient une seule place
Px qui n'a comme entrée que la transition

Ch. 6: AIDE A LA CONCEYTION DU COMPORTEMENT EXTERNE
Page:
31
t x ' ou Urte opératiort vide est associée à tx )
alors
-"1 P E Px : Post' (p. tx) = Post (p, lx)
(les places Corttertues daM Px restertt ert sortie de lx)
-si Px = (px) Ijl(px) = oPx
(si Px rte corttiertt qu'urte seule place.
0Px est associle à cette place)
(Cette rtgle de traMformatiort est schématisée par la figure
6.8).
(7) Si
Px = (px) et l'Pxl> 1 et oPx ~ NOP)
(P x corttiertt
Urte
seule place
qui a ert
erttrée plusieurs
trartsitions et
une
opération non vide est associé à
tx )
ou IPxl > 1 et 0Px ~ NOP)
(P x contient plus d'une place et une opération non vide est associée à tx)
alors
OP' +- P' + ( Pxs )
(Une nouvelle place Pxs est ajoutée à P')
-T' +- 1" + ( txf )
(Une
nouvelle
transition txf est ajoutée à
T')
-Post' (Pxs' tx) = 1 (La place Pxs est placée en sortie de tx)
-Pre' (Pxs' txf) = 1
(La place
Pxs est placée en entrée de txf)
- "1 pEPx : Post' (p, txf) = Post (p, tx)
(Les places contenues dans Px sont placées en sortie de
txf)
-Ijl(pxs) = OPx
(L'opération
0Px est associée à la nouvelle place pxs)
(Cette rtgle de transformation est schématisée par la figure
6.9).1l1l
Le
principe
général
de
l'algorithme
de
transformation
s'articule
donc
autour de deux types de transformations essentielles.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
32
La première
transformation consiste
à
associer à chaque transition
tx d u
réseau
initial.
les conditions
sur l'environnement pour que
l'opération
oPx qui
lui était associée puisse être déclenchée. Après cette transformation, le tir de la
transition
t x ne servira donc plus à modéliser l'exécution de oPx' selon les
contraintes
d'ordre
souhaitées.
mais
servira
plutôt
à
traduire
le
fait
que
les
conditions
sur
l'état
de
l'environnement
sont
réunies
pour
que
ce
traitement
puisse être exécuté selon l'ordre souhaité.
La deuxième transformation consiste à associer à une place sortie de tx 1e
traitement
oPx' Ceci revient à définir la conséquence du tir de la transition tx
dans
le
réseau
transformé comme étant
l'exécution
de oPx' Il est bien évident
que
pour que
les
contraintes d'ordre
initialement définies
soient
respectées,
il
est primordial que l'opération associée à la place sortie de tx ne puisse pas être
exécutée comme
la conséquence
du
franchissement
de
tout
autre transition ty
différente de tx ' Ceci équivaut à dire que cette place sortie de tx ne doit pas être
également
en
sortie
d'autres transitions.
Par
ailleurs,
lorsque plusieurs
places
sont en sortie
de t x ' il se pose le
problème du choix de la place à laquelle 0Px doit être associée.
Pour résoudre ces deux problèmes. l'algorithme distingue les places situées
en sortie de tx qui servent à décrire l'état des processus séquentiels (c'est
l'ensemble
appelé
Px) des places situées en sortie de t x qui servent à leur
synchronisation
(c'est
l'ensemble
appelé
Kx)'
Si Px contient une seule place qui est telle que tx est la seule transition en
entrée de cette place, ou si 0Px
correspond
à
une
opération
vide,
dans
les
transformations
effectuées,
il
n'est
pas
nécessaire
de
modifier
la
structure
du

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
33
réseau (cf. figure 6.8).
Sinon.
on
est
en
présence
d'une
situation
qui
nécessite
une
transfonnation du réseau. Cette situation correspond soit au cas où Px
contient
une seule place. telle que tx n'est pas la seule transition en entrée de cette place.
alors que oPx ~ NOP, soit au cas où Px contient plusieurs places, alors que oPx ~
NOP. Dans le premier cas. nous avons vu qu'on ne peut pas associer oPx à la place
contenue
dans
Px
sans
remettre
en
cause
les contraintes
d'ordre
initialement
définies. Le second cas pose un problème de choix de place. Dans les deux cas. le
réseau
est
transfonné
comme
indiqué
sur
la
figure
6.9.
Cette
transformation
consiste à
ajouter dans
le réseau une place
Px s
qui
n'a
comme
transition
d'entrée
que
la
transition
tx ' puis en sortie de cette place une nouvelle
transition
tx f qui n'a comme places de sonie que les places contenues dans Px.
qui disparaÎssent en sonie de tx ' 0Px est alors associée à la nouvelle place Pxs'
Cette
transformation
constitue
le
seul
type
de
transfonnation
que
l'algorithme
peut être amené à effectuer sur la structure du réseau. On peut constater qu'elle
correspond
à
l'ajout d'une place substituable.
et que
de ce
fait.
elle préserve
chaque fois l'abstraction sur l'ensemble de transitions du réseau initial.
On est
ainsi
assuré que
les contraintes d'ordre initialement définies
sur les opérations
ne seront pas violées dans le RdPI résultant :
-Les
opérations
ne
sont
exécutées
que
comme
la
conséquence
du
tir
des
transitions
auxquelles
elles
étaient
initialement
associées.
- Par ailleurs,
l'ordre de franchissement
de ces transitions
reste conforme aux
contraintes
initiales.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
34
A:a.n.t
ARW
~~
-~
..oe.
~
-~
N.B.:
CI représente les places de Kx
-*0
désigne que la place n'a aucune transition
en entrée
Figure 6.8

Ch. 6: AIDE A LA CONeEPI'ION DU COMPOR'ŒMENT EXŒRNE
Page:
35
Figure 6.9
6.2.2
LES PROPRIETES DU RESEAU TRANSFORME
Nous
abordons
à
présent
une
discussion
sur
les
propriétés
du
RdPI
résultant.
Comme
nous
l'avions
déjà
noté.
de
façon
générale.
l'interprétation
peut
resteindre
les
séquences de
franchissement
pos~ible d'un RdP. et remettre
en
cause
sa
vivacité.
Par
contre.
il
est
facile
de
se
convaincre
que
l'interprétation
dans
un
RdPI
n'invalide
pas
les
invariants
de
places du
réseau
sous jacent.
Par ailleurs. nous avons
aussi
déjà
montré
que
par rapport à nos
règles de
fonctionnement,
on peut définir une condition
suffisante
pour que
le
comportement
du
réseau
interprété
soit
identique
à
celui
du
réseau
autonome
sous-jacent(c.f.
section
2.4.3.2).
Si
cette
condition
que
nous
rappelons
est
vérifée. les deux réseaux ont bien évidemment les mêmes propriétés
Pour
tout
couple
de
transitions
(t 1.
t2)
dont
les
tirs
doivent
être
synchronisés
aux
occurrences
d'un
même
événement,
il
ne
doit
pas
exister

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
36
de marquage accessible dans le réseau autonome qui valide simultanément tl
et t2.
Pour
tout
marquage
accessible
dans
le
réseau
autonome,
les
transitions
validées doivent être
synchronisées
à des
événements
indépendants.
A
partir
d'une
identification
des
événements
corrolés.
il
est
facile
de
vérifier ces deux conditions sur un RdPI construit à l'aide de notre démarche. En
s'appuyant
sur
les
invariants
de
places
calculés.
on
peut
s'assurer que
deux
transitions
synchronisées à un même événement. ou
à des événements corrolés
ne seront jamais validées simultanément.
Nous pensons que dans la majorité des
cas, celle vérification sera concluante :
La
spécification
de
tir
groupé
de
transitions
sur
occurrence
d'un
même
événement
ne
nous
paraît
pas
être
fondamental
dans
les
ateliers
de
production. Dans tous les cas, comme nous l'avons déjà précisé. cela restraint
les possibilités de répartition de l'application.
Par
ailleurs,
la
synchronisation
entre processus
séquentiels
se conçoit
plus
naturellement
comme
une
synchronisation
logique
(liée
au
marquage
des
places) plutôt que comme une synchronisation
physique (liée à
l'occurrence
d'événements externes).
De ce fait.
la spécification de processus séquentiels
pouvant
accéder
à
un
état

leur
évolution
dépend
de
l'occurrence
d'événements de l'environnement qui sont corrolés, ne
nous paraît pas non
plus être une situation courante.
Si
la vérification n'est pas concluante et correspond véritablement
à une
contrainte souhaitée, le spécifieur doit
recourir à des analyses plus
fines pour
garantir la vivacité de son
réseau
interprêté.
6.3 ILLUSTRAnON DE LA DEMARCHE SUR UN EXEMPLE
Dans celle section, nous utilisons l'exemple de l'atelier de bobinage pour

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
37
illustrer les différentes étapes de la démarche de conception.
L'étape
"Créer-Embryons"
Dans
le
fonctionnement
d'un
métier,
on
peut
distinguer
deux
processus
séquentiels : l'un lié à l'activité assurée par le système embarqué, et l'autre lié à
l'activité assurée par la navette.
EMB(Desserte-O-SE) instancie le réseau ROE qui correspond à la spécification
initiale du
processus séquentiel lié au système embarqué, et EMB(Dessene-O-N)
le réseau ROE' qui correspond à la spécification initiale du processus séquentiel
lié à la navette
(cf. Figures 6.10 (a) et figure 6.10 (c)).
Outre le caractère vivant de cette spécification
initiale, elle est caractérisée
par les invariants de places des figures 6.10 (b) et 6.10 (d).
ildJeu.~_'_SE G <D~
p'
p"
...._'_N>
(a) réseau Ra E
(c) réseau Ra E
(b) Invariant: M(pl) = 1
(d)
Invariant: M(pl ')
Figure 6.10
L'étape
"Raffiner-Embryons"
Nous abordons d'abord Je raffinement du réseau
ROe.
1) Une
desserte
doit
se
terminer
nécessairement
par
le
retour
du
système
embarqué à sa position de dégagement.
On peut donc appliquer le raffinement
suivant :

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
38
SEQ (Desserte-O-SE, (Desserte-I-SE
Retour-SE»
on obtient le réseau RIE de la figure 6.11 (a). Par ailleurs. dans le support de
semi-flots
du
réseau
ROE' (p l, p2) est substitué à la place p l . ce qui donne
l'invariant de places de la figure 6.11 (b).
2) Pour
effectuer
une
desserte,
il
faut
nécessairement
commencer
par
déclencher le déplacement du système embarqué (Adepse) vers un bobinoir. Par
ailleurs. le retour du système embarqué à sa position de dégagement s'effectue à
['aide de deux actions : le déclenchement du déplacement du système embarqué
vers sa position de dégagement (Aretse). suivi du déclenchement de l'arrêt du
système embarqué quand il atteint sa position de dégagement (Aarrsel). On peut
donc raffiner le réseau RIE par
SEQ (Desserte-I-SE. (Adepse ; Desserte-2-SE»
SEQ (Retour-SE, (Aretse ; Aarrse 1)
On obtient le réseau,
et l'invariant de la figure 6.12.
3) Quand
le
système
embarqué
est
en
déplacement,
on
peut
éventuellement
l'arrêter prématurément (Aarrse2) s'il survient une casse de fil.
Le réseau R2E
peut donc être raffiné par
ALT(Desserte-2-SE, (Aarrse2 1 Dessene-3-SE»
On obtient le réseau.
et l'invariant de la figure 6.13.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
39
r-------~ pl
<Aan . .2>
ap~D"-'_1_se>
p2
..:RMour_SE
<Asrr•• 1>
<a) RMNu Rl E
Ca) R6Mau R2e
<a> R.....u R3 E
(b)
ftarlant: M(p') + M(p2) _ 1
lb)
InYlIrIont'
(b)
Invariant:
"(Pl)+"Ip2)-W(p3)+W(p4) - 1
M(p1).M(p2).M(p3).M(p4) • ,
Figure 6.11
Figure 6.12
Figure 6.13
4) S'il
ne
survient pas de casse de
fil,
le système embarqué
atteindra à
un
moment donné le bobinoir vers lequel il est en déplacement.
A cet instant, il
faudra
l'arrêter (Aarrse3). Le réseau R3 E peut donc être raffiné par
SEQ (Dessene-3-SE, (Aarrse3
Dessene-4-SE))
on obtient le réseau et l'invariant de la figure 6.14.
5) A son arrivée devant le bobinoir, le système embarqué peut ne rien faire s'il
survient
entre temps une casse de fil. Le réseau R4E doit donc être raffiné par
ALT (Dessene-4-SE, (Anulese 1 Dessene-5-SE))
On obtient le réseau
et l'invariant de la figure 6.15.
5) Le service du
système embarqué sur Je
bobinoir quand
la fin
du bobinage
intervient
s'effectue
en
deux
opérations
la
coupe
du
fil
(Act)
suivie
de
l'échange de la bobine achevée avec une bobine vierge (Aechse). Le réseau R4 E

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EX'ŒRNE
Page:
40
doit donc être raffiné par
SEQ (Dessene-5-SE, (Acf
Aechse».
Ce qui donne en définitive le réseau et l'invariant de la figure 6.16. Ce réseau est
bien
entendu
vivant,
et
l'invariant
de
places
nous
assure
que
le
processus
raffiné ne peut pas être simultanément dans deux états.
r------~:!l.pl
r----~[i)pl
r - - - - - - o G ) p l
p2
p3
cMm.2>
I-~-t- ,/vj>
p'
pO
(a) _ R 4
(a)_RS
(a)_AS
E
E
E
(b) Inœllnl:
Cb) IlMInani :
(b)
IPI""nI:
lICPll.11(p2)~l.11(p5).1
lICPl).~).ll(pS).'
ll(p'_.ucIl3l+_)+_)+~+llIP7).1
Figure 6.14
Figure 6.15
figure 6.16
On peut raffiner le réseau ROE' en procédant de la même manière. La figure
6.17 résume les différentes étapes du raffinement.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
41
,....._ _....." p l ·
p2'
cAarrn2>
p3'
P1.
p.'
G<Deuerte_1_N>
<Aretn>
p2'
pS'
cR&lDur_N>
cAarm1>
(.) R_R1 E
(c) -
R2é
(.) RlIaeau R3 E
(b) ......ri.nt: lI(pl1 _ 1
(d)
_ n t :
(~
Invariant:
M(p11+lI(p21+lI(p3')+lI(p41 • 1
lI(pl')+lI(p21+M(p31+M(p41+M(p5') • 1
,.....--.....>.;Jp,.
p2'
cAarrn2>
p3'
.Anule'b
pO'
<Areln>
pS'
cAsrr" 1>
_.u
(g)
RO'
(h)
Irwar.nt:
M(pl')+M(p2')+M(p3')+M(p4')+M(pS') • 1
Figure 6.17

Ch. 6: AIDE A LA CONCEPrION DU COMPORTEMENT EXTERNE
Page:
42
L'étape composer'
Dans
cette étape nous
définissons
les contraintes
de
synchronisation
entre
les deux processus raffinés.
1) Le déclenchement du déplacement de la navette vers
un bobinoir (Adepn),
doit
être
précédé
du
déclenchement
du
déplacement
du
système
embarqué
(Adepse).
Ces deux opérations doivent donc être synchronisées par :
PRE«Adepse
Adepn), 0)
On obtient le réseau et les invariants de la figure 6.16.
<Adepn>
<Aarrse2>
<Aarrn2>
<Anuless>
<Aechn>
-cAnulen>
<Aretn>
<Aarrn1>
(a) Réseau RGl E
(b)
Invariants:
M(pl)+M(p2)+M(p3)+M(p4)+M(p5)+M(p6) = 1
M(pl')+M(p21+M(p31+M(p4')+M(p51+M(p6') = 1
Figure 6.18

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
43
2) Dans le même ordre d'idée, l'action de la navette liée
à une casse de fil
(Anulen)
doit être
précédée des actions du système embarqué liées également à
une
casse
de
fil
(Aarrse2.
Anulese).
Ces
opérations
doivent
donc
être
synchronisées
par
:
PRE «(Aarrse2 1 Anulese)
Anulen), 0)
on obtient le réseau et les invariants de la figure 6.19.
<Aarrn2>
<Aechn>
<Aretn>
<Aarrn1>
(a) Réseau RG2 E
(b)
Invariants
M(pl')+M(p2')+M(p3')+M(p4')+M(p5') = 1
M(pl)+M(p2)+M(p3)+M(p4)+M(p5)+M(p6) = 1
Figure 6.19

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
44
3) Enfin, les opérations liées à l'échange de la bobine achevée (Aechse, Aechn)
doivent avoir lieu en même temps dans les deux processus séquentiels. Ces deux
opérations doivent
donc
être
synchronisées
par
SIM (Aechse Il Aechn).
On obtient le réseau et les invariants de la figure 6.20.
<Aarrse3>
<Aarrn2>
pS
<Aretn>
<Aretse>
p6
<Aarrnb
<Aarrseb
(a) Réseau RG3 E
(b)
Invariants:
M(pn+M{p2')+M(p31+M(p4')+M(pS') = 1
M(p1 )+M(p2)+M(p3)+M(p4)+M(pS)+M(p6) = 1
Figure
6.20

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
45
Ce
réseau
définit
la relation d'ordre que
nous cherchions
à
caractériser.
De ce fait. l'étape "Raffiner-A-Nouveau" n'est pas nécessaire dans cet exemple.
La prise en compte
des synchronisations
avec
l'enyironnement
Pour chaque étiquette du réseau global RG3 E , nous définissons de la façon
suivante l'opération de commande qui lui est associée. et le prédicat que l'état de
l'environnement doit vérifier pour que
cette
opération
soit déclenchable.
E17QUElTE
OPERATION ASSOCIEE
PREDICAT DE DECLENCHEMENT
Adepse
Adepse .- vrai
Ereq [ i ]
Aarrse3
Aarrse .- vrai
t Efdepse [ i 1 ('r2)
Aarrse2
Aarrse ,- vrai
Ecasse [ i ]
Aarrse 1
Aarrse .- vrai
t Efretse ('r 2)
Ad
Acf := vrai
Efbob [ i ]
Aech
Aech := vrai
toujours
vrai
Aretse
Aretse .- vrai
toujours
vrai
Anulese
NOP
Ecasse [ i ]
Adepn
Adepn ,- vrai
toujours
vrai
Aarrn2
Aarren .- vrai
t Efdepn [ j ] ('r2)
Aarrnl
Aarm .- vrai
t Efretn ('r 2)
Aretn
Aretn ,- vrai
toujours
vrai
Anulen
NOP
toujours
vrai
En
appliquant à partir de ces informations l'algorithme de transformation
en un RdPI. on obtient le réseau de la figure 2.37
de la section 2.6.2. On
remarquera
que
la
transformation
liée
à
l'opération
Aech
a
necessité
la
modification du
réseau par l'ajout d'une place
substituable
:
la transition à
laquelle cette opération est associée dans le réseau RG3E possède en sortie
deux
places dont aucune n'a été introduite par les primitives PRE et EXC. Par ailleurs,
les
transformations
liées
à
l'action
Aarrse2
à
également
nécessité
une

Ch. 6: AIDE A LA CONCEPTION DU COMPOR'ŒMENT EXTERNE
Page:
46
modification
du
réseau
par l'ajout
d'une
place
substituable
:
la
transition
à
laquelle l'opération est associée dans le réseau RG3E a en sortie une place unique
non introduite par les primitives PRE et EXC. Cette place est également en sortie
d'une
autre
transition.
L'analyse des propriétés du RdPI résultant
Les
invariants
de
places
qu'on
obtient
après
les
modifications
de
l'algorithme de transfonnation sont définis comme suit :
M (pl) + M (p2) + M (p3) + M (p4) + M (p5) + M (p6) = 1
(1)
M(p4) + M(p9) + M(plO) + M(pll) + M(pI2) + M(pI3) + M(pI4) + M(pI5) = 1
(2)
on peut noter que le prédicat Ecasse[i)
est le seul événement synchronisé
à
plusieurs transitions.
Pour que ces transitions soient simultanément validées,
il
faut
que
les places plO et pli
soient simultanément marquées. ce qui
est
contradictoire
avec l'invariant (2).
Par ailleurs,
les seuls prédicats qui
ne sont pas indépendants entre eux
sont les prédicats Ereq[i) , et Efbob[i]
liés au bobinage: on ne peut pas avoir une
fin de bobinage sans avoir eu au préalable une requête. Pour que les transitions
auxquelles ces deux prédicats sont associés puissent être simultanément validées,
il
faut
que
les
places p9 et pli
soient simultanément
marquées,
ce qui
est
également
contradictoire
avec
l'invariant
(2).
Nous en déduisons alors que l'interprétation ne modifie pas les propriétés
du
réseau.
6.4 COMPARAISON AVEC D'AUTRES APPROCHES
Dans les principes, la démarche préconisée
rejoint celles
proposées dans
[Berthelot 85 b ) et [ Guyot 87 ) . Dans chacune des trois démarches, on peut

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
47
distinguer une première étape où l'on décrit le problème
à
un
certain niveau
d'abstraction,
et
une
deuxième
étape

le
réseau
obtenu
est
raffiné
exclusivement à l'aide de règles de transformation qui se fondent sur les règles
de
réduction.
Dans [ Benhelot 85 b J, la première étape sert
à décrire le service que doit
assurer un
protocole
de
communication.
Aucune
aide
n'est
proposée
à
priori
pour garantir par construction les bonnes propriétés de ce réseau qui constitue
en fait le réseau embryon du processus de raffinement.
Dans [Guyot
87 J tout comme dans notre cas, la première étape contraint le
spécifieur à construire
par
raffinements
successifs un
réseau qui
appartient
à
une
classe
pour
laquelle
le
théorème
de
Commoner
est
applicable,
ceci
afin
d'exploiter ce théorème pour garantir la vivacité du réseau. La différence entre
les deux approches réside dans le choix de cette classe. Dans [ Guyot 87 J, ce choix
porte
sur
les
graphes
d'événements.
Avec
ce
type
de
réseau,
on
ne
peut
exprimer ni choix, ni conflit d'accés à une ressource partagée. En fait, il n'est
particulièrement
bien
adapté
que
pour
décrire
des
systèmes
d'ordonnancement
de tâches
qui
coopèrent
sans conflit.
Dans
notre
cas,
nous
avons
retenu
les
graphes
simples.
Cette
classe
inclut
les
graphes
d'événements
et
permet
de
mieux modéliser la coopération entre des tâches parallèles. De ce fait, elle est
bien
plus
intéressante
pour
décrire
le
comportement
d'un
système
de
commande.
Par ailleurs,
il est important de noter que si nous levons les contraintes
d'application D6.6 (2) de la primitive PRE et 06.7 (2) de la primitive SIM qui
servent
à
restreindre
dans
la
première
phase
le
réseau
en
construction
à
un
graphe
simple,
nous
obtenons
un
ensemble
de
primitives
qui
permettent
de
construire
une classe
très
large
de
réseaux.
Les
invariants que
nous pouvons
déterminer
permettent
de garantir sans grands frais les propriétés du système
liées à la sûreté de fonctionnement. Si le réseau est borné, sa vivacité peut être
décidée
par
construction
du
graphe
des marquages accessibles. sinon,
il
faut
recourir
à
la
simulation.
Ces
différentes
techniques
de
validation
sont

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
48
complémentaires et peuvent être gérées de façon cohérente par un outil d'aide à
la
conception.
6 . 5 LES EXTENSIONS POSSIBLE
L'organisation des ateliers de
production
ne conduit malheureusement pas
qu'à
des
processus
séquentiels
qui
coopèrent
par
synchronisation
directe.
Les
problèmes de
transport des
pièces qui
sont des
problèmes
très
importants
ne
relèvent pas par exemple de ce type de modélisation. Nous étudions ici. quelques
extensions possibles de
la démarche présentée. qui
penneltent
de couvrir une
classe plus importante de situations.
6.5.1 LA MODELISATION DE L'ETAT DE L'ENVIRONNEMENT A L'AIDE
D'UN AUTOMATE
Pour décrire l'état dans lequel doit être l'environnement pour qu'un ordre
de commande puisse être déclenché. nous avions choisi de nous appuyer sur les
notions
de
conditions.
d'événements
et
de
politique
de
consommation
des
occurrences
d'événements.
Il
est
des
cas

l'état
que
doit
vérifier
l'environnement
se
décrit
plus
simplement
en
caractérisant
l'ordre
d'occurrence de certains événements. Par exemple, dans l'atelier de bobinage, si
nous
supposons
que
du
fait
des
choix
technologiques
les
variables
d'entrée
Ereq[il. Ecasse[i] et Efbob[i] ne doivent pas être considérées comme des variables
binaires
non
fugitives,
mais
plutôt
comme
des
variables
binaires
fugitives,
la
machine à états de la figure 6.21 pennet de caractériser l'état d'un bobinoir
en
caractérisant
l'ordre
dans
lequel
les
événements
i Ereq,
i Efbob et i Ec a s s e
peuvent
se
produire.
La condition de déclenchement de l'opération "Adepse
: = vrai"
peut se
définir alors comme un test à 1 de la place P3 de ce réseau. Ainsi. on s'assure que
le système embarqué ne démarrera que si une requête a été émise et si entre
temps une casse de fil n'a pas eu lieu. En appliquant successivement la règle de

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
49
réduction d'anneau [Boussin 78] , (cf. figure 6.22), et la suppression de transition
neutre sur ce réseau, on peut le réduire en une place qui est une place implicite
qui peut donc être supprimée 11 son tour. Le test 11 1 introduit ne modifie donc pas
les propriétés du réseau initial.
fEr~
p3
f Ereq
f Ecasse
Figure 6.21
Figure 6.22
On
remarquera
que
dans
la
spécification
de
la
pompe
de
Kramer
(cf.
section
2.6.1),
ce
mode
de
définition
de
la
synchronisation
des
tirs
d'une
transition
à
l'évolution
de
l'environnement
a
été
utilisé.
En
fait,
le
réseau

Ch. 6: AIDE A LA CONCEPTION DU COMPORTI:MENT EXTERNE
Page:
50
obtenu peut également être construit en
utilisant notre
démarche.
6.5.2
LA COMPOSITION DE RESEAUX PAR FUSION DE PLACES
Dans [Valelle 85 al , on montre comment construire et valider un réseau de
façon
ascendante
à
partir
de
réseaux
plus
élémentaires
ayant
de
bonnes
propriétés.
Celle
méthode
est
particulièrement
bien
adaptée
pour modéliser la
commande de chariots filoguidés.
Le réseau de transport est subdivisé en sections.
Des capteurs pennellent
de détecter les fins de courses dans chaque section. Pour éviter les collisions, à
tout instant on ne doit avoir au plus qu'un seul chariot présent dans une section.
Le réseau de la figure 6.23
décrit le contrôle d'une section.
SF
Figure
6,23
Le tir de la transition IS correspond à l'entrée d'un chariot dans la section,
le tir de la transition CR à la détection de la fin de course dans la section, et le tir
de la transition OS à la sortie du chariot de la section.
Par ailleurs, le marquage de
la place SOC signifie qu'un chariot est en
déplacement dans la section, le marquage de la place SF que la section est libre,
et le marquage de la place SFC qu'aucun chariot n'est en déplacement dans la
section.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
51
Ce réseau est vivant et admet les invariants de places suivants
M (SOC) + M (TC) + M (SF) = 1
M (SOC) + M (SFC) = 1.
Le
réseau global modélisant la commande du réseau de transport s'obtient
en
composant
les
réseaux
élémentaires
correspondant
à
la
commande
des
différentes sections. Par exemple. la commande d'un croisement est décrit par le
réseau de la figure 6.24. qui a été obtenu en fusionnant les places SFC.
On
montre
que
lorsqu'on
compose
deux
réseaux
de
cette
façon.
les
invariants
de
places
qui
ne
contiennent
pas
de
pl ace
concernée
par
la
composition
sont
tous
préservés.
SF2
SF1
Figure 6.24
Par
ailleurs.
lorsque
l'on
compose
deux
réseaux.
si
deux
invariants de
places sont tels qu'une place de l'un des invariants est fusionné avec une autre
place de même poids de l'autre invariant. et toutes les autres places des deux

Ch. 6: AIDE A LA CONCEPTION DU COMPORlEMENT EXTERNE
Page:
52
invariants ne sont pas concernés par la fusion. alors la concaténation des deux
invariants est un
invariant du réseau résultant.
Ces
deux
propriétés
permettent
de
calculer
les
invariants
de
places
suivants
pour le réseau de la figure 6.24
M (SOCI) + M (SFC) + M (S0C2) =1
M (SOCI) + M (TCI) + M (SFI) = 1
M (S0C2) + M (TC2) + M (SF2) = 1.
La
première
équation
permet
de
déduire
qu'après
compositIOn.
le
componement décrit garantit qu'on
ne
peut avoir au plus qu'un chariot dans
une
section.
Le réseau de la figure 6.23. et ses invariants peuvent être construits par
raffinements successifs à l'aide de nos primitives comme indiqué dans la figure
6.25.
SR:
TC
I~-.o--J
IS
- o S F
I~
IS~~
SF
~
EMBUS')
!IF
M(SI') - •
SEQ(IS.(IS;OS)
EXC(1Sl
SF
U(SF)+ M(TC) - •
M(SF) + M(TC) - •
SEO(IS. (IS; CR)
M(SFCI- ,
M(SF) + M(TC) + M(SOC) - ,
M(SFC) + U(SOC) - ,
Figure
6.25
En incluant dans notre démarche une primitive de composition par fusion
de places telle que nous venons de le voir, on voit bien qu'on se donne un moyen
supplémentaire
pour construire
rigoureusement
d'autres
types
de
réseaux.
tels
ceux décrivant la commande de chariots filoguidés.

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
53
6.5.3 COMPOSITION PAR FUSION DE TRANSITIONS ET SUBSTITUTION DE
SOUS·RESEAUX
Mentionnons
enfin
l'existence de
deux
autres
théorèmes
importants
pour
la synthèse de réseaux par composition présentés dans [ André 81
J. Ces deux
théorèmes concernent la composition de réseaux par fusion
de transitions et la
substitution
de
sous-réseau.
Ces
deux
opérations
sont
particulièrement
intéressantes
lorsque
les
réseaux
concernés
ont
même
abstraction
sur
leurs
transitions frontières.
Dans ce cas, leur comportement est préservé.
On
peut
par
exemple,
interconnecter
la
spécification
d'un
processus
séquentiel
producteur
de
pièces,
et
la
spécification
d'un
processus
séquentiel
consommateur
de
pièces.
en
substituant
dans
un
réseau
décrivant
les
contraintes
de
synchronisation
de
ces
deux
processus.
un
sous-réseau
par
un
autre décrivant un système de convoyage (cf. figure 6.26).
Processus
Processus
producteur
consommateur
Spécificafion de
la commande du
système de
convoyage
Figure 6.26
Dans
un
environnement
d'aide
à
la
conception,
il
peut
alors
être
intéressant
de
constuire
une
bibliothèque
de
réseaux
embryons
qui
décrivent
différents
types
de
files
FIFO
que
l'on
valide
préalablement.
Ces
embryons
peuvent
ensuite
être
raffinés
pour
décrire
la
commande
de
systèmes
de

Ch. 6: AIDE A LA CONCEPTION DU COMPORTEMENT EXTERNE
Page:
54
convoyage
spécifiques.
et
interconnectés
de
cette
façon
à
la
spécification
de
processus
séquentiels.

Ch. 7 : AIDE A LA CONCEPI'ION DU COMPORTEMENT INTERNE
Page :
1
Chapitre 7
AIDE A LA CONCEPTION
DU
COMPORTEMENT INTERNE

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
2
PLAN
Page
7.0 INTRODUCfION
7/4
7.1
L'APPROCHE DE DECOMPOSITION PAR PARTITIONNEMENT
7/6
7.1.1 Le cas des transitions non frontières (règle RDO 1)
7/8
7.1.2 Les
transitions frontières
non en connit structurel
avec
d'autres transitions frontières
7/9
a) La règle RD02
7/9
b) La règle RD03
7/12
c) La règle RD04
7/16
d) La règle RD05
7/20
e) La règle RD06
7/24
f) La règle RD07
7/26
g) La règle RD08
7/28
7.1.2 Les transitions frontières en connit structurel
7/32
a) La règle RD09
..
7/31
b) La règle RDI0
.
7/36
c) La règle RDll
.
7/42
d) La règle RD12
..
7/44
7.2 L'APPROCHE DE DECOMPOSITION PAR DEDOUBLEMENT
..
7/46
a) La règle RD13
.
7/47
b) La règle RD14
..
7/49
7.3 L'APPROCHE DE DECOMPOSITION PAR SUBSTITUTION DE BLOCS
BIEN FORMES
.
7/50
a) La règle RD15
..
7/51
b) Composition de la règle RD15 avec les règles RD04 et RD08
..
7/55
704 LA PRISE EN COMPTE DES PROBLEMES DE PRESENTATION
..
7/57
704.1 L'ajout de places implicites
..
7/57
704.2 Transformation
des
communications
asynchrones
exprimées à l'aide de rendez-vous
.
7/58
704.3 Réduction des sous réseaux
.. 7/61

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
3
7.5 L'ALGORITHME DE DECOMPOSITION
7/63
7.6 EXEMPLES
7/64
7.7
COMPARAISON
7/78

01. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
4
7.0 INTRODUCTION
Dans
le
chapitre
8.
nous
avons
présenté
une
démarche
méthodique
qui
permet de constuire à l'aide d'un RdPI la spécification du comportement externe
d'un système de commande. Dans cette démarche. l'une de nos
préoccupations
essentielle a été de garantir par construction les bonnes propriétés des réseaux
que le spécifieur construit. de manière à lui éviter ou à lui simplifier les étapes
délicates
de validation.
Dans ce chapitre. nous abordons avec
le même état d'esprit la phase de
conception
du
comportement
interne.
Par
rapport
à
notre
démarche
globale.
cette
phase
concerne
le
passage
du
niveau
conceptuel
au
niveau
organisationnel.
Son
but
est
donc
de
déterminer
l'architecture
interne
qui
facilitera
le
mieux.
ou
qui
rendra
possible
l'implémentation
ultérieure
du
système de commande sur un réseau de processeurs.
Elle
conduit
pour
l'essentiel
à
regrouper
dans
un
même
module.
en
fonction
de
différentes
contraintes.
(contraintes
de
temps,
contraintes
géographiques,
contraintes
de
robustesse.
etc
... ).
les
prises
en
compte
d'événements
externes
(Le
les
entrées),
et
les
déclenchements
d'opérations
de
commande (Le les sorties). qu'il est important de ne pas dissocier, et à définir le
comportement des différents modules
ainsi constitués.
La difficulté majeure de cette phase de conception réside dans la définition
du comportement des entités modulaires. En effet. par définition. ces entités ne
peuvent
partager
de données communes. De ce fait. les décisions prises dans un
module ne peuvent tenir compte que d'un état partiel du système de commande.
Pour que chaque module
puisse disposer d'informations
suffisantes pour assurer
les
mêmes
interactions
avec
l'environnement
que
celles
définies
par
la
spécification
du
comportement
externe,
il
est
donc
indispensable
de
modifier
cette
spécification
pour
prendre
en
compte
en
plus
la
coopération
in ter-mod u 1ai re.

Ch. 7 : AIDE A LA CONCEPTION DU COMPOR'ŒMENT INTERNE
Page:
5
Notre objectif est de décharger le concepteur de cette tâche. et de lui éviter
par
la
même
occasion
la
nécessité
de
vérifier
la
cohérence
entre
le
comportement
externe
et
le
comportement
interne
de
son
système.
Pour
cela,
nous
nous
appuyons
sur
trois
approches
de
décomposition
d'un
réseau
en
sous-réseaux.
Ces
trois
approches
offrent
différentes
possibilités
de
regroupement
des
entrées/sorties
d'un
système
de
commande
dans
des
sous-réseaux
qui
communiquent
par échange de messages pour assurer le même
comportement que le réseau initial. Ce sont :
-
l'approche
de
décomposition
par
partitionnement
l'approche de décomposition par dédoublement
et l'approche de décomposition par substitution de blocs bien formés.
Les
deux
premières
approches
permettent
de
concevoir
une
architecture

le
contrôle
est
décentralisé
entre
les
différents
modules.
et
la
troisième
approche
de
hiérarchiser
le
contrôle
pour
distinguer
par
exemple
un
niveau
coordination
et
un
niveau
commande
locale.
Pour
chacune
de
ces
approches.
nous
proposons
des
règles
de
décomposition
qui
permettent
de
reconstruire de
façon
systématique
les
différents
sous-réseaux.
lorsque
les
choix
de
regroupement
des
entrées/sorties
sont
connus.
De
façon
générale.
ces
règles
conduisent
à une duplication
plus
ou
moins
importante
d'information
sur
l'état
du système dans les différents sous-réseaux. et à la mise en place d'un protocole
de
coopération
par
échanges
de
messages
pour
la
mise
à
jour
de
cette
information.
La complexité
des
modifications
qui
peuvent
ainsi
être
introduites
est
en
rapport
avec
les
liens
temporels
qui
doivent
exister
entre
les
entrées/sorties
réparties
dans les différents modules.
Plus
ces
liens seront
forts.
plus
les
modifications
introduites
seront
complexes.
Ainsi,
mis
ensemble,
les
primitives
de
raffinement
et
les
règles
de
décomposition permettent à un concepteur de construire des
systèmes complexes
et
sûrs
de
fonctionnement.
sans
passer
nécessairement
par
des
étapes
de
validation.

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
6
Dans
ce
qui
suit.
nous
présentons
successivement
les
règles
de
décomposition
pour
le
partionnement
(section
7.1),
le
dédoublement
(section
7.2), et la substitution de sous-réseaux (section 7.3). Ensuite, nous aborderons la
prise
en
compte
des
problèmes
de
présentation
des
sous-réseaux
résultants
(section 7.4).
Un algorithme de décomposition fondé
sur ces différents aspects
sera alors présenté (section 7.5).
Nous terminerons le chapitre en illustrant la
démarche
sur des exemples (section 7.6), et en
la comparant à une
approche
similaire proposée dans [ Valette 82 J
[Courvoisier 83], (section 7.7).
Pour simplifier l'exposé. pour chacune des
règles que nous
présenterons,
nous
considérerons
que
la
décomposition
conduit
à
deux
sous-réseaux.
Le
recours
aux
liaisons
divergentes
et convergentes
(c.f.
sections
2.5.2 et
2.5.3)
permet de généraliser ces règles, et de réaliser des décompositions en autant de
sous-réseaux
que
nécessaire,
sans
introduire de
complication
supplémentaire.
7.1 L'APPROCHE DE DECOMPOSITION PAR PARTITIONNEMENT
C'est
l'approche
qui
convient
le
mieux
lorsque
les
contraintes
de
structuration
permettent
de
garder
le
plus
possible
groupé
les
entrées/sorties
logiquement
dépendantes.
Elle
conduit
le
concepteur
à
partitionner
le
réseau
qui
décrit
le
comportement externe de
son système en
différents
sous-réseaux
par rapport à des transitions
frontières.
Ce
partitionnement
précise
d'une
part
les
transitions qui
doivent être entièrement
incluses
dans un
sous-réseau.
et
d'autre
part,
pour
chaque
transition
frontière,
la
répartition
dans
les
différents
sous-réseaux
des
places
en
entrée
et
des
places
en
sortie,
et
l'affectation du
prédicat associé.
Dans
ce
qui
suit,
nous
passons
en
revue
différents
schémas
de
décomposition
possibles
d'une
transition
frontière.
Nous
verrons
que
pour
certains schémas de décomposition,
il est en
pratique impossible de mettre en
place
un
protocole de
synchronisation
qui
préserve
le comportement externe
initialement spécifié, sans une vue globale de l'état du système. De ce fait, ces
schémas constituent un guide pour le concepteur. Ils indiquent les contraintes à

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
7
respecter dans un
réseau pour rendre
possibles certains choix d'organisation.
Pour
faciliter
la
lecture.
nous
présenterons
chaque
fois
la
formalisation
des
règles de décomposition
de
façon
textuelle
et
graphique.
La
formalisation
graphique s'appuie sur les conventions suivantes
1)
Les
choix
de
décomposition
au
niveau
d'une
transition
frontière
sont
exprimés
à
l'aide
d'un
trait
vertical.
Nous
supposerons
que
les
places
qui
apparaîssent à gauche de ce trait sont affectées au sous-réseau RI' et les places
qui apparaîssent à droite au sous-réseau R(. Par ailleurs. si le prédicat (noté ri)
associé à la transition
frontière
apparaît à gauche du
trait,
nous considérerons
qu'il
est affecté
au sous-réseau RI"
et s'il apparaît à droite qu'il est affecté au
sous-réseau
RI".
2)
Les
places
en
entrée
auxquelles
est
associé
un
arc
pendant
indiquent
la
présence
de
places
en
entrée
de
plusieurs
transitions.
Les
places
en
entrée
auxquelles est associé un arc pendant marqué d'une croix indiquent l'absence de
places
partagées
par
plusieurs
transitions.
Et
enfin
les
places
en
entrée
auxquelles
aucun
arc
pendant
n'est
associé
indiquent
la
présence
de
places
partagées par plusieurs transitions ou
non.
7.1.1 LE CAS DES TRANSITIONS NON FRONTIERES
Ce cas correspond à la règle la plus triviale. Elle
consiste tout simplement
à inclure
entièrement
dans
un
sous-réseau
une transition
avec
ses places en
entrée, ses places en sortie et le prédicat
qui lui est associé.

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
8
Règle
RDOI
Définition D.?,)
Soit RI un RdPI à décomposer
par partitionnement en deux réseaux RI' et
R"':
RI = < R; V; OP; PR; oj) ; '1' > avec R = < P, T; Pre, Post >
RI' = < R' ; V' ; OP ; PR' ; oj)' ; 'l" > avec R' = < P, T' ; Pre', Post' >
RI" = < R" ; V" ; OP" ; PR" ; oj)" ; 'l''' > avec R" = < P", T" ; Pre", Post" >.
Les transformations correspondant au choix de décomposition qui consiste
à inclure entièrement dans un des deux sous-réseaux, disons RI"
toute transition
tx e T avec ses places d'entrée, ses places de sortie, et son prédicat associé, sont
définies comme suit :
( 1 )
T' ~ T' + ( tx )
(La transition t
est incluse dans T')
x
(2)
P' ~ P' + ( , lx + t ' )
x
(Les places en entrée et en sortie de la transition tx sont incluses dans P')
(3)
\\1 p e P : Pre' (p, tx) = Pre (p. tx) si peP 0 sinon.
(La
transition tx conserve les mêmes places en entrée dans R et R').
(4)
\\1 peP : Post' (P. tx) = Post (p, tx) si pe P 0 sinon.
(La transition
tx conserve les mêmes places en sortie dans R et R')
(5)
'l''{tx)='I'(tx)
(La
transition tx conserve la même interprétation dans RI et RI'
( 6 )
\\1 P e (, t
+ t
. ) : oj)' (p) = oj) (p)
x
x
(Les places en entrée et en sortie de la transition t
conservent
la
x

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
9
même interprilation dans RI et RI'), ~
La figure
7.1
schématise graphiquement celle
règle.
IX 1111
1
1
R'
R"I
1
Figure 7.1
7.1.2LES TRANSITIONS FRONTIERES NON EN CONFLIT
STRUCTUREL
AVEC D'AUTRES TRANSITIONS FRONTIERES
Nous
regroupons
dans
celle
section
la
présentation
des
schémas
de
décomposition
des
transitions
frontières
qui
ne
sont
pas
en
conflit
structurel
avec
d'autres
transitions
frontières.
a) La règle RD02
Celle
règle
concerne
les
transitions
frontières
étiquetées
par
le
prédicat
prO (i.e. le prédicat toujours vrai).
Définition D 7.2
Soit RI un RdPI à décomposer
par partitionnement en deux réseaux RI' et

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
10
RI" :
RI = < R; V; OP; PR; 41 ; '1' > avec R = < P, T; Pre, Post >
RI' = < R' ; V' ; OP' ; PR' ; 41' ; 'l" > avec R' = < P', l ' ; Pre', Post' >
RI" = < R" ; V" ; OP" ; PR" ; 41" ; 'l''' > avec R" = < P", T" ; Pre", Post" >.
Pour toute transition frontière tf E T telle que
( 1)
'1' (tf) = prO
(Le prédicat associé d
tf est le prédicat toujours vrai)
(2)
·tf = E'f+E"f, E'f n E"f=R1
(E'f et E"f définissent
un
partitionnement
des
places
en
entrü
de tr e n
deux
sous-ensembles
disjoints).
(3)
tr = S'f+ S"f ' S'f n S"f= R1
(S' f et Sr" définissent un partitionnement des places en sortie de
tf e n
deux
sous-ensembles
disjoints).
( 4)
Er' = R1 ou Er" = R1 .. Sr' '# R1 et Sr" '# R1
(E f' et Sr' ne sont pas simultanément vides et Er" et Sr" non plus)
(5)
\\1 P E ·tf' \\1 t ET: t '# tf et Pre (p, t) > 0..
t
n'est pas une transition frontière
(Aucune des places d'entrü de la transition tf n'est en entrü d'une autre
transition
frontière)
Les
transformations
correspondant
au
choix
de
décomposition
qui
consiste à affecter les places contenues dans Ef' et Sf'
au sous-réseau RI' et les
places contenues dans Er" et Sr" au sous-réseau RI" sont définies comme suit :
(6)
T' <- l ' + ( Stx ) (Dans T'on inclut une nouvelle transition Stx )
(7)
P' <- P' + Ef' + Sr' (Dans P' on inclut les places contenues dans Ef' et Sf')

Ch. 7 : AIDE A LA CONCEPTION DU COMPORlEMENT INfERNE
Page:
Il
(8)
'V peP' : Pre' (P. Stx) = Pre (P. tf) si p e Ef' et 0 sinon
(La nouvelle transition
Stx reçoit en entrée les places contenues dans Ef ').
(9)
'V
peP': Post' (p, Stx) = Post (P. tf) si p e Sf' et 0 sinon.
(La nouvelle transition Stx reçoit en sortie les places contenues dans S'f)'
n~ ••
D "
~l-
(10)
T" <- T" + ( 11&, )
(Dans T" on inclut une nouvelle transition 11~
(1 1)
P" <- P" + Er" + Sr" (Dans
P"
on inclut les places contenues dans
Er" et Sr")
(12)
'V peP" : Pre (p,l1~ = Pre (p. tf) si peEr" 0
sinon
(La
nouvelle transition 11&, reçoit en entrée les places contenues dans Er")
(13)
'V peP" : Post" (P. 11&,) = Post (p, tf) si p e Sr" 0 sinon
( La nouvelle transition St x
reçoit en sortie les places contenues dans
S {).
L!IllLl:.......I:..u...RI:
(14)
'fi' (Stx) = ?Mx ' 'fi" (11~ = ! Mx (Un rendez-vous est difini entre Stx et 11&,)
(15)
'V pe Ef'+Sf':cI>'(P)=cI> (p)
(Les places contenues dans E'f et S'f conservent leur interprétation
dans
RI')
(16)
'V pe Er"+S{: cI>"(p)=cI> (p)
(Les places contenues dans
Er" et Sr" conservent leur
interpritation dans
R().
La formalisation graphique de cette règle est décrite par la figure 7.2.

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
12
t~ o 1
"î'4Mb: uf<,-
1
1
R"
R'I
1
Figure 7.2
(Validation en annexe C. chapitre C.I)
b) La règle RDOJ
Cette
règle concerne les transitions
frontières
étiquetées
par un
prédicat
différent de prO et n'ayant en entrée que des places non partagées.
Définition D7.3
Soit RI
un RdPI à décomposer par partitionnement en deux
sous-réseaux
RI" ct RI":
RI = < R ; V ; OP ; PR ; 4> ; '1' > avec R = < P. T ; Pre. Post>
RI' =< R' ; V' ; OP' ; PR' ; 4>'; 'l" > avec R' =< P'. T ; Pre' • Post' >
R{ = < R" ; V'; OP" ; PR" ; 4>" ; 'l''' > avec R' = < p". T" ; Pre" ; Post" >.
Pour toute transition frontière tf E T telle que
(1 )
'1' (tf)" pr 0

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
13
(Le prédicat associé Il
If est différent du prédicat toujours vrai)
(2)
'If= Ei+E(, Ei n Ei'=flJ, lEil>O,IE{J>O
(E f' et El" définissent un partitionnement des places en entr/e de If e n
delU
sous-ensembles
disjoints)
(3 )
If = Si + Si' , Si n Sl' = flJ
(Sf' et
SI" définissent
un partitionnement
des
places
en
sortie
de If e n
delU
sous-ensembles
disjoints)
( 4 )
1/ P e Ei + El' : P' = { If 1
(La seule transition en sortie des places contenues dans Ei et El' est If)'
Les transformations correspondant en choix de
décomposilion
qui
consiste
à associer
les
places contenues dans
Ef ' et Sf' au sous-réseau RI" les places
contenues dans El" et SI" aux sous-réseaux RI'"
et le prédicat défini par '1' (tf) à
l'un des deux sous-réseaux (disons RI') sont définies comme suit :
lliuI.L..RI:
(5)
T<-T+{Stx,SIyI
(Dans T on inclut delU nouvelles transitions Six et Sty)
( 6 )
P' <- P' + Ei + Si + ( SPy 1
(Dans P' on inclut les places contenues dans
E i, Sf' et une nouvelle place
SPy)
(7)
1/ peP' : Pre' (p, Stx) = Pre (p, tf) si p e Ei 0 sinon
(La nouvelle transition Stx reçoit en entr/e les places contenues dans Ei)
( 8 )
1/ peP' : Post (P, Stx) = 1 si P = SPy
0 sinon
(La
nouvelle transition Stx reçoit en sortie la nouvelle place SPy)
(9)
1/ peP' : Pre' (p, SIy) = 1 si P = SPy
0 sinon

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMEIU INTERNE
Page:
14
(La nouvelle transition
Sly reçoit en entrée la nouvelle place SPy)
(10)
V pEP' : Post' (P. Sly) = Post (p. tr) si p E Sr'
0 sinon
(La
nouvelle transition Sly reçoit en sortie les places contenues dans SC').
L2..a.a.L.RI:
(11) T" <- T" + I.1l
+ ~ }
A
(Dans
T" on inclut deux nouvelles transitions hA et ~)
( 1 2)
poo <- poo + Ei' + Si' + 1b~ }
(Dans
poo on inclut les places contenues dans Ec". Sc" et une nouvelle place
1ll..x.)
( 13)
V pEP" : Pre" (p, hx.> = Pre (P. te) si pEEr"
0 sinon
(La
nouvelle
transition
113.. reçoit en entrée les places contenues dans
E{)
(14)
V pEP": Post" (p. hx.> =
1
si P = ~
et 0 sinon
(La nouvelle transition
hA reçoit en sortie la nouvelle place h0
(15)
V pEP" : Pre" (p, Sly) = 1 si
P = SPy et 0 sinon
(La
nouvelle
transition ~ reçoit en entrée la nouvelle place~)
(16)
V pEP" : Post" (P. h0 = Post (p. te) si p E Sc" et 0 sinon
(La
nouvelle
transition Sly reçoit en sortie les places contenues dans SC").
~1:..u....RI:
(17)
'l" (Stx) = ?Mx' 'l''' (Stx) = ! Mx
(On
définit une synchronisation par rendez-vous entre
Stx et hA)
(18)
'l" (Sty) = '1' (tr) ->? My . 'l''' <lL~) = ! My
(On associe le prédicat définit par '1' (tr) Il la transition Sly et on définit

Ch. 7 : AIDE A LA CONCEYfION DU COMPORTEMENT INTERNE
Page:
15
une synchronisation par relldez-vous entre
$ty et 1lx).
(19)
Il p E Ef' + Sf' : cil' (p) = cil (p)
(Les
places
contenues dans Ef' et Sf' conservent
la
même
interprétation
dans RI et
RI')
(20)
Il p E (Er" + Sr") : cil" (p) = cil (p)
(Les places contenues dans Er" et Sr"
conservent la même interprétation
daltS
RI et R{).
(21)
cil' ($Py) = cil" <h:t) = NOP. ~
Le schéma de décomposition et les règles de transformation de la règle
RD03 sont formalisés graphiquement dans la figure 7.3.
R',
R"I
Figure 7.3
Le
premier
rendez-vous
permet
au
sous-réseau
RI' de s'assurer que la
précondition définie par les places d'entrée de la transition tf est devenue vraie.

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
16
Ces places n'êtant pas partagêes. cette
information sera encore vraie lorsque le
prédicat r deviendra vrai et lorsque le deuxième rendez-vous aura lieu.
(Validation en annexe C. chapitre C.2)
c) La règle RD04
La
règle
RD04
se
distingue
de
la
règle
RD03
par
le
fait
que
le
sous-ensemble
de
places
affecté
à
l'un
des
deux
sous-réseaux
(disons
RI')
contient des
places
panagées.
Définition 7.4
Soit RI
un RdPI
à
décomposer par panitionnement en deux
sous-réseaux
RI' et Rt".
RI = < R; V; OP; PR; cil ; '1' > avec R = < p. T; Pre, Post>
RI' = < R' ; V' ; OP ; PR' ; cil'; 'l" > avec R' = < P. T' ; Pre' • Post' >
Rt" = < R" ; V'; OP" ; PR" ; cil" ; 'l''' > avec R' = < 1"', T" ; Pre" ; Post" >.
Pour toute transition frontière tf E T telle que
( 1 )
'1' (tf)" pr 0
(Le prédicat associé d tf est différent du prédicat toujours vrai).
(2)
·tf=Ef'+Er", Ef' n E{=0', IEf'l ~O, IE{I>O
(E f' et Er" définissent
un
partitionnement
des
places
en
entrée
de
la
transition tf en deuA:
sous-ensembles disjoints).
(3)
tf' = Sf' + Sr" '
Sf' n Sr" = 0'
(S f' et Sr" définissent
un
partitionnement
des
places
en
sortie
de
la
transition tf en deuA: sous-ensembles disjoints).

Ch. 7 : AIDE A LA CONCEf'fION DU COMPORTEMENr INTERNE
Page:
17
(4)
3 p e EC" 3 t e T telles que : Pre (p, t) > 0 et t ~ tc
(Dans EC' il existe au moins une place partagée)
(5)
'v' pe Er" :p'= 1trI
(La seule transition en sortie des places contenues dans Er" est tC)'
(6)
'v' P e ·tc, 'v' te T: t ~ tc et Pre (p, t) > 0..
t n'est pas une transition
Crontière
(Aucune des places d'entrée de la transition tc n'est en entrée d'une autre
transition
frontUre)
Ics
transCormations
correspondant
au
choix
de
décomposition
qui
consiste
à
aCCecter
les
places
contenues
dans
EC' et Si' au sous-réseau RI"
les
places
contenues
dans
Er" et Sr" au sous-réseau RI'"
et le prédicat défini par '1' (tC) au
sous-réseau
RI' sont définies comme suit :
l2luI.L.Ar'
(7)
1" <- 1" + 1 $tx' $ly }
(Dans
1" on inclut deux nouvelles transitions
$tx et
$ly)
( 8 )
P' <- P' + EC' + SC' + 1$px' $Py }
(Dans P' on inclut les places contenues dans
E C" SC' et deux nouvelles
places
$px et $Py)
(9)
MO' ($px) = 1 (On marque initialement la place $px à
1)
(10)
'v'pe P':Pre'(p,$tx)=I
sip=$px o sinon
(La
nouvelle
transition $tx reçoit en entrée la nouvelle place $px)
(lI)
'v' peP' : Post' (p, $tx) = 1 si P = $Py 0 sinon
(La nouvelle transition
$tx reçoit en sortie la nouvelle place $Py)
(12)
'v' peP' : Pre' (p, $ly) =
Pre (p, tC) si p e EC'

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
18
si p=$Py
o sinon
(La
nouvelle transition $ly reçoit en entrie les places contenues dans
Er'
et la nouvelle place
$Py)
(13)
V pEP' : Post' (P, $ly) :
POSI (p, tr) si p E Sr'
si p = $px
o sinon
(La
nouvelle
transition $ty reçoit en sortie les places contenues dans Sr'
et la nouvelle place $px)
nn __ 1> "
~l-
(14)
T" <- T" + ( Sl,l\\.' Sl,~ )
(Dans
T" on inclut deux nouvelles transitions
11.3.. et ~)
(15)
P"<-P"+Er"+Sr"+{k~}
(Dans
P" on inclut les places contenues dans Er", Sr" et une nouvelle place
~)
(16)
V pEP" : Pre" (p, 11.&1 = Pre (p. tr) si pEEr"
0 sinon
(La
nouvelle
transition hA. reçoit en entrie
les places contenues dans
Er")
(17)
V pEP" : Post" (p, 11.&1 = 1 si P = k~ 0 sinon
(La nouvelle transition
11.3.. reçoit en sortie la nouvelle place h~)
(18)
V pEP" : Pre" (p, S1~) = 1
si P =~
0
sinon
(La
nouvelle transition ~ reçoit en entde la nouvelle place
h~)
(19)
V pEP" : Post" (p. ~) = Post (p. tr) si p E Sr"
0 sinon
(La
nouvelle transition S1~ reçoit en sortie les places contenues dans Sr").

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
19
l2an.L..&.1:..n....&1:
(20)
"" (Stx) = ?Mx ' "''' <il.&.) =! Mx
(On difinit une synchronisation par rendez-vous entre
St x et il.&..)
(21)
"" (Sly) = '" (ir) ->? My. "'''~) =! Mx
(On associe le prédicat difini par
'" (tC) à la trallSition
St y ,et on difinit
une synchronisation par rendez-vous entre
Sty et ~)
(22)
"1 p e Ei + Si : cil' (p) = cil (p)
(Les places contenues dans
E C' et SC' conservent
la
même
interpritation
dallS
RI et RI')
(23)
"IpeE{+S{:cIl"(p)=cIl(p)
(Les places
contenues dans
Er" et SC" conservent la même interpritation
(24)
cil' (SPx) = cil' (Spy) = cil" ~) = NOP
(Aucune opüation n'est associée aux nouvelles places). 0
La figure 7.4 donne la Cormalisation graphique de la règle RD04.
R'1
R"I
Figure 7.4

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
20
La synchronisation du tir des transitions $tx et 1lA. permet au sous-réseau
RI' de s'assurer que la précondition définie par les places contenues dans Er" est
devenue
vraie.
Ces places n'étant pas panagées, cette
information
sera encore
vraie lorsque la transition $ty deviendra validée et franchissable.
(Validation en annexe C, chapitre C.3)
d) La règle RDOS
Le schéma de décomposition correspondant à la règle RDOS est caractérisé
par deux points essentiels :
1°) Le
prédicat
associé
à la
transition
frontière
doit être un
événement
dont la politique de prise en compte des occurrences est indépendante du temps.
C'est le cas par exemple de la politique définie par le type de communication
égalité où la contrainte imposée est essentiellement une contrainte d'ordre ; dès
lors
qu'une
occurrence
est
produite,
elle
peut
être
prise
en
compte
plus
ou
moins
vite, pourvu
qu'au
moment de
sa
prise en
compte,
el1e
corresponde à
l'occurrence
la
plus
ancienne.
2°)
Par ailleurs, ce
prédicat doit être
affecté avec un
sous-ensemble de
places ne contenant pas de places panagées à l'un des deux sous-réseaux (disons
R"), et les autres places à l'autre sous-réseau (disons R'). Les places affectées à R'
peuvent être ou ne pas être panagées.
Définition D 7.5
Soit RI
un RdPI à décomposer par panitionnement en deux
sous-réseaux
RI' et RI" :
RI =< R ; V ; OP ; PR ; cp ; 't' > avec R =< P, T ; Pre, Post>

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENI' INTERNE
Page:
21
RI' =< R' ; V' ; OP' ; FR'; cil'; 'l" > avec R' =< P', T ; Pre' , Post' >
RI"' =< R" ; V' ; OP" ; FR" ; cil" ; 'l''' > avec R' =< P", T" ; Pre" ; Post" >,
Pour toute transition frontière tf E T telle que :
( 1 )
'1'
(t)
est
un
événement
dont
la
politique
de
prise
en
compte
des
occurrences
est
indépendante
du
temps
(2)
'tf = Er' + Er" '
Er' n Er" = ~
,
IEf'l > 0
, 1Er'! ~ 0
(E f' et Er" définissent
un
partitionnement
des
places
en
entrée
de
la
transition tf en
deux
sous-ensembles
disjoints)
(3)
tr = Sr' + Sr" • Sf' n Sr" = ~
(S f' et Sr" définissent
un
partitionnement
des
places
en
sortie
de
la
transition
tf en deux sous-ensembles disjoints)
( 4 )
'V pEEr" : p' = ( Ir 1
(La seule trallSition en sortie des places contenues dans Er" est tf)
(5)
'V P E 'tf' 'V tE T: t ~ tf et Pre (p, t) > 0..
t n'est pas une transition
frontière.
(Aucune des places d'entrée de la transition tf n'est en entrée d'une autre
transition
frontïtre)
les
transformations
correspondant
au
choix
de
décomposition
qui
consiste
à
affecter
les
places
contenues
dans
E f' et Sf' au sous-réseau RI"
les
places
contenues dans
Er" et Sr" au sous-réseau RI" et le prédicat défini par '1' (tf) au
sous-réseau
RI" sont définies comme suit :
llil..ILL.RI~
(6)
T' <- T' + ( Stx 1 (On inclut dallS T une nouvelle transition Stx)
(7)
P' <- P' + Ef' + Sf'
(On inclut dans
P' les places contenues dans Ef' et Sf')

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
22
( 8 )
\\1 peP' : Pre' (p, Stx) = Pre (p, Ir) si peEr' 0 sinon
(La nouvelle transition
St
reçoit en entrt!e les places contenues dans
x
Ef')
(9)
\\1 peP' : Post' (p, Stx) = Post (p, Ir) si p e Sf' 0 sinon
(La
nouvelle transition Six reçoit en sortie les places contenues dans
S f')'
nnH" 1)"
~l-
(10)
T" <- T" + (11l\\.-' (Dans T on inclut une nouvelle transition llx)
(11)
P" <- P" + Er" + Sr"
(Dans P" on inclut les places contenues dans Er" et Sr")
(12)
\\1 peP" : Pre" (p, Ill\\.) = Pre (p, tf) si peEr"
0 sinon
(La nouvelle transition Ill\\. reçoit en entrt!e les places contenues dans Er")
(1 3)
\\1 peP" : Post" (p, Ill\\.) = Post (p, tf) si p e Sr" 0 sinon
(La
nouvelle transition Ill\\. reçoit en sortie les places contenues dans Sr").
Qan.L..Ri-'LJ?l:'
(14)
"" (Stx ) =? Mx', "''' <hx) = '" (tf) -> ! Mx
(On associe le pridicat difini par'" (tf) à la transition 11.l\\.' et on difinit
une
synchronisation par
rendez-vous
entre Stx et Ill\\.)
(1 5)
\\1 peEr' + Sf' : cI>' (p) = cl> (p)
(Les
places
contenues
dans Ef' et Sf' conservent la mime interprt!tation
dans RI et RI')
(16)
\\1 peEr" + Sr" : cI>" (p) = cl> (p)
(Les places contenues dans Er" et Sr" conservent la
même
interprt!tation
La figure 7.5 schématise graphiquement le schéma de décomposition et les

Ch. 7 : AIDE A LA CONCEPI10N DU COMPORlEMENT INfERNE
Page:
23
règles de transformation de la règle RDOS.
lx
-+-
~
1
<Nb: u-f d-> 1Mx>
0
1
0
1
1
R'I
R"I
Figure 7.5
Dans le réseau initial, la précondition pour que les occurrences de r soient
prises en compte est que toutes les places en entrée de tf
soient
suffisamment
marquées.
On
notera
que
la décomposition
affaiblit
cette
précondition en
la
restreignant
aux
seules
places
contenues
dans
Er".
Les
occurrences
de
r
pourront de ce fait, après leur production, être prises en compte plus tôt. Leur
politique de prise en
compte étant
indépendante du
temps,
on
peut
considérer
que cela ne modifiera pas la logique du comportement externe.
Par
ailleurs.
on
notera
que,
pour
un
choix
de· décomposition
donné,
lorsque
les
places contenues dans
E f' ne sont pas partagées. ce choix satisfait
également le schéma de décomposition de la règle RD03.
De ce fait,
ces deux
schémas de
décomposition
ont une
intersection
non
vide.
Lorsqu'une
transition
frontière
satisfait les deux schémas. on appliquera de préférence la règle RDOS
qui conduit à une solution plus simple.
(Validation en annexe C. chapitre CA)

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENI' INTERNE
Page:
24
e) La règle RD06
Le schéma de décomposition de la règle RD06 se distingue du schéma de
décomposition de la règle RDOS d'une pan par le fait que le prédicat associé à la
transition
frontière
n'est
pas
un
événement
dont
la
prise
en
compte
des
occurrences
est
indépendante du
temps.
et d'autre
pan
par le
fait
qu'une au
moins des pl aces affectées au réseau RI' est panagée.
Définition D 7.6
Soit RI
un RdPI à décomposer par panitionnement en deult sous-réseau
RI' et RI"' :
RI =< R ; V ; OP ; PR ; cjJ ; '+' > avec R =< p. T ; Pre, Post>
RI' = < R' ; V' ; OP' ; PR' ; cjJ' ; '+" > avec R' = < P', T' ; Pre' , Post' >
RI"' = < R" ; V' ; OP" ; PR" ; cjJ" ; '+''' > avec R' =< p", T" ; Pre" ; Post" >.
Pour toute transition frontière tf E T telle que :
( 1)
'+'
(1)
n'est pas un événement dont la politique de prise en compte des
occurrences
est
indépendante
du
temps
(2)
·tf = Ef' + Er" ' Ef' n Er" = fiJ
, IEf'1 > 0
, 1Er"1 ~ 0
(E r' et
Er" définissent
un
partitionnement
des
places
en
entrée
de
la
transition tf en deux sous-ensembles disjoints).
(3)
tr' = Sf' + Sr" ' Sf' n Sr" =fiJ
(S f' et Sr" définissent
un
partitionnement
des
places
en
sortie
de
la
transition
tf en deux sous-ensembles disjoints)
( 4 )
3 P E Ef', 3 t E T telle que: Pre (P. 1) > 0 et t ~ tf
(Dans Er' il existe au moins une place partagée)

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEME!'n' INTERNE
Page:
25
(5)
\\lpeEr":
p' ={tfl
(La seule transition en sortie des places contenues dans Er" est tf)
(6)
\\1 P e ·tf. \\1 te T: t ~ tf et Pre (P. t) > 0..
t n'est pas une transition
frontière
(Aucune des places d'entrle de la transition tf n'est en entrle d'une autre
transition
[rontUre)
le choix de décomposition qui consiste à affecter les places contenues dans Ef' et
Sf' au sous-réseau R'
les places contenues dans Er" et Sr" au sous-réseau R" et le
prédicat défini par '1'
(t) au sous-réseau R" est impossible à réaliser. ~
R'
R"I
1
Figure 7.6
En
effet.
'1'
(t)
ne
représentant
plus
comme
dans
la
règle
RDOS
un
événement
dont
la
politique
de
prise
en
compte
des
occurrences
est
indépendante
du
temps,
on
ne
peut
plus
affaiblir
la
précondition
pour
sa
vérification,
sans
remettre
en
cause
le
comportement
initialement
défini.
Le
sous-réseau
RI" auquel ce prédicat est affecté doit donc. avant toute vérification.
s'assurer
que
la
précondition
intialement
définie
est
satisfaite.
Pour
effectuer
cette première vérification. le
réseau RI" aura besoin de
connaître à un instant

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
26
donné le marquage des places contenues dans Er'- En pratique, celle information
sera
impossible
à
obtenir.
Entre
une
notification
du
marquage
des
places
contenues
dans
Ef' par le sous-réseau RI" et la réception de celle notification
par le sous-réseau
RI"'.
le
marquage
notifié
peut évoluer.
puisque les
places
contenues
dans
Ef' sont aussi en entrée d'autres transitions pouvant être
franchies
de
façon
indépendante.
o La règle RD07
Celle règle caractérise également un schéma de décomposition
impossible
à réaliser. Ce schéma correspond au cas où les sous-ensembles de places affectés
aux
deux
sous-réseaux
contiennent
chacun
au
moins
une
place
partagée,
le
prédicat
associé
à
la
transition
frontière
étant
affecté
à
l'un
des
deux
sous-réseaux.
Définition D 7.7:
Soit RI un RdPI à décomposer par partitionnement en deux sous-réseaux
RI' et R{ :
RI = < R; V; OP; PR; <1> ; 'l' > avec R = < p. T; Pre. Post>
RI' = < R' ; V' ; OP' ; PR' ; <1>' ; 'l" > avec R' = < P', T ; Pre' • Post' >
R{ = < R" ; V' ; OP" ; PR" ; <1>" ; 'l''' > avec R' = < p", T" ; Pre" ; Post" >.
Pour toute transition frontière tf E T telle que
(1 )
'l' (tf)" prO
(Le prédicat associé d tf est différent du prédicat toujours vrai)
(2)
·tf=Ef'+E{. Ef' n E{=f21 ,IEf'I>O, IE{I>O
(E f' et E f"
définissent
un
partitionnement des
places
en
entrée
de
la

Ch. 7 : AIDE A LA CONCEPTION DU COMPOR'ŒMENf INTERNE
Page:
27
!ransition te en deux sous-ensembles disjoints)
(3)
tr =Si + Sr" • Sr' n sr" =flJ
(Sr' et Sr" définissent
un
partitionnement
des
places
en
sortie
de
la
transition tr en
deux
sous-ensembles
disjoints)
(4)
3 pEEr'. 3 te T telles que: Pre (p. t) > 0 et t '" tr
(Dans Er' il existe au moins une place partagée)
( 5 )
3 pEEr" • 3 t E T telles que: Pre (p. t) > 0
et
t '" tr
(Dans Er" il existe au moins une place partagée).
(6)
\\1 P E ·tr. \\1 te T : t '" tr et Pre (P. t) > 0..
t n'est pas une transition
rrontière.
(Aucune des places d'entrée de la transition tr n'est en entrée d'une autre
transition
frontitre)
le choix de décomposition qui consiste à arrecter les places contenues dans Er' et
Sr' au sous-réseau RI"
les places contenues dans Er" et Sr" au sous-réseau RI"' et
le prédicat défini
par '1'
(tr)
à
l'un
des
deux
sous-réseaux
(disons
RI ") est
impossible
à réaliser.
1
1
1
1
1
1
R'I
R"I
Figure 7.7

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
28
Les raisons de cette
impossibilité sont les mêmes que celles évoquées pour
la règle RD06 : avant de vérifier le prédicat '1' (tf) qui lui est associé, le réseau
R'"
ne
peut connaître
avec
exactitude
Je
marquage
des
places
affectées
au
sous-réseau
RI'.
g) La règle RDOS
Dans plusieurs des règles précédentes (RD03, RD04, RD05), nous avons
supposé que les places en entrée de la transition frontière
étaient partitionnées
en
sous-ensembles,
qui
ne
pouvaient
pas
toujours
être
vides.
Lorsque
ces
sous-ensembles
sont
vides,
les
protocoles
de
synchronisation
définis
restent
encore valables, mais peuvent aussi être définis plus simplement en
appliquant
la règle RD08.
Définition D 7,8
Soit RI
un RdPI
à décomposer par partitionnement en deux
sous-réseaux
RI' et RI" :
RI = < R; V ; OP; PR; cl> ; '1' > avec R = < P, T; Pre, Post>
RI' =< R' ; V' ; OP' ; PR' ; cI>' ; 'l" > avec R' =< P', T ; Pre' • Post' >
R{ = < R" ; V'; OP" ; PR" ; cI>" ; 'l''' > avec R' = < P". T" ; Pre" ; Post" >.
Pour toute transition frontière tf E T telle que
(Le prédicat associé à tf est différent du prédicat toujours vrai)
(2)
E f = ·tf. IE~ ~ 0
(E f désigne l'ensemble des places en entrée de la transition tf)
(3)
tr' = Sf' + Sr" . Sf' n Sr" = {l1 , rSi' > 0 , 1Sr'" > 0

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
29
(S r' et Sr" d~!inissent un partitionnement
des
places
en
sortie
de
la
transition
tr en
deux
sous-ensembles
disjoints)
(4)
\\ri P E ·tr • \\ri te T: t ~ tr et Pre (P. t) > 0 -
n'est pas une transition
rrontière.
(Aucune des places d'entrie de
la transition tr n'est en entrie d'une autre
transition
!rontUre)
les
transrormations
correspondant
au
choix
de
décomposition
qui
consiste
à
associer
les
places
contenues
dans
Er et Sr'
en
sous-réseau
RI"
les
places
contenues dans
Sr" au sous-réseau RI"' et le prédicat défini par If (tr) au réseau
R'" sont définies comme suit :
QQn.L.R.I~
(5)
T' <- T' + ( $lx ) (On inclut dans T une nouvelle transition
Stx)
(6)
P' <- P' + Er + Sr'
(On inclut dans P' les places contenues dans Er et Sr')
(7)
\\ri pEP': Pre' (P. Stx) = Pre (p. tr) si pEEr
0
sinon
(La nouvelle transition
Stx reçoit en entrie les places contenues dans Er)
(g)
\\ri pEP' : Post' (p. Stx) = Post (P. tr) si p E Sr' 0 sinon
(La
nouvelle transition S'x reçoit en sortie les places contenues dans
Sr').
lliuLt...RI::'
(9) T" <- T" + ( il&, ) (On inclut dans T" une nouvelle transition il&,)
(10)
P" <- P" + Sr" (On inclut dans P" les places contenues dans Sr")
(1 1)
lrI pEP" : Pre" (p. il~ =0
(La nouvelle transition
11&, ne reçoit aucune place en entrée)
(12)
\\ri pEP":
Post" (P. il&,) = Post (P. tr) si p E Sr"
0 sinon

Ch. 7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
30
(La
nouvelle
transition 1lji, reçoit en sortie les places contenues dans
Sf")'
QQn.LR.I~I:
(13)
'l" (SIx) = '1' (If) ->? Mx
'l''' <1..1&> =! Mx
(On associe le prédicat défini par '1' (Ir) à la transition SIx et on définit
une synchronisation par rendez-vous entre
SIx et 1lji,)
(14)
'V pe Ef + Sr': cil' (p) = cil (p)
(Les places contenues dans Ef et S'f conservent la m2me interprétation
(15)
'VpeSr":cIl"(p)=cIl(p)
(Les
places contenues
dans Sr" conservent la m2me interprétation dans
La figure 7.8 formalise graphiquemenl la règle RD08.
Figure 7.8

Ch.7: AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
31
(Validation en annexe B. chapitre C.S)
7.1.3 TRANSITIONS FRONTIERES EN CONFLIT STRUCTUREL
Nous abordons à présent l'étude des schémas de décomposition où plusieurs
transitions
frontières
sont
en
conflit
structurel.
Ces
schémas
peuvent
correspondre
par
exemple
à
des
situations

le
concepteur
cherche
à
encapsuler
séparément
les
tâches
utilisatrices
d'une
ressource
et
la
tâche
d'allocation de cette ressource. Pour ce type de schémas. les liens très forts qui
existent
entre
les
opérations
modélisées
conduisent
à
des
protocoles
de
synchronisation
plus
complexes.
Pour cela.
nous
restreignons
notre
étude
aux
cas

toutes
les
places
communes
des
transitions
en
conflit
sont
regroupées
dans un
sous-réseau. et les autres places en entrée de ces transitions
dans un
autre
sous-réseau.
a) La règle RD09
Dans le schéma de décomposition correspondant
à cette
règle.
les places
communes
et
les
prédicats
associés
aux
transitions
frontières
en
conflit
structurel ne sont pas affectés au même sous-réseau.
Définition D 7.9
Soit RI
un RdPI à décomposer par partitionnement en deux
sous-réseaux
RI =< R ; V ; OP; PR ; "" ; '1' > avec R =< p. T ; Pre. Post >
RI' =< R' ; V' ; OP' ; PR' ; ",,' ; 'l" > avec R' = < P'. T ; Pre'. Post' >
RI"' =< R"; V" ; OP" ; PR" ; ",," ; 'l''' > avec R" < P". T" ; Pre". Post" >.
Pour tout sous-ensemble Tf = ( tft ..... tfn) C
T de transitions frontières tel
que

Ch.7 : AIDE A LA CONCEPI10N DU COMPORTEMENT INTERNE
Page:
32
(l)
Ec = { Pj 1 Pj" = Tf J ~ !id
(E c désigne l'ensemble des places communes aux transitions contenues
dans
Tf)
(2)
'V ln E Tf:'ln = E'fi + Ec ' E'fi n Ec =!id • IE'fil2: 0
(E' fi et Ec définissent un partitionnement des places en entrée de
tfi en
deux
sous-ensembles
disjoints)
(3)
'V tfi E Tf, 'V P E E'fi : p' n (Tf - ( ln )) = !id
(Pour toute transition tfi E Tf' les places
contenues dans E'fi ne sont en
entrée d'aucune autre transition de
Tf)
( 4 )
'V tfi E Tf : tfi' = S'fi + sn fi • S'fi n S"fi = !id
(S'fi et
S"fi définissent un partitionnement des places en sortie de tfi en
deux
sous-ensembles
disjoints).
(5)
'V tfi' tfj E Tf. 'V P E Ec : Pre (p, tfi) = Pre(p, tfj)
(Pour chaque place
peE c' le
nombre de marques consommables
par
chaque
transition
tfi e Tf est le même)
les
transformations correspondant
au choix de
décomposition
qui
consiste pour
chaque
transition
tfi E
Tf à associer les places contenues dans E'fi et S'fi au
sous-réseau
RI"
les places contenues dans Ec et Sfi" au sous-réseau RI", et le
prédicat
éventuellement
défini
par
'l'
(tfi)
au
sous-réseau
R(
sont
définies
comme suit
(ft
et f2 sont deux applications qui associent respectivement une
nouvelle transition et une nouvelle place à une transition de Tf):
LùuLLRl:
(6)
T' <- T' + Tx + {S'Y J

T x = ( Stxi 1 f1($t xi) E Tf J

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page :
33
(Dans
T
on inclut une nouvelle transition
$t y • et pour chaque transition
frontUre tfi E Tf une lIOuvelle trallSition $txi )
(7)
P' <- P' + (1: lfiETf E'fi + S' fi) + ($Pyl ,$Py2 1
(Dans
P' on inclut deux nouvelles places
$Py 1 et $P y 2' et pour chaque
transition frontitre
tfi E Tf les places contenues dans E'fi et S'fi)
(8)
M'($Py l) = 1 (On1llllrquelaplace $Pylà 1)
(9)
\\1 lxi E Tx telle que f1($t xi) = tfi ' \\1 pEP' :
Pre' (p , $txi) = Pre (p, tfi) si p E E'fi
si P = $Py2
o sinon
(Chaque
transition $txi E Tx associée à une transition fronti~re tfi E Tf
reçoit en entrée les places contenues dallS
E'fi et la nouvelle place
$Py2)
(10)
\\1 Slxi E Tx telle que fl(Slxi) = tfi ' \\1 pEP':
Post'(p
• Slxi) = Post (p, tfi) si P E S'fi
1 si P=$Pyl
o sinon
(Chaque
transition
$txi E T x associée à
une
transition frontitre tfi E Tf
reçoit en sortie les places contenues dans S'fi et la nouvelle place
$Py 1)
(11)
\\lpEP':Pre'(p ,$ly) = Isi P=$Pyl
0
sinon
(La
nouvelle transition $ly reçoit en entrée la
nouvelle place
$Py 1 ).
(12)
\\1 pEP' : Post'(p • $ly) = 1 si P = $Py2
0
sinon
(La
nouvelle transition $ly reçoit en sortie la nouvelle place $Py2)'
n __ " 0
"
~l-
(1 3) T" <- T" + TA + (~ )

Ch.7: AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
34

TI..= (hxL 1 f1(hM) e Tf 1
(D ans T" on inclut
une nouvelle transition
~. et pour chaque transition
frontUre tfi e Tf une
nouvelle
transition 11r.J.
(14)
P" <- P" + Ec + (~ lfie Tf S"fi) + (b.):2. 1
(D ans P" on
inclut
une
nouvelle
place
~.
les
places
communes
contenues
dans Ec' et pour chaque transition fronti~re tfi e Tf. les places
contenues dans
S" fi).
(15)
V hM E TI.. telle que n(hM) =tfi • V peP":
Pre" (P. h3.i.) =
1 si P =~
0
sinon
(Chaque
transition 11rJ. eT&. associée Il une transition frontUre tfi e Tf
reçoit en entrie la place
~x2.)
(16)
V hM e TI.. telle n(hM) = ln. V peP" :
Post" (P. hM) = Post (p. lfi) si p e Sfi"
0
sinon
(Chaque
transition 11rJ. eT&. associée Il une transition frontUre lfi e Tf
reçoit en sortie les places contenues dans S"fi)
( 17)
V ln e Tf. V pEP" :
Pre" (P. hx.) = Pre(p. tfi) si p e Ec 0 sinon
(La
nouvelle transition 11):. reçoit
en
entrée
les
places
communes
contenues dans E c>
(18)
V peP" : Post" (p. hx.) = 1 si P =$px2. et 0 sinon
(La nouvelle transition hx. reçoit en sortie la nouvelle place ~x2.).
Qaa.LR.l~l:
(19)
V $lxi e Tx • V n M e TI.. telle que f1($txi) = n(hM) =lfi:
'l''($lxi) ='1' (lfi) -> ! Mxi • 'l''' (hM) =? Mxi

Ch.7 : AIDE A LA CONCEYfION DU COMPORTEMENT INrERNE
Page :
35
(Pour chaque couple de transitions
$txi E T x et llli ET&. associées à la
mime
transition
frontUre
tfi E
Tf.
on définit
une
synchronisation par
rendez-vous et on associe le prédicat défini par '1' (tfi) à $lxi)
(20)
'l" ($ly) = ! My. 'l'''~) = 7 My
(Une
synchronisation
par
rendez-vous
est
définie
entre
les
nouvelles
transitions
$ty et
~.
(21)
V P E E c +( 1: E:Tf S"fi) : oj)"(p) = oj)(p)
tfi
(Les
places
contenues
dans Ec et dans les S"fi conservent la mime
interprétation dans
RI et RI"),
(22)
V P E I:tfiE:Tf (E'fi + S'fi) : oj)'(p) = oj)(p)
(Les
places
contenues
dans
les
E' fi et S'fi conservent
la
mime
interprétation dans
RI et RI')'
(23)
oj)"(~) =NOP
(24)
oj)'($Pyl) = oj)'($Py2) = NOP
La figure 7.9 schématise graphiquement le schéma de décomposition et les
règles de transformation de la règle RD07.
1
1
1
1
1
1
1
1<?Mlb
1
1
1
Il'
1
1
Figure 7.9

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
36
La
réalisation
du
rendez-vous
défini
entre
$ty et ~ signifie pour le
sous-réseau
RI' que la place commune affectée au sous-réseau RI" est
marquée.
Comme
cette
place
n'est
panagée
que
par
les
transistions
en
conflit,
cette
information restera vraie jusqu'à ce que RI' résolve le conflit.
(Validation en annexe C, chapitre C.6)
b) La règle RDtO
Le schéma de décomposition de la règle RDIO se distingue de celui de la
règle RD09 par le fait que le sous-réseau d'affectation des places communes et
des
prédicats associés
aux
transitions
frontières
en
conflit
structurel
est
le
même.
En plus, dans ce schéma de décomposition, les autres places en entrée des
transitions
frontières
ne doivent pas être panagées.
Définition D 7.10
Soit RI un RdPI à décomposer par panitionnement en deux
sous-réseaux
RI =< R; V; OP; PR; cil ; '1' > avec R =< p. T; Pre. Post >
RI' = < R' ; V' ; OP' ; PR' ; cil' ; 'l" > avec R' = < p'. T' ; Pre', Post' >
R{ = < R" ; V" ; OP" ; PR" ; cil" ; 'l''' > avec R" < poo, T" ; Pre". Post" >.
Pour tout sous-ensemble Tf = { tfI ..... tfn} C
T de transitions frontières tel
que
( 1)
Ec = {Pj 1Pj" =Tf} .. 0'
(E c désigne l'ensemble des places communes aux transitions contenues
dans
Tf)

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INfERNE
Page:
37
(2)
Iv' tfi E Tf: ·tfi =E'fi + Ec • E'fi n Ec =~ . IE'fil ~ 0
(E'fi et Ec définissent un partitionnement des places en entrée de tfi en
deux
sous-ensembles
disjoints)
( 3 )
Iv' tfi E Tf. Iv' pEE'fi : P' ={tfi 1
(Pour toute transition tfi E Tf. les places contenues
dans E'fi ne sont pas
partagées)
(4)
Iv' tfi E Tf: tfi' = S'fi + S"fi
S'fi n S"fi = ~
(S'fi et S"fi définissent un partitionnement des places
en sortie
de tfi en
deux
sous-ensembles
disjoints).
(5)
Iv' tfi • tfjE Tf' Iv' P E Ec : Pre (P. tfi) = Pre(p. tfj)
(Pour chaque place
p €
E c ' le nombre de marques consommables
par
chaque
transition
tfi €
Tf est le mime)
les
transformations
correspondant
au choix de
décomposition
qui
consiste pour
chaque
tfi E Tf
à affecter les places contenues dans E'fi et S'fi au
sous-réseau
RJ'. les places contenues dans Ec et S"fi au sous-réseau RI". et le prédicat
éventuellement défini
par
'f' (tfi) au sous-réseau RI" sont définies comme suit
(ici également ft
et f2 sont deux applications qui
associent
respectivement une
nouvelle transition et
une nouvelle place à une transition de Tf) :
Dans Rl~
(6)
T <- T + T x + Ty + [Stz 1

T x = (Stxi 1 fl(Stxi) E Tf 1
Ty = (Slyi 1 fl(Slyi) =tfi E Tf • E'fi ~ ~
(Dans T'on inclut
une nouvelle transition St z • et pour chaque transition
fronti~re tfiE Tf une nouvelle transition Stxi.etsi E'fi n'est pas vide, une
deuxi~me nouvelle transition
St yi)

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page :
38
(7)
P' <- P' + ~ tfleTf (E'fi + S'fi) + Py + ($Pzl ,$Pz2 )

P y = ( $Pyi 112($ Pyi ) = tfi E Tf ' E'fi #d
(Dans P' on inclut deux nouvelles
places
$p z 1 et $Pz 2' et pour chaque
transition tfi E Tf les places contenues dans E'fi et S'fi puis une nouvelle
place
$Pyi si E'fi n'est pas vide).
(8)
M'($Pz l) = 1
(On marque initialement d 1 la nouvelle place
$p z 1)
(9)
V $txi E T x telle que fl($txi) =tfi '
V pEP' :
Pre' (p, $txi) =
si P = $Pz2
si P E Py et 12(p) = tfi
o sinon
(Chaque
transition $txi E T x associée d une transition tfi E Tf reçoit en
entrée
la
nouvelle place
$ p z2 et la place
$py i EPy associée d celte
mime
transition)
(10)
V $txi E T x telle que fl($txi) =tfi • V pEP':
Post' (p • $txi) =
Post (p, tfi) si p E S'fi
si p = $pz 1
o sinon
(Chaque
transition $txi E T x associée
d
une
transition frontitre tfi E Tf
reçoit en sortie les places contenues dans S'fi et la nouvelle place $pz 1)
(11)
V $tyi E Ty telle que fl($tyi) = tfi. V pEP' :
Pre'(p. $tyi) = Pre (P. tfi) si P E E'fi 0 sinon
(Chaque
transition $tyi E T y associée d une transition tfi E Tf reçoit en
entrée les places contenues dans
E' fi)
(12)
V $lyi E Ty telle que fl($lyi) = tfi ' V pEP' :

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
39
Post' (p, Slyi) = 1 si (p EPy el f2(p) = lfi)
0
sinon
(Chaque
transition Slyi E Ty associée à une transition lfi E Tf reçoit en
sortie la place SPyi EPy associée à cette mime transition)
(13)
"1 P E; P' : Pre' (P. Slz) =
1 si P = SP z l el
0
sinon
(La
transition Slz reçoit
en entrée la nouvelle place
Spz 1)
(14)
"1 Slzj E Tz lelle que f3(Slzj) =Pj • "1 P E; P' :
Post' (p, Slz) =
1 si P = SP z2 el
0
sinon
(La
transition Slz reçoit en sortie la place SPz2)'
L!.a.llL..RI:
(15)
T" <- T" + T + T + { tl
)
r.
y,
~

Tr. ={h ù 1fl<l..ly) E Tf}
Ty, = { hri 1 fl (hri) = lfi E Tf • E'fi 7- flJ }
(Dans T" on inclut
une nouvelle transition h.~, et pour chaque transition
Irontitre
lfi E Tf une
nouvelle transition h.xi' et si E'fi n'est pas vide, une
deuxUme
nouvelle
transition ~
(16)
P" <- P" + Ec + (E ûieTf S"fi) + Py, + Pw + {ha}

Py, = 1Ûri 1 f2~ = lfi E Tf ' E'fi 7- flJ }
p w = 1 SPwi 1 f2($pwi) = lfi E Tf • E'fi 7- flJ }
(Dans
P" on
inclut
une
nouvelle place
U û ' les places communes
contenues
dans Ec ' et pour chaque transition IrontUre lfi E Tf les places
contenues
dans S"n puis deux nouvelles places SPwi et ~ si E'fi n'est
pas vide)
(17)
"1 P E Pw : M"(p) = 1
(Les places contenues dans Pw sont initialement marquées à
1)

Ch.7: AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
40
(18)
'" S1&.i. E Tx. telle que fl<S1&.i.) = tft • '" pEP"
Pre" (p. S1&.i.) =
1 si P =~
1 si PEP.x. et f2(p) = tn
o sinon
(Chaque
transition
lLù E T X. associée d une transition frontitre tn E Tf
reçoit
en
entrée
la
nouvelle
place
~ et la
place
$PÙ E
PX-
associée d cette m~me transition)
(19)
'" S1&.i. E Tx. telle fl<S1&.i.) = tn • '" pEP" :
Post" (P. S1.&.i) =
Post (p. tn) si p E S"n
sipE P w et f2(p)=tn
o sinon
(Chaque
transition
lLù E TA. associée d une transition frontitre tn E Tf
reçoit en sortie
les places
contenues dans S"n et la place
$pw i E
P w
associée d cette m~me transition)
(20)
'" 1lu E T.x. telle que fl<1lu) = tft • '" pEP" :
Pre" (P. 11ti) =
1 si (p E Pw et f2(p) = tn)
0
sinon
(Chaque
transition ~ E T.x. associée d une transition frontitre tn E Tf
reçoit en entrée la place $Pwi E Pw associée d cette
meme transition)
(21)
'" 1lu E T.x. telle que fl<1lu) = tft • '" pEP" :
Post" (p. 1lu) = 1 si (p E P.x. et f2(p) = tn) 0 sinon
(Chaque
transition ~ E T 1. associée d une transition frontitre
tn E Tf
reçoit en sortie la place
~ E P1. associée d cette meme transition)
(22)
'" tn E Tf. '" pEP" :
Pre" (p. 11z.) = Pre(p. tn) si p E
Ec 0 sinon
(La transition
lL~ reçoit en entrée les places communes contenues dans

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INrERNE
Page:
41
(23)
V pEP" : Post" (P.l1~ =
si p =$Pû, et 0
sinon
(La
transition ~reçoit en sortie la
nouvelle place
Ûz..z.).
Dans RI' et RI"
(24)
V $txi E T x ' V nxj, E TA telle que fI($txi) = fI(l1xj,) =tfi :
'l'''(11xi,> = '1' (lfi) -> ! M xi ' 'l" ($txi) =? Mxi
(Pour chaque couple de traflSitions Stxi E T x et
ilxj, E TA associées à la
m€me
transition
fronti~re tfi E Tf. on
définit
une
synchronisation
par
rendez-vous et on associe le prédicat défini par '1' (tfi) à
ilxj,)
(25)
V Slyi E T y • V ~ E T)'.
telles que
fI(Slyi1 = fI <11yl) = tfi :
'l" (Slyi) =? Myi • 'l'" <11~ = ! Myi
(Pour chaque couple de transitioflS
St yi E Ty et ~ E T)'. associées à la
m€me
transition
fronti~re tfi E Tf. on
définit
une
synchronisation
par
rendez-vous)
(26)
'l" (Stz) =? ~. 'l'''~) = ! Mz
(On définit une synchronisation par
rendez-vous
entre
les
nouvelles
transitioflS
St z et il~).
(27)
V P E Ec +( 1:ÛiETf S"fi)
<Il"(p) = <Il(p)
(Les
places
contenues
dans Ec et dans les S"fi conservent la m€me
interprétation dans
RI et R().
(28)
V P E ~lfiETf (E'fi + S'fi) : <Il'(p) = <Il(p)
(Les
places
contenues
dans
les
E' fi et S'fi conservent
la
m€me
interprétation daflS
RI et R,').
(29)
V PEP)'. + Pw + ($pa): <Il"(p) = NOP
(30)
V P E Py + (SPzl + SPz2 ) : <Il'(p) =NOP. ~

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
42
Le schéma de décomposition et les
règles de transformation de la
règle
RDIO sont schématisés graphiquement par la figure 7.\\0.
R"1
Figure 7.10
(Validation
en annexe C, chapitre C.7)
c)
La règle RDll
Le schéma de décomposition de la règle ROll se distingue du schéma de
décomposition de la règle RDIO
par le fait que les places non communes sont
partagées.

Ch.? : AIDE A LA CONCEYTION DU COMPORTEMENT INTERNE
Page:
43
Définition 7.11
Soit RI
un RdPI à décomposer par partitionnement en
deux
sous-réseaux
RI' et RI" :
RI = < R ; V ; OP; PR ; cil ; '1' > avec R = < P. T ; Pre, Post>
RI' =< R' ; V' ; OP' ; PR' ; cil' ; 'l" > avec R' =< P'. T' ; Pre'. Post' >
RI" =< Rn ; V" ; OP" ; PR" ; cil" ; 'l''' > avec R" < p", T" ; Pre". Post" >.
Pour tout sous-ensemble Tf = { tfl •...• tfn 1 C T de transitions frontières tel
que
( 1 )
Ec = {Pj 1Pf = Tf l '" fl1
(E c désigne l'ensemble des places communes aux transitions contenues
dans
Tf)
(E' fi et Ec définissent un partitionnement des places en entrée de tfi en
deux
sous-ensembles
disjoints)
( 3 )
'V tfi E Tf. 'V pEE'fi : p' n (Tf - ( tfi }) = fl1
(Pour toute transition tfi E Tf. les places contenues
dans E'fi ne sont en
entrée d'aucune autre transition de
Tf)
(4)
3 tfi E Tf. 3 P E E'fi: !p'1
> 1
(Il existe une transition
tfi E Tf' telle que
E' fi contient au moins une place
partagée)
(5)
'V tfi E Tf: tfi' =S'fi + S"fi
S'fi n S"fi =fl1
(S'fi et S"fi définissent un partitionnement des places en sortie
de tfi en
deux
sous-ensembles
disjoints).

Ch.7 : AIDE A LA CONCEYI10N DU COMPORTEMENT INTERNE
Page:
44
le
choix de décomposition qui consiste pour chaque tfi E Tf
à affecter les places
contenues dans E'fi et S'fi au sous-réseau RI"
les places contenues dans Ec et S"fi
au sous-réseau R(', et le prédicat éventuellement défini par '1' (tfi) au réseau RI"
est impossible à réaliser.
R
R'I
R"I
1
Figure 7.11
Avant de vérifier les prédicats qui lui sont associés, le sous-réseau RI" ne
peut
connaître
avec
exactitude
le
marquage
des
places
panagées
affectées
au
sous-réseau
RI'.
d) La règle RDU
Le schéma de décomposition de la règle RDI2 se distingue des schémas de
décomposition
des
règles
RD09
et
RD 10
essentiellement
par
le
fait
que
les
prédicats
associés
aux
transitions
frontières
en
conflit
structurel
ne
sont
pas
globalement
affectés
à
un
seul
sous-réseau,
mais
répartis
entre
les
deux
sous-réseaux.

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INrERNE
Page:
45
Définition 7,12
Soit RI
un
RdPI à décomposer par partitionnement en deux
sous-réseaux
RI' et RI" :
RI =< R; Y; OP; PR; cil ; '1' > avec R =< P. T; Pre. Post>
RI' = < R' ; Y' ; OP' ; PR' ; cil' ; 'l" > avec R' = < P', T ; Pre'. Post' >
R{ =< Rn; y n ; OP" ; PRn ; cil" ; 'l''' > avec R" < poo. T" ; Pre". Post" >.
Pour tout sous-ensemble Tf = ( trI' ...• tfn ) C T de transitions frontières tel
que
( 1)
Ec = ( Pj 1Pf = Tf ) ~ fi!!
(E c désigne l'ensemble des places communes aux transitions contenues
dans
Tf)
(2)
\\>' tfi E Tf: ·tfi =E'fi + Ec
E'fi n Ec =fi!! , lE'fil ~ 0
(E' fi et Ec définissent un partitionnement des places en entrée de tfi en
deux
sous-ensembles
disjoints)
( 3 )
\\>' ln E tf' \\>' P E E'fi : p' n (Tf - (tfi »= fi!!
(Pour toute transition tfi E Tf. les places contenues
dans E'fi ne sont en
entrée
d'aucune
autre
transition frontUre)
(4)
\\>' tfi E Tf: tfi' = S'fi + S"fi
(S'fi et S"fi définissent
un partionnement des
places
en
sortie
de lfi en
deux
sous-ensembles
disjoints).
le choix de décomposition qui consiste pour chaque transition tfi E Tf à affecter
les places contenues dans
E'fi et S'fi
au sous-réseau RI"
les
places
contenues
dans
Ec et S"fi au sous-réseau RI'" puis à répartir les prédicats associés à ces
transitions entre RI' et R( est impossible à réaliser.

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
46
~~'
R
R'
R',
1
1
Figure 7.12
Les
transitions
frontières
concernées
étant
en
conflit
structurel,
la prise
en
compte
de
l'occurrence d'un
événement
peut
invalider la précondition pour
la prise en
compte des occurrences des autres événements
associés
aux
autres
transitions.
Si
ces événements
sont répanis
entre
les
deux
sous-réseaux,
celle
contrainte ne peut plus être garantie sans risque d'interblocage. On ne peut en
effet éviter aux deux sous-réseaux de prendre en compte au même instant des
occurrences
d'événements
qui
s'invalident
mutuellement.
7.2 L'APPROCHE DE DECOMPOSITION PAR DEDOUBLEMENT
La
procédure de décomposition
par dédoublement permet
de
répanir des
opérations
d'entrée/sortie
entre
deux
sous-réseaux
ayant
même
structure
de
contrôle que
le
réseau
initial,
en
fonction
des choix
de
regroupement décidés
par
le
concepteur.
Par
rapport
à
la
procédure
de
décomposition
par
partitionnement,
celle
procédure
peut
conduire
à
de
meilleures
solutions
lorsque
les
contraintes
de
structuration
imposent
la
répartition
d'opérations
d'entrée/sonie trés fortement liées. Elle repose sur deux règles
: la règle RD13
qui
correspond à un schéma de décomposition réalisabble, et la règle RD 14 qui

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INfERNE
Page:
47
caractérise
un
schéma
de
décomposition
irréalisable.
a)
La règle RD13
Le
schéma de
décomposition
de celle
règle se distingue
par le
fait
que
lorsque
plusieurs
transitions
apparaissent
en
sortie
d'une
place,
les
prédicats
associés à ces transitions sont tous affectés au même sous-réseau.
Définition D 7.13
Soit RI un RdPI à décomposer par dédoublement en deux sous-réseaux RI'
et RI" :
RI = < R ; V ; OP ; PR ; 41 ; '1' > avec R = < P, T ; Pre, Post>
RI' =< R' ; V' ; OP ; PR' ; 41' ; 'l" > avec R' = < P, T' ; Pre', Post' >
RI" =< R" ; V" ; OP" ; PR" ; 41" ; 'l''' > avec R" < P", T" ; Pre", Post" >.
Les règles de
transformation correspondant au choix de
regroupement des
entrées/sorties caractérisé de
la
façon
suivante :
( ) )
'" Pj E P, '" t), t2 E Pf :
t) ~ t2 ' '1' (t) ~ prO ' '1' (12) ~ prO
.. affectation de '1' (1)
= affectation de '1' (12)
(Les prédicats associés à des Iransilions en sOT/ie d'une mime place sonl
affeClés au même sous-réseau).
(2)
'" Pj E P: 41 (Pj) est affecté à l'un des deux sous-réseaux
sont
définies comme suit
(3)
T<-T, T"<-T
P <- P , P" <- P

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
48
Pre' = Pre" = Pre , Post' = Post" = Post
(R est dupliqué en deux sous-réseaux R' et
R")
(4)
V ti E T telle que '1' (ti) ~ prO :
'1' ' (li) = '1' (ti) -> ! Mi
si
'1' (ti) est affecté à R'
?Mi
sinon
'l''' (li) = '1' (lj) -> !Mi si '1' (ti) est affecté à R"
? Mi
sinon
(Le prédicat associé Il chaque transition ti E T est associé Il la transition de
même
nom.
dans
le
sous-réseau
auquel
il
est
affecté,
et
une
synchronisation par rendez-vous est définie entre les transitions de même
nom dans
RI'etRI")
(5)
V Pj E P : cil' (Pj) =
cil (Pj)
si <Il (Pj) est affecté à R'
NOP
sinon
cil" (Pj) = cil (Pj)
si cil (Pj) est affecté à R"
NOP
sinon
(L'optration associée Il chaque place Pj E P est associée Il la place de même
nom dans le sous-réseau auquel elle est affectée). 0
(Validation en annexe C chapitre C.S)
Exemple
Comme
le
montre
cet
exemple,
les
transformations
de
la
règle
RD13
conduisent
les
deux
sous-réseaux
RI' et R( à évoluer de façon synchrone, en
franchissant dans le même ordre les mêmes transitions.

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
49
<1'2->1 M2>
Figure 7.13
b)
La règle RD14
Le
schéma de
décomposition
de
celle
règle
se
distingue
du
schéma de
décomposition de la règle précédente par le fait que les prédicats associés à des
transitions en sortie d'une place sont répartis entre les deux sous-réseaux.
Définition D 7.14;
Soit R]
un RdP] à décomposer par dédoublement en deux sous-réseaux R]'
et RI" :

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
50
RI =< R ; V ; OP ; PR ; cil ; '+' > avec R =< P, T ; Pre, Post>
RI' = < R' ; V' ; OP' ; PR' ; cil' ; '+" > avec R' = < P', T' ; Pre', Post' >
RI" =< R" ; V" ; OP" ; PR" ; cil" ; '+''' > avec R" < p", T" ; Pre", Post" >.
Les
choix
de
regroupement
des
entrées/sorties
caractérisés
comme
suit
sont impossibles à réaliser :
3 Pj E P,
3 tl ' t2 E Pf
tels que:
t 1 * t2 ' '+' (tl) * prO ' '+' (12) * prO'
affectation de '+' (tl) * affectation de '+' (12)' ~
La
situation
ainsi
caractérisée
est
en
effet
équivalente
à
celle
déjà
rencontrée pour la règle RDI2. Les deux sous-réseaux ne peuvent coopérer pour
franchir
les
transitions
en
conflit
sans
risque
d'interblocage.
7.3 L'APPROCHE DE DECOMPOSITION
PAR
SUBSTITUTION
DE SOUS·RESEAU BIEN FORME
Cette procédure
de
décomposition correspond à une fonne
particulière de
décomposition
par
partitionnement
par
rapport
à
deux
transitions
frontières
qui doivent nécessairement être la transition initiale et la transition finale d'un
bloc bien fonné [Valette 76]. La décomposition s'effectue alors en effectuant les
deux opérations suivantes :
1)
On
substitue
dans
le
réseau
initial
le
bloc
bien
formé
par
un
réseau-transition
[André
81]
(cf.
figure
7.14)
pour
obtenir
le
premier
sous-réseau.
2)
Ensuite, on transfonne le bloc bien
fonné
en un réseau bien fonné par
l'ajout d'une place repos pour obtenir le second sous-réseau.

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENf INTERNE
Page:
51
Le
but de
cette
procédure de
décomposition
est
de
permettre
ainsi
une
hiérarchisation
du
contrôle
en distinguant
un
niveau
coordination et
un
niveau
commande
locale.
Elle
repose
sur une
seule
règle
de
décomposition,
la
règle
RDIS. qui peut être composée avec les
règles RD04 et RDOS pour former de
nouvelles
règles.
l,:
NIl: Un réseau-transition est constitué de deux transitions
t et 1 interconnectées par une seule place PO :
Pre (Po. t) = Post (Po. 1> = 0
Pre (pO' 1> = Post (Po. t) = 1
Figure 7.14
a) La règle RD15
Elle
est
caractérisée
par
le
fait
que
dans
le
réseau
à
décomposer.
la
transition initiale et la transistion finale du bloc bien formé sont toutes les deux
étiquetées par le prédicat toujours vrai.
Définition 7.15
Soit
RI
un
RdPI
à
décomposer
en
deux
sous-réseaux
RI' et RI'"
par
substitution
du
bloc
bien
formé
RIb ayant tini
pour transition initiale et tfin
pour
transition
finale:
RI =< R ; V : OP: PR ; cil ; 'l' > avec R =< P. T ; Pre. Post>

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page;
52
RI' = < R' ; V' ; OP' ; PR' ; CP' ; 'l" > avec R' = < P', T' ; Pre', Post' >
RI" = < R" ; V" ; OP" ; PR" ; CP" ; 'l''' > avec R" < poo, T" ; Pre", Post" >
Rib = < Rb; V b ; OPb ; PRb ; CPb; 'l'b > avec Rb = < Pb' Tb; Preb' Postb >.
Si
( 1)
'1' b (tini) = '1' b (tfin) = prO
(La transition initiale et la transition finale sont étiquetées par le prédicat
toujours
vrai)
(2)
la transition tini est t-sensibilisée simultanément avec elle même.
les
règles
de
transformation
correspondant
au
choix
de
décomposition
qui
consiste à affecter le bloc bien formé
Rib
au
sous-réseau RI" et le reste du
réseau RI au sous-réseau RI' sont définis comme suit :
lliuLl:.....RI:
(3)
T' <- T - Tb + {tini' tfin }
(Dans
T on inclut toutes les transitions de T qui
n'appartiennent pas au
bloc bien formé, ainsi que les transitions tini et tfin)
( 4 )
P' <- P - Pb + { PI }
(Dans P on inclut toutes les places de P qui n'appartiennent pas au bloc
bien formé,
et une nouvelle place PI)
(5)
\\1 t E T' - { tfin } , \\1 pEP' ; Pre' (p, t) = Pre (p, t) si P ~ PI
0 sinon
(A
l'exception
de tfin' les
transitions
conservent
les
mêmes
places
en
entrée
dans RI et RI')
(6)
\\lpE P;Pre'(p,tfin)=1 si P=PI
0
sinon
(La
transition tfin reçoit en entrée la place PI)
(7)
\\1 t ET' - { tini} , \\1 pEP: Post' (p, t) = Post (p, t) si p ~ PI 0 sinon

Ch.?: AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
53
(A
l'exception
de tini ' les
transitions
conservent les
mêmes places
en
sortie dans RI et RI')
(8)
'" pEP' : Post' (p, tini) = 1 si P = PI
0 sinon
(La transition
tini reçoit en sortie la place PI)'
lliuLL.R.1::.
(9)
T" <- Tb
(Dans T" On inclut toutes les transitions du bloc bien formé)
(1 0)
P" <- Pb + 1..l2J. }
(Dans P" On inclut toutes les places du bloc bien formé, et une nouvelle
place
Il.1)
(II)
M' ~1) = 1
(On marque la nouvelle place Il.1 à
1)
(12)
'" t E T" - 1 tini } , '" pEP":
Pre" (p, t) = Pre (p, t) si P .. Il{ 0 sinon
(A
l'exception
de lïni' les
transitions
conservent
les
mêmes
places
en
entrée dans
RI et RI")
(13)
'" pEP" : Pre" (p, tini) = 1
si P = Il{
0 sinon
(La
transition lini reçoit en entrée Il.1)
(14)
'" t E T" - 1 tfin} , '" pEP" : Post" (p, t) = Post (p, t) si p .. Il.1
0 sinon
(A
l'exception
de tfin' les
transitions
conservent
les
mêmes
places
en
sortie dans RI et RI").
(15)
'" pEP" : Post" (p, tfin) = t si p= Pt 0 sinon
(La transition
tfin reçoit en sortie Pt)
L!a.fLLR1:..n....&1::'
(16)
'l" (tini) =? Mi' 'l''' (tini) = ! Mi
(On
définit
une
synchronisation
par
rendez-vous
entre tini dans RI' et

Ch.1 : AIDE A LA CONCEPTION DU COMPORTEMENT INrERNE
Page:
54
tini dans
RI")
(17)
'l''(tfin)=?Mj
,'l'''(tfin)=!Mj
(On
difinit
une
synchronisation par
rendez-vous
entre tfin dans RI' et
tfin dans
RI")
(18)
\\1 te T - 1tinio trin } : 'l" (t) = 'fi (t)
(Les
transitions autres que tini et trin conservent la
mime
interprltation
dans
RI et RI')
(19)
\\1 peP' - { PI } : $' (p) = $ (p)
(Les places autres que
PI conservent la mime interpritation dans
RI et
dans
RI')
(20)
\\1 peP" - ( Ill) : $" (p) = $ (p)
(Les places autres que III conservent la mime interprltation dans
RIe t
dans R(). @
La figure 7.15 donne la fonnulation graphique de la règle RDI5.
R"1
Figure 7.15

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
55
(Validation en annexe C chapitre C.9 )
b) Composition de la règle RD15 avec les règles RD04 et RDOS
Nous donnons à titre indicatif dans les figures 7.16 et 7.17 la fonnalisation
graphique des compositions possibles de la règle RDI5 avec les règles RD04 et
RDOS.

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
56
Rè~le RD15 + rè~le RD08
11 ni
Ifl n
<?MJ>
R'
R"
1
1
Figure 7.16
Rè~le RD15 + rè~le RD04 ;
<?Mk>
Il.
11 n i
l11n
<11.41>
R'
R"
1
1
Figure 7,17

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
57
7.4 LA PRISE EN COMPTE DES PROBLEMES DE PRESENTATION
Le but des règles de transformation que nous abordons dans cette section
n'cst pas d'offrir des
possibilités
additionnelles de décomposition,
mais plutôt
d'assurer une bonne présentation des
sous-réseaux que l'on
peut synthétiser en
utilisant
les
règles
précédentes.
7.4.1 L'AJOUT DE PLACES IMPLICITES
La
règle
d'ajout
de
places
implicites
permet,
lorsque
les
choix
de
rcgroupement
du
concepteur
sont
connus.
d'effectuer
préalablement
des
transformations
sur
le
réseau
à
décomposer.
de
manière
à
préserver
dans
certaines
situations
la
connexité
des
sous-réseaux
qui
résulteront
de
la
décomposition.
Si RI = < R ; V ; OP ; PR ; <l> ; 'l' > avec R = < P, T ; Pre, Post > est un RdPI à
décomposer
par
partitionnement,
celte
règle
concerne
toute
transition
frontière
tf ETayant toutes ses places en sonie affectées à un seul sous-réseau
(disons
RI'), En plus. pour cette transition tf. toute transition
qui
apparatt en
entrée ou en sortie
de
ses
places de sonie
doit être aussi
une
transition
frontière
:
( 1)
"<1 pEtr' : t E 'p
=0
t est une transition frontière.
(2)
"<1 pEtr' : tEp' =0
est une transition frontière.
Lcs
transformations
qu'on
effectue
pour
une
transition
frontière
tf de ce type
consistent
alors
à
ajouter pour chaque place Pj
sonie de cette transition, une
place 11.i qui reçoit en entrée et en sonie les mêmes transitions que Pj' et qu'on
affecte au deuxième sous-réseau RI":

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
58
(3)
'" Pj E t( :
- P <- P + (Rl J
- '" ti ET: Pre <Rl' lj) = Pre (Pj' ti)' Post <Rl' ti) = Post (Pj' ti)
Chaque place ILl aura de ce fait toujours le même marquage que la place Pj
qui lui correspond. Les places qu'on ajoute de celle façon sont donc des places
implicites
qui
ne modifient
pas
le
componement
décrit
par
le
réseau
initial.
Comme le montre l'exemple de la figure 7.18, lorsque toutes les places en sonie
d'une transition
frontière
sont
affectées
au
même sous-réseau,
leur introduction
permet de
préserver la connexité de l'autre sous-réseau.
ADr"
aiow duol
pl.S'
jmpUçjt.
Après décompgsition
<lM:!>
Figure 7.18
7.5.1
TRANSFORMATION
DES
COMMUNICATIONS
ASYNCHRONES
EXPRIMEES A L'AIDE D'UN RENDEZ-VOUS
Cette
règle de
transformation vise
également
à assurer la connexité des
sous-réseaux issus de
l'application des
procédures
de décomposition.
Cependant,
à l'inverse de
la règle précédente. elle n'intervient qu'après décomposition. Elle
consiste
tout
simplement
à
traduire
par
des
primitives
de
communication

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INrERNE
Page :
59
asynchrone.
des
communications
asynchrones
exprimées
à
l'aide
de
rendez-vous.
Les figures
7.19
à 7.24 formalisent les différentes transformations
possibles.
Ces
transformations
se
déduisent
directement
de
la
sémantique
que
nous
avons
définie
pour
les
opérations
de
communication
synchrone
et
asynchrone
lorsqu'elles
sont
associées
à des
transitions
(c.r.
sections
2.5.2
et
2.5.3).
y <?M> 1
1
1
1
1
1
1
1
t4~ 1111 t~
1
t,~
1
1
1
Récepteur
Emetteur
Récepteur
EmeUeur
1
1
Figure 7.19
t,~ t <?IM>
t~
t<?IM>
Récepleur
Eméleur
Eméteur
Réceoleur
Figure 7.20

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
60
AIlL.b.
<?Ml>
t<M"
t,-
<?M2>
t <?IM>
t,,-
t,-
Récepteur
Emetteur(s)
Récepteur
Emetteur(s)
Figure 7.21
Awu
AIl.W
1
1
~ 1I
1
1
1
1
f'~ 111 fâ~'
1
1
f-
1
dM.
1
1
Emetteur
1 Récepteur
Emetteur
1
Récepteur
Figure 7.22

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
61
Eméleur
Récepteur
Figure 7.23
Emelleur
Récepteur(s)
Emetteur
Récepteur(s)
Figure 7.24
7.4.3 REDUCTION DES SOUS-RESEAUX
La
dernière
règle
de
transformation
que
nous
abordons
concerne
la
réduction
des
sous-réseaux
issus
de
l'application
de
1a
procédure
de

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
62
décomposition par dédoublement. Elle consiste à appliquer la règle de réduction
par substitution de place sur des places substituables
-étiquetées par NOP
-en sortie d'une seule transition
-et
en
entrée
d'une
seule
transition
étiquetée
uniquement
que
par
une
opération de communication par rendez-vous. et n'ayant en sortie qu'une
place
unique. non partagée et étiquetée par NOP.
La
figure
7.25
illustre cette
règle
de
transformation.
En supprimant des
sous-réseaux les places substituables et leurs
transitions
de sortie qui
ne sont
liées
à
aucune
interaction
avec
l'environnement.
elle
permet
de
réduire
les
points
de
communication
entre
sous-réseaux.
En
procédant
par
fusion
des
sous-réseaux. il est facile de se convaincre à partir de la figure 7.25 que cette
règle
de
transformation
ne
modifie
pas
le
comportement
externe
initialement
spécifié.
<rl->?Mb
<1Mb
<ab
<lM:!>
<r2->?M2>
<a2>
<1M3>
<r3·>1M3>
<1Mb
<r4->?M4>
Figure 7.25

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
63
7.5 L'ALGORITHME DE DECOMPOSITION
Cet
algorithme
de
décomposition
illustre
assez
bien
la
démarche
de
conception
préconisée.
Non_fin_de_décomposition := vrai
tant que
Non_fin_de_décomposition
faire
début
Lancer
Sélection_du_sous_réseau_à_décomposer
Lancer
Choix_de
regroupemencdes_entrées_sonies
Lancer
Vérification_de_choix_de_regroupement
Si
OK
alors
début
Lancer
Selection_de_la_procédure_de_décomposition
Si
procédure_de_décomposition_par_partitionnement
alors
Lancer
ajoucde_places_implicites;
Lancer
décomposition;
si
décomposition_impossible
alors
afficher_message
si non
sauvegarder_sous_réseau x_résultant;
fin
Sinon
afficher_message
fin_décomposition
?
fin_;
Lancer
t ran sfo rm at ion_des_comm un ic atio n_as y nch ron es_e xp ri mées_
par_rendez-vous
Lancer
Réduction_des_sous_réseaux.
N.B.: La
vérification
sur
les
choix
de
regroupement
du
concepteur
pone
essentiellement sur la localité des variables calculées et des
variables d'entrée.
Cette vérification
s'impose du fait
de l'impossibilité matérielle de
réaliser des
communications
par
variables
pa nagées
dans
une
architecture
répartie.
Par
ailleurs.
du
fait
des
aléas
dans
les
délais
de
transmission.
si
on
autorise

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INfERNE
Page:
64
l'association d'une variable d'entrée à plusieurs sites, il
sera ensuite
impossible
de garantir qu'à tout instant la valeur de cette variable sera la même sur chacun
des sites. Dans certaines situations, il sera donc impossible de faire évoluer un
système
en
respectant
les
contraintes
spécifiées.
De
ce
fait,
toute
variable
calculée
ou
toute
variable
d'entrée
utilisée
dans
un
sous-réseau
doit
nécessairement être
locale à ce sous-réseau.
7.6 EXEMPLES
Un
prototype
mettant
en
oeuvre
les
règles
de
décomposition
par
partitionnement a été développé sur IBM PC en Turbo Pascal. Dans ce prototype,
nous prenons tout d'abord en compte les choix de décomposition du concepteur.
Ensuite.
nous
procédons
par
"pattern
matching"
pour
déterminer
pour
chaque
transition frontière le schéma de décomposition qui lui correspond. Si aucun des
schémas
identifiés
n'est
irréalisable,
nous
appliquons
alors
les
règles
de
transformation
correspondantes.
Les
trois
premiers
exemples que
nous
présentons
sont
des
exemples
de
décomposition réalisés à l'aide de ce prototype. Les réseaux utilisés n'ont aucune
signification particulière. Ces exemples sont des cas extrêmes qui ont l'avantage
de
bien
mettre
en
évidence
tout
l'intérêt
de
la
distinction
d'un
niveau
conceptuel
et
d'un
niveau
organisationnel.
Les
sous-réseaux
qu'on
obtient
après décomposition sont
aussi complexes
que les réseau initiaux. Ce qui montre
que la complexité algorithmique d'un système de commande réparti
est bien
le
produit de deux complexités : celle liée au parallélisme de situation, et celle liée à
la
coopération
qu'induit
la
répartition
d'opérations
ayant
des
lrens
de
dépendance
temporelle.
Dans le quatrième exemple,
nous
abordons
selon
la démarche préconisée
la structuration interne du système de commande de l'atelier de bobinage.

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
65
7.6.1 EXEMPLE 1
Dans cet exemple. la décomposition a été effectuée en appliquant sur la
transition frontière
tl la règle RD03 .
d2>
• 13.
<r2>
12
<1 M2>
t 3
cr3>
Figure 7.26
7.6.2 EXEMPLE 2
Dans
ce
deuxième
exemple,
la
règle
de
décomposition
appliquée
à
la
transition frontière
t2 est la règle RD04.
'(1d1>$11<1Mb
$12
clM2>
Figure 7.27

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
66
7.6.3 EXEMPLE 3
Dans cet exemple, la décomposition regroupe dans
le premier sous-réseau
les places p2 et pS. ainsi que les prédicats r4. rS, et r6. et dans le deuxième
sous-réseau les places pl, p3, p4, et p6, ainsi que les prédicats rI et r3. La règle
RDD9
a été appliquée aux
transitions frontières t4 et t6' et la règle RDlO aux
transitions
frontières
t4 et tS.
<r3>
16
$18
$p8
\\6

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
67
tl
13
$pl0
p3
$17
$p6
$13
p6
Figure 7.28
Ce qui suit donne la description textuelle du réseau initial, et la description
textuelle
des
sous-réseaux
résultant
de
la
décomposition.
La
description
des
sous-réseaux
a
été
entièrement
synthétisée
par
le
prototype
à
partir
de
la
description
initiale
et
des
choix
de
décomposition.
On
remarquera
tout
particulièrement
que
la
partie
environnement
d'un
sous-réseau
ne
comporte
strictement que les informations propres à ce sous-réseau.

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
68
Réseau
initial
1 d p:r
{'"0; /.:,:. iTI i.::' J C':!.I :
1 do
P 1. ~ p;::~ ~ p :.1" p .. , .. r.'~:'i II:I
p!
"
~- ~ '. t,:,:;" t 0";" ~ -1":;1 '1 !
t··(.
."'1.
.;;1 r . t.~
C" it 1" ':?:'::'.'
(
~=·DI- t J [-,
11
L"I"I"\\" f" r::~E"
1::"
~'::Uj- tIC?
1..t_:.~
!' .... :;
("'"r"1 11 c,,(,~,
t; :-~;
f-:~ 1"' i, ','- t:" ;:~:'
t· ':1
i i 'f'
.~:: CI c- t: .), (;.:,
!.-: i.~
,"..0'1 ,.;
':;
p"',,, .'
!.-' ~ t '. :
Fe:ï..,"l· 1 - t::'c:·:
l "j
r,1
'::: c' (" '1" ). ~•. ,
f.: ,':;)
'l":", '
.. '··1
,,',l'
;-':.1
1.:-, (., C' 1 1
• (, ~
1:. 11."11
t 'J, l _' ! 1',
,~' 1> 1 -r ~i .1
1.
('1 l"(ci 1::_.'
E-:' 1
r:: ()', "IiJ _:1
c-;:l
! !
C!.:.I;'j(lt:!
f"', l:.
~.::, ..j l~?
t \\
f,11
l:_~';\\'" ~~ ::.
,.,"; \\,""
C': L' 1 Fcl.l
"."'.' +
1
(.ïl':1,'
F? 'o" '1:.: 1.
f"'!
(;-"',.' 1--. )

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
69
....
J
;.1
!. 1."
l
'11\\
,
t' 1
I.i'..
l ,
i'
. i ,.
!- 1 l '

,'C-•• : '
' : ' ~
" ' , j . \\ :
1 ~ ,
1 !
Il
l,'
' l ' .
1
_~ fi"':: 1 1 ri ( '.'
cl,':'
' . j '
r-l,.,1 'j
'.1(-'.'
\\
j , -
l',
-,1
,1
Î '
,i'

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT lNfERNE
Page:
70
Premier
sous-réseau
i (:l\\:'
l,"""
1:;1"" 3"
+f--":I
f
r
, "
l " "
-~: ï "', °1
l "'.
1::"
(':.')1 t; 1 I:~'/."·-'
l" ;'.:.:.~
l"',
,
~~d_~' 1"' +.- t c'
:.::i
l' ,
F,~n t: ï ,::,"',.
r ·',t
+f' .,-{ ,:~:!.."
,,:" [, ï" 1- 1. r:::
f ;·1
1-'" ~_:::,; "
:f;"!
" j ' le'
r,:""1,,
C":"I"l"\\":'
F't'.:!
+- I~,
1: !::., ('1
;. (,r (" 1-,: J C':'
':*: 'f ~'-'
:~; f" -~~
(:", l ï "1 .. )' F:'l'::'
-~; l /:)
~~,!..,',",:,:"
1:; i : ,1
~
~()1'1 lP
l'T6
f':~~'"
~r')'
i·:' l" -\\, '1 '-:.:~ E::
-cr ï Ll
l~!'"
(:("I(-!"
le·
:f r:J
lf'u
r;;.~ j"'1 -1.. 1" .~:: ~'::.
t· f "1
,;:,1),
t l. E'
.~~ f I:l
",.
l. _.::tbl
,,1 , L:'i:"-~' 1 1
l"
f ")
l, /_j
',~? 1 . l i ,;: 1
tO:::'flrpr'l
i
,1 lU'11
i ll,:~,"
!"l'l
1>'-.11,',1"
CI"ldll,;Jorl',::
Le,',' i
.... L,
,-.1
!
L.',.'I:·j
1.0:1

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT lNfERNE
Page:
7 1
tr,
:t,
L
l
1
1. LI "
',1
L
("Il... l )
)''1-
,:;;.;
_,I:i f,
.1
j
"
\\
c~ .1 )
1·.. :'
,1
"
1
1
1 '1'
li1
l '
I !
1 ... ·l'T r
, ••l ) 1""1"',] l":.
di:::-
(,l'"
!.tl
,Ic:-I'li
, l'
',.1
.-:'
.,-'
1. ,
,
("li:·)
; 1 1
1 1
-~.' 1
1
1 -l.1
1
'11
1
i ~d
,Ii..
1
1
1
, ,
., ,
1
i ,j,
1
.. ,
j'.) :.
1 1
'"il' !i
", L "1 l'
! ,',
1. '--Ii :'.
! ' I
-; i: !.-~ r· 1 1····: :

Ch.7 : AIDE A LA CONCEI'110N DU COMPORTEMENT INTERNE
Page:
72
Second
sous·réseau
,
,
"ID E1!.UJ ~;
e 1
P3
f·'i.t
Fb
1; F'i~'?
+p,' .•
~. ~,.'
-.~:. ~., 1
p ,L,'re r"·
T l
T3
! .,
'$ r ..
'f; i ,
, ':1
~:, ! ,
1 1" t". f', ~:: , 1 "1 '
~tr f:!f:;
1 1
po:,
1 j
,'C
=:0,-1'-1(-;'
F· 1
f.2'I' ... treF"
fd
l"b
;;;'·C.. 1'· t l. f?
l ::i
f"::J
ent:,-f.:?C'
rs
lF'h,
'f.'F·'·:~'
~:iD ,- t. lE:'
r ~.';
:f:F' J()
f;'; 11"" l' E1{';'~
'!~ l (:.:~
1F':"'.
'H·'
501~t i.F'
"'TF;
P"
Tf' 1. • '
(-::':'";-11: l~PE:­
$13
"*. f~'(:.:· :
~::',D(· t. i. P
$13
F·'~'I·
f::'l"ltï ee
$14
Pl
so(""t l~::?
$1 i+
$F';"~
:
i:~nti-ep $1'7
F'J
~
S i O t t l P .
'lOT';
'H:'()
~
!.:.:ont"'f.:Ë'
t. r 1 (,
~H-' 1. i.
~_~,Dr t.IS·
$1 1 (,
,.
frt~r_'
F~I··I\\"l',
'1 11":C:.'I:":c'n i,
Pllt~·ee ~~
e r l t l P I
Lb
t .. c·r,Jr':'Fll
~
evenempnt-:;~
ë-IctiütîS

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
73
1 ! ' ) l '
1-'::'
r "l"\\
"(:1 L '
1 ,
1 i
I I I
, l l , ; : ' , 1 1 1 " t
d:::· L··.· 1.1
1
, (-'; 1
,
"i·,I ;
!
'f' ;1
'1"",1)
\\ ·i
:~.I- . ("
,
1 ~,{ " : ' 1 1
1
1
-{,l...:,.
'1
Cf
l'Ii
1
,
,
i', !
1 ,
1
1
".-'1
i
:, I:"\\: C-',
1.' 1
1
I l ' , ,

Ch.7 : AIDE A LA CONCEP'I10N DU COMPORTEMENT INTERNE
Page:
74
7.6.4 EXEMPLE 4
Nous
abordons
à
présent
la
structuration
du
système
de
commande
de
l'atelier èe bobinage (c.f.
section
2.6.2 fig.
2.37),
l'objectif poursuivi étant de
regrouper les événements liés au métier (Ereq, Efbob, Ecasse), les événements et
les opérations
de commande liés au système embarqué (Efdepse, Efretse. Adepse,
Aretse, Aarrse. Acf, Aech) et les événements. et les opérations de commande liés
à la navette (Efdepn, Efretn, Adepn. Aretn, Aarm).
L'architecture
souhaitée
s'obtient
en
effectuant
deux
décompositions
. successives.
La
première
décomposition
est
une
décomposition
par
partitionnement.
par
rapport
aux
transitions
frontières
t4' t5' t8' tlO et tl2 (cf.
figure
7.29).
Elle
s'obtient
en
ajoutant
une
place
implicite
en
sortie
de
la
transition
t4 et en entrée de la transition t5' puis en appliquant ensuite la règle
RD08 aux transitions tg. tlO et t12' et la règle RD02 aux transitions t4 et t5' Elle
permet
de
regrouper
sur
un
sous-réseau
les
événements
et
les
opérations
de
commande liés à la navette (figure 7.29 (a», et sur un second sous-réseau les
événements
et
les
opérations
de
commande
liés
au
métier
et
au
système
embarqué (figure 7.29 (b». Le sous-réseau de la figure 7.29 (b) doit donc a son
tour
être
décomposé
par
dédoublement
pour
regrouper
sur
des
sous-réseaux
distincts,
les
événements
liés
au
métier
d'une
part,
et
les
événements
et
opérations de commande liés au système embarqué de l'autre.
Ce dédoublement
n'est toutefois pas possible à réaliser : les événements Ecasse et Efdepse qui sont
associés
à
des
transitions
en
conflit
structurel
doivent
être
répartis.
Ce
problème peut
être
résolu
en
modifiant
la
spécification
initiale
de
manière
à
rendre plus strict l'ordre défini pour la prise en compte des occurrences de ces
deux événements. La figure 7.30 rend compte de celte modification, et la figure
7.31
de
la décomposition que l'on obtient ensuite.
En
appliquant alors
sur les
sous-réseaux
résultants
d'une
part
la
règle
de
transformation
des
communications asynchrones exprimées à
l'aide de
rendez-vous.
et d'autre part,
la règle de réduction des sous-réseaux, on obtient
la spécification finale de la
figure 2.38 (c.f. section 2.6.2).

Ch.7 : AlDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
75
<Aarrse :_ vrai>
Legende: 't2 _ "strlctement.ralralchl"
<ABlTn :- vrai>
<Ereqp:1..10) .> 1 Mreq>
<Adepse :_ vrai>
<f Eldepse[I)( '( 2) >
<Adepn :- vrai
<Aarrse :. vrai>
<t Eldspn[i)( '(2»
< Efbob{l) >
<Ad :. vrai>
<AarrS8:-vrai>
<1 MOOd1>
<! M1sch>
<Arstn :- vrai>
<tElrstn( '( 2»
(a)
(b)
Figure 7.29

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
76
<Aarrse :_ vrai>
Legende: 't2

"strlctement-ralralchl"
<Aarrn
< Ereq [1:1 .. 10] >
<Adepse :. vrai>
<t Eldepse[IJ('t" 2) >
<Adepn :. vrai>
<Aarrse :_ vrai>
<f Eldepn[lJ( 't" 2»
< ElbobPI >
<Aarrn :. vrai>
<Acl :. vrai>
<Aretn :. vrai>
<tElretn( 't" 2»
Figure 7.30

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
77
(a)
<Ar-m :. vraI>
dElr.tn( or 2»
<T Elr.1•• ("("2)-~' IMI'r".>
(b)
(c)
Figure 7.31

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
78
7.7 COMPARAISON
Une approche de structuration des systèmes de
commande
répartis fondée
sur la
décomposition de RdPI est
également proposée
dans
[ Valette
82
1 [
Courvoisier
83
J.
Dans
cette
approche.
les
interactions
entre
entités
communicantes
sont
exprimées
à
l'aide
de
places
partagées.
Trois
règles
de
décomposition
sont
alors proposées.
La
règle
des
étiquettes
Les variables (capteurs ou variables
internes)
figurant
dans
les étiquettes
associées
aux
transitions
doivent
impérativement
rester
locales,
c'est-à-dire,
ne
jamais être utilisées dans plus d'un sous-réseau.
La règle des places
Une
place
modélisant
une
communication
asynchrone
entre
sous-réseaux
ne doit pas posséder plus d'une transition de sortie, ou alors toutes les transitions
de sortie doivent appartenir au même sous-réseau.
La
règle
des
transitions
Lorsqu'une
transition
commune,
c'est-à-dire
correspondant
à
un
rendez-vous possède plusieurs places d'entrée, il ne faut pas que plus d'une de
ces pl aces soi t partagée.
La procédure de décomposition correspondant à ces trois règles est en fait
une procédure de décomposition par
partitionnement par rapport à des places
frontières qui
deviennent de fait
des places de communication. Par conséquent,
la mise en oeuvre de cette procédure est beaucoup plus simple, que la mise en
oeuvre
de
la
procédure
de
décomposition
par
partitionnement
que
nous
proposons.
En
contre-partie,
elle
offre
moins de
possibilités
de décomposition.

Ch.7 : AIDE A LA CONCEPTION DU COMPORTEMENT INrERNE
Page:
79
Ccla tient en partie, au fait que le pouvoir d'expression de la communication à
l'aide de places partagées est
plus faible
que le
pouvoir d'expression
de la
communication à l'aide de rendez-vous. Dans la section 2.5.1, l'étude comparative
de ces deux modes d'expression de la communication laissait
apparaître cet état
de fait.
Ainsi,
les
deux
schémas
de
décomposition
de
la
figure
7.32,
qui
sont
réalisables en
utilisant
les
règles RD02
et
RD09
ne
peuvent être
réalisés en
utilisant la règles des transitions.
Figure 7.32
Par ailleurs, comme le montre la figure 7.33, tes schémas de décomposition
qui ne
respectent pas la règle des places peuvent être
réalisés en utilisant
la
communication par rendez-vous(c.f. règles RD02 et
RD04).
A titre d'illustration, les décompositions que nous avons réalisées dans les
deux
derniers exemples de
la section
précédente ne
peuvent être
réalisées en
utilisant la communication par place partagée. Dans l'exemple 3. la transition t5
ne respecte pas la règle des transitions. Dans l'exemple 4, aucune des règles ne
permet de regrouper
sur un sous-réseau distinct les événements liés au métier,
et sur un autre les événements et les opérations de commande liés au
système
embarqué.

Ch.? : AIDE A LA CONCEPTION DU COMPORTEMENT INTERNE
Page:
80
Figure 7.33

CONCLUSION
Page: 1
CONCLUSION

CONCLUSION
Page: 2
Pour conclure, nous resumons les points essentiels du travail réalisé et nous
indiquons comment il peut être poursuivi.
Le trayaU réalisé
Le
but
de
ce
travail
a été
de
compléter
un
système
de
programmation
construit autour d'un
langage de description d'applications réparties (FLEXI) par
un système d'aide à la conception, l'objectif à terme étant de converger vers un
environnement
de
développement
ciblé
sur
les
applications
temps
réel
et
réparties.
Pour
cela,
nous
avons
choisi
de
nous
appuyer
sur
une
démarche
de
conception
qui
comporte
une
étape
globale
et
une
étape
détaillée,
et
pour
chacune de ces deux étapes, trois niveaux d'abstraction: le niveau conceptuel, le
niveau
organisationnel,
et
le
niveau
opérationnel.
Cette
démarche
permet
d'aborder de façon progressive et ordonnée la résolution de divers problèmes de
conception, en
séparant spécification
du
problème.
organisation
du
système, et
prise en compte des contraintes de langage de
programmation
et d'architecture
physique de réseau de processeurs.
Par ailleurs, nous avons choisi de nous appuyer dans cette démarche sur un
modèle
de
spécification
unique
que
nous
avons
adapté
aux
problèmes
de
la
répartition : les réseaux de Petri interprétés. Ce modèle nous a permis d'aborder
à la fois les problèmes de spécification du problème, d'organisation du système,
de
validation,
et
de
simulation.
Il
peut
également
servir
éventuellement
de
langage
d'implémentation.
L'apport
essentiel
de
notre
travail
se
situe
toute
fois
beaucoup
plus
au
niveau
des
outils
logiciels
que
nous
proposons
pour
supporter
la
démarche
préconisée.
Ces
outils
permettent
d'aborder
les
tâches
intimement
liées
de
spécification,
d'organisation,
de
validation
et
d'évaluation,
en
combinant
une
approche
formelle
à une
approche
empirique.
L'approche formelle
retenue
s'appuie
sur des
techniques de
transformation

CONCLUSION
Page: 3
par raffinements successifs et décompositions. qui permettent non
seulement de
guider et
de
discipliner
le
raisonnement.
mais
aussi
et
surtout
de
simplifier
voire
d'éliminer
les
étapes
délicates
de
validation
de
la
spécification
du
comportement
d'un
système.
L'approche
plus
empmque
s'appuie
quant
à elle
sur
des
techniques
de
prototypage
rapide
fondées
sur
une
modélisation
adéquate
de
l'environnement
et du
flux
d'activité. qui
permet de
simuler hors
site
le
fonctionnement
d'un
système de commande • soit pour une mise au point fine de la spécification, soit
pour dialoguer avec l'utilisateur afin de clarifier ses besoins. soit .pour évaluer
les
performances
et
dimensionner l'atelier.
Cette
approche
est
un
complément
indispensable
de
la
première
approche
pour
aborder
de
façon
réaliste
une
application dans toute sa complexité.
Les
proloniements
enyjsaieables
Un certain nombre d'idées présentées dans ce mémoire ont été validées en
construisant
deux
prototypes
de
produit.
Le
premier
concerne
les
règles
de
décomposition
par partitionnement. et
le
second
la simulation
conjointe de la
partie commande et de la partie opérative. Cette phase d'expérimentation mérite
d'être
poursuivie
avec
des
objectifs
de
mise
en
oeuvre
plus
précis.
et
des
ambitions
plus
larges.
Ces
objectifs
et
ces
ambitions
doivent
en
particulier
permettre la définition du noyau dur d'un système ouvert d'aide à la conception
sur lequel
il sera ensuite possible de greffer progressivement:
- différentes
opérations
de
transformation
- différentes
règles de construction
différentes
fonctions de validation
- et des outils de prototypage rapide
Ceci
permettrait de comprendre
encore
plus
les
liens
parfois
très
subtils qui
existent
entre
les
différentes
tâches
qui
caractérisent
le
processus
de
conception.
et
de mieux
étudier
la complémentarité
des
différentes
techniques
de
conception.

ANNEXE A
Page: 1
ANNEXE A
LES RESEAUX DE PETRI
GENERALITES:
DEFINITIONS
PROPRIETES
ABREVIATIONS
ET EXTENSIONS

ANNEXE A
Page: 2
PLAN
Page
A.I Définitions
.
A/3
A.2 Etude des propriétés fondée sur l'analyse des marquages
accessibles
..
Al8
A.3 Etude des propriétés fondée sur l'algèbre linéaire
.
A/9
A.4 Etude des propriétés fondée sur la théorie des graphes
.
Ail 3
A.5 Notions d'abstraction et d'équivalence de comportement
.
A/15
A.6 Les règles de réduction
.
Ail 8
A.7 Les abréviations des RdP
..
Al22
A.8 Les extensions des RdP
.
A/27


ANNEXE A
Page: 3
A.1
DEFINITIONS [ Brams 83 ]
Un . réseau
de
Petri autonome ( RdP ) R
est défini
par un
quadruplet
<
P, T ; Pré , post > et par des règles de fonctioMement. Dans le quadruplet
- P désigne un ensemble de places,
- T un ensemble de transitions,
- et Pre et Post deux fonctions
de P x T dans ~.
Si 'ri pEP, 'ri t ET: Pre (p , t ) S 1 et Post (p , t) SI, on dit que R est réseau
ordinaire.
Margyaoe d'yn réseay .
Les
places
peuvent
contenir
zéro
ou
plusieurs
marques.
On
appelle
marquage d'un réseau, le vecteur d'entiers M désignant à un instant donné
le
nombre de marques contenues dans chaque place du
réseau.
Si
p désigne une
place, on note alors par M(p) le nombre de marques dans cette place. On appelle
RdP marqué <R;M O)' un RdP R auquel il est associé un marquage initial MO .
Rè&les de franchissement
Le passage d'un marquage à un
autre s'effectue de façon
instantanée en
franchissant
une
transition.
Les
fonctions
Pre
et
Post
définissent
la
précondition
et
la
postcondition
de
ce
franchissement:
Pour
un
marquage
M,
une transition t E T est franchissable ssi
'ri pEP
M(p) 2: Pre(p,t).
Le franchissement de t provoque alors le passage à un marquage M' tel que
'ri pEP
M'(p)
M(p) - Pre(p,t) + Post(p,t).

ANNEXE A
Page: 4
On note alors
M(t>
ou
M (t> M.
Ce qui
se
lit
que.
t est
franchissable
à panir de
M (
M (t>
) et
que
le
franchissement de t conduit au marquage M' ( M (t> M' ). Cette notation s'étend
de
façon
naturelle
aux
séquences de franchissement.
A un instant donné. une seule transition peut être franchie à la fois.
Si
pour
un
marquage
accessible
M
plusieurs
transitions
sont
franchissables.
le
choix de la transition à franchir s'effectue de façon aléatoire. On dit qu'un RdP
marqué
<R.M O> est persistant si pour tout marquage accessible M. le
franchissement
de
tout
couple
de
transitions
franchissables
(t l ,t2)
est
commutatif.
Dans un RdP marqué persistant. les transitions franchissables pour
un marquage
accessible M peuvent donc
toujours être
franchies
dans n'impone
quel
ordre.
Les
réseaux
non
persistants
modélisent
par
contre
des
choix
exclusifs
de
franchissement
caractérisés
par
des
conflits
structurels
effectifs.
On dit que deux transitions tl et t2 sont en connit
structurel ssi elles ont en
commun au moins une place en entrée. On dit alors que ces deux transitions sont
en connit
effectif pour un marquage accessible M ssi
M ( tl > • M ( t2 > et :3 p telle que
M(p) < Pre(p. tl) + Pre(p. t2)'
On note par
L(R;MO) ={s 1Mo( s >}
le
langage
que
forme
l'ensemble des
séquences
de
franchissement
possibles
à
partir du marquage initial MO'
Par ailleurs. on note par

ANNEXE A
Page: S
A(R;MO) = (M 1 3 s Mo( s > Ml
l'ensemble des marquages accessibles à partir de MO'
Représentation
&raphiQue
Un
RdP est
habituellement
représenté
par
un
gr a p h e
bipartite. où les
places sont représentées par des cercles. et les transitions par des barres ou des
rectangles. Dans ce graphe. une place p est reliée à une transition t par un arc
(P.t) partant de p vers t.
de poids k
Pre(p.t) (on dit aussi de valuation k). ssi
Pre(p.t)
> O. On dit alors que la place p est en entrée de la transition t et on note
par
·t ={ pEP 1 Pre(p.t)
> 0 l l'ensemble des places en entrée de la transition t
et par
p' = { t E T 1 Pre(p.t) > 0 l l'ensemble des transitions en sortie de la place p.
De la même façon. une transition t est reliée à une place p par un arc (t.p)
partant de t vers p. de poids k = Post(P.t). ssi Post(p.t) > O. On dit que la place pest
en sortie de la transition t et on note par
t· = { pEP 1 Post(p.t) > 0 l l'ensemble des places en sortie de la transition t.
et par
'p = { t E T 1 Post(p.t) > 0 l l'ensemble des transitions en entrée de la place p.
De
façon
plus
intuitive, on peut alors
dire qu'une transition
t E Test
franchissable pour un marquage accessible M. ssi chaque place Pe en entrée de
celle transition contient un nombre de marques au moins égal à la valuation de

ANNEXE A
Page: 6
l'arc
(Pe ,t).
Le
tir
d'une
transition
franchissable
t
conduit
à
un
nouveau
marquage
en
retranchant
de
chaque
place
Pe
en entrée de t un nombre de
marques égal la valuation de l'arc (Pe ,l), et en ajoutant à chaque place Ps en
sortie de t un nombre de marques égal à la valuation de l'arc (t,ps)'
Exemple'
Ce
modèle
de
spécification
permet
essentiellement
de
modéliser
le
comportement d'un système de processus parallèles soumis à des contraintes de
synchronisation.
Dans
cette
modélisation,
les
marquages
accessibles
servent
à
représenter
l'état
du
système,
et
les
tirs
de
transitions,
des
occurrences
d'événements.
La figure A.I
(a) est un exemple simple de RdP modélisant le
comportement
d'un
système
constitué
de
deux
processus
PI
et P2 qui
fonctionnent
en
utilisant
une
ressource commune
en
exclusion
mutuelle.
Dans
cet exemple, la place Pi 1 n'est marquée que si le processus Pi est en attente de la
ressource , et la place Pi2 si le processus Pi est en
cours
d'exécution
dans
la
section critique. La disponibilité de la ressource est modélisée par la place Pro Le
marquage de cette place signifie que la ressource est disponible. La figure A.I
(b)
représente pour
cet
exemple
le
vecteur
MO
correspondant
au
marquage
initial, et sous forme matricielle les fonctions Pre et Post du réseau, tandis que la
figure
A.I
(c)
représente
par
un
graphe
appellé
graphe
des
marquages
accessibles, les évolutions possibles du réseau.
L'intérêt
des
RdP
réside
toutefois
beaucoup
plus
dans
les
possibilités
d'analyse qu'il est possible d'effectuer
sur les propriétés du système modélisé.

ANNEXE A
Page: 7
Processus P1
Processus P2
t 11
t21
t22
Figure A.1 (a)
t11
121
t12 122
111
121
t12 t22
p11
0
0
p11
0
1
p21
1
p21
1
0
p21
0
0
p11
[ 1 ]
P12
0
p12
0
1
p12
0
0
P22
0
p22
0
0
p22
1
0
pr
1
P r
Ü1 0 TI
pr
IT 0 1 TI
Marquage initial MO
Matrice
Pré
Matrice
Post
Figure A.1
(b)
1
1
0
0
1
7~
t 12
t22
o
1
1
0
1
0
0
1
0
0
Figure A.1 (c)

ANNEXE A
Page: 8
A.2
ETUDE DES PROPRIETES FONDEE SUR L'ANALYSE DES MARQUAGES
ACCESSIBLES [ Brams 83 ] [ Karp 69 ]
L'une
des
propriétés
que
l'on
peut
vérifier
avec
cette
approche
est
le
bornage
des
places.
On
vérifie
que
quelle
que
soit
l'évolution
d'un
réseau
marqué
<R;MO>' le marquage d'une place ou de l'ensemble des places
ne peut
jamais dépasser une borne donnée k, en énumérant il partir du marquage initial
les différents marquages accessibles. Si il partir d'un marquage
M on accède il
un marquage M' tel que
'V pEP
M'(p) 2: M(p). en se référant il la définition
d'une
transition
franchissable.
on
voit
bien
que
toute
séquence
de
transitions
franchissable il partir de M l'est également il partir de M'. Il s'ensuit que pour
une place PEP. si on a M'(p) > M(p), en répétant la séquence de transitions qui
conduit de M il M', on peut augmenter il l'infini le nombre de marques dans p.
Karp
et
Miller [Karp
69]
proposent
un
algorithme
fini
basé
sur ce
principe
permettant de détecter toutes les places non bornées d'un réseau marqué.
Lorsque toutes les places d'un réseau marqué
<R;MO> sont bornées. il est
possible, par simple examen des différents marquages accessibles. de vérifier un
certain nombre de propriétés dont:
- Le bornage de
l'ensemble
des places il 1:
On dit alors que <R;Mo> est un
réseau
sauf.
- Les
invariants
de
places
:
On
vérifie
qu'une
relation
donnée
sur
le
marquage des places d'un réseau est vraie quel que soit le marquage atteint.
- L'absence
de
blocage : On vérifie que pour tout marquage accessible M, il
existe au moins
une
transition
franchissable.
L'accessibilité : On vérifie que pour un marquage donné M. il existe une
séquence de
franchissements de transitions
conduisant il M'.

ANNEXE A
Page: 9
. La
vivacité
:
On
vérifie
que
le
franchissement
d'une
transition
ou
de
l'ensemble
des
transitions
de
<R;MO> est toujours possible quel que soit le
marquage
atteint.
- L'existence
d'un
état
d'accueil
: On
vérifie
que
un
marquage
donné,
appelé
état
d'accueil,
sera
toujours
accessible
quelle
que
soit
l'évolution
du
réseau.
Toutefois,
l'étude des
propriétés d'un
réseau
par l'analyse des marquages
accessibles
présente
quelques
inconvénients
majeurs:
Cette. analyse
est
impraticable si le nombre de marquages accessibles est excessivement grand. En
plus, Je fait qu'un réseau ne soit pas borné ne correspond pas nécessairement à
une erreur de
modélisation.
Lorsqu'un
réseau
n'est pas borné,
le nombre de
marquages
accessibles
devient
infini.
On
a
alors
recours
à
un
graphe
de
couverture

chaque
composant
non
borné
d'un
marquage
accessible
est
remplacé par un symbole spécial w désignant
un
nombre
entier
arbitrairement
grand.
L'utilisation
de
ce
symbole
dans
un
graphe
introduit
une
perte
d'information
qui
rend
impossible
la
vérification
systématique
de
certaines
propriétés
telles
l'absence
de
blocage,
J'accessibilité,
la
vivacité
et
l'existence
d'un état d'accueil.
A.3 ETUDE DES PROPRIETES FONDEE SUR L'ALGEBRE LINEAIRE
[ Burns 83] [ Sirakis 79 ] [ Berthomieu 80 ] [ Genrich 81 b ]
[ Jensen 81 ] [Memmi 83 ] [ Silva 85 ]
Cette approche permet d'analyser le comportement décrit par un RdP en
s'appuyant sur les propriétés structurelles du
réseau plutôt que sur un examen
exhaustif de ses marquages accessibles.
Soit
pour un RdP R=<P.T;Pre.Post>
C la matrice P x T appelée matrice
d'incidence
et calculée de la manière suivante:
C = Post - Pre.

ANNEXE A
Page: 10
En se référant aux règles de modification du marquage d'un réseau lors du tir
d'une
transition, on
voit
bien
que chaque composante
C(p,t)
de
cette
matrice
contient la valeur à ajouter à la place p
lors de tout tir de la transition l. On
notera en particulier que si
une place p est à la fois en entrée et en sortie d'une
transition t, et si la valuation de l'arc (p,t) est la même que celle de l'arc (t,p),
alors C(p,t) = O. On dit dans ce cas que R est un réseau impur. Si R est un réseau
pur, la seule donnée de C suffit pour reconstituer sa structure: les places en
entrée d'une transition t e
T correspondent aux places peP telles que C(p,t) < 0,
et la valuation d'un arc (p,t) à -C(p,t); les places en sortie d'une transition t e T
correspondent aux places p e P telles que C(p,t) > 0, et la valuation d'un arc (t,p)
à C(p.t).
Soit
une
séquence
de
franchissements
de
transitions.
On
appelle
vecteur
caractéristique de s, le vecteur 50
à coefficients entiers tel
que la ième coordonnée contient le nombre de fois que la transition ti
apparaît
dans la séquence s.
Exemple:
Si
s = t1 t2 t3 t3 t1 t4 t1
alorsi=3121
De
ces
définitions,
il
s'ensuit
l'équation
suivante
qui
fonde
l'étude
des
propriétés d'un réseau à l'aide de l'algébre linéaire :
Si M(s> M'alors
M'
M+C*i·
Si
f
est
un
vecteur d'entiers
désignant
une
pondération
des
places
du
réseau. on peut écrire à partir de cette équation ce qui suit :
P*M
où ,.. désigne le transposé de f.

ANNEXE A
Page: 11
On appelle p-semi-f1ot tout vecteur d'entiers f solution
de
l'équation
ct .. C
O.
On peut
remarquer que pour un
tel
vecteur, on obtient
la
relation
invariante
suivante sur le marquage des places du réseau :
ft .. M' =ct .. M.
En
utilisant
les
techniques
de
l'algèbre
linéaire.
on peut
déterminer, pour un
réseau
donné.
ses
p-semi-flots.
et
prouver
ainsi
certaines
de
ses
propriétés
relatives
au
marquage
des places (invariants.
bornage .... ).
Exemple:
Pour le réseau de la figure A.I. f = (0 0 1 1 1) est un p-semi-flol.
Pour tout
marquage accessible M à partir d'un marquage initial
MO' la relation suivante
doit donc être vérifiée:
MO étant égal à (1 1 0 0 1). on doit alors avoir pour tout marquage accessible M
0+0+1=1.
On en déduit ce qui suit:
M(PI2) = 1 ..
M(P22) = M(Pr) = 0
M(P22) = 1 ..
M(P12) = M(Pr) =0
Ce qui permet de conclure que l'accès à la ressource par les deux processus PI et

ANNEXE A
Page: 12
P

2 s'effectue toujours en exclusion mutuelle.
De
façon
similaire,
à
partir
de
l'équation
fondamentale,
on
peut
se
convaincre
que
s'il
existe
une
séquence
de
franchissements
de
transitions
permettant de passer d'un marquage M à un marquage M', alors cette séquence s
est
nécessairement solution de
l'équation
C· $.= M' - M.
Par ailleurs, si
s est une séquence qui peut être franchie
de façon
répétitive,
alors elle doit aussi être nécessairement solution de l'équation
C· $. 2 O.
Ces
deux
équations
fournissent
des
conditions
nécessaires
d'accessibilité
et de
vivacité dans un RdP marqué. Ces conditions ne sont toutefois pas suffisantes;
étant donné
un RdP,
les solutions de ces
équations
peuvent
en effet ne pas
correspondre à des séquences franchissables. Le
réseau de la figure A.2 est un
exemple cité dans [Peterson 81]
pour illustrer ce
phénomène, qui
constitue la
limitation majeure de
l'étude des propriétés des RdP
par l'algèbre
linéaire.
Si
l'on considère M' = (0, 0, 0, 1) et M = (l, 0, 0, 0),
s = (1,1) est solution de l'équation
C • .s. = M' - M. Pourtant, ni la séquence (tl. t2) ni la séquence (t2, tl) ne permet
d'accéder au marquage M' à partir du marquage M.
p2
p3
Figure A.2

ANNEXE A
Page: 13
A.4 ETUDE DES PROPRIETES FONDEE SUR LA THEORIE DES
GRAPHES
[Brams 83 1 [ Commoner 72 1 [ Memmi 83 1
Comme
le
montrent
les
deux
sections
précédentes.
la
vérification
des
propriétés
liées
à
la
vivacité
d'un
réseau
ne
sont
pas
toujours
décidables.
Cependant, des études fondées sur la théorie des graphes ont permis de dégager
les résultats que nous présentons pour des classes particulières de réseaux.
On dit qu'un sous-ensemble V non vide de places constitue un verrou ssi
'" P EV, '" t E 'p : 3 p' E V telle que tEp"
(Toute
transition en entrée d'une place
de
V est aussi
en sortie
d'une
place de V). 181
Si
pour un marquage accessible l'ensemble des transitions en sortie des places
d'un
verrou
sont
infranchissables.
elles
resteront
donc
infranchissables
quelle
que soit l'évolution du réseau.
Par
ailleurs,
on
dit
qu'une
place
p
est
déficiente
pour
un
marquage
accessible M ssi
(l)
p' '" (2)
(2)
M(p) < Min lEp' Pre(p,t). 181
Par extension. un sous-ensemble de places Q est déficient pour un marquage M
ssi toute place de Q est déficiente pour ce marquage.
On
dit
alors
qu'un
sous-ensemble
A
non
vide
de
places
constitue
une
trappe
ssi
(1)
'" P E A, '" tEp' : 3 p' E A telle que t E 'p'
(Toute transition en sortie d'une place de A est aussi en entrée d'une place

ANNEXE A
Page: 14
de A)
(2)
"1 p E A, "1 tEp' : ::1 p' E A n t·
telle que
soit p" = el
soit Post(p',t) ~ Mint'E p'. Pre(p', t')
(Pour toute trallSition
t en sortie d'une place de A, il existe une place
p' en
sortie de
t incluse dans
A qui n'est jamais déficienle aprts tout tir de
t). ~
En
d'autres
termes,
une
trappe
définit
un
sous-ensemble
de
places
qui
ne
perdent jamais toutes leurs marques quelle que soit l'évolution du réseau.
Le
thérome
de
Commoner
[
Commoner
72
]
donne
pour
des
classes
particulières
de
réseaux
une condition
de vivacité
qui
consiste
à
vérifier que
tout
verrou
contient
une
trappe
non
déficiente
au
marquage
initial.
Les
trois
classes que nous évoquons ici nous sont utiles dans le chapitre 6. Pour les deux
premières
classes
(les
graphes
d'événements
et
les
machines
à
états),
la
condition de Commoner constitue une condition nécessaire et suffisante.
Pour la
troisième classe (les graphes simples), elle constitue une condition suffisante.
Les
graphes d'événements
Un réseau R = < P ,T
Pre, Post > est un graphe d'événements ssi
"1 pEP: 1p' 1 = l'p 1 = 1
(Chaque place
a
exactement une
transition en
entrée,
et
une
transition
en sortie). ~
Pour ce
type de
réseau,
la
vérification
de
la
condition
de
vivacité
se
ramène
à
s'assurer
que
chaque
circuit
élémentaire
contient
au
moins
une
marque.
Les machines à états'
Un réseau R = < P , T ; Pre , Post > est une machine à états ssi

ANNEXE A
Page: 15
IV t ET: 1t' 1 = l 't 1 = 1
(Chaque
transition a
exactement une place
en
entrée.
et une place
en
sortie) ,~
La
vérification
de
la
condition
de
vivacité
sur
une
machine
à
états
s'effectue
également
de
façon
très
simple,
Elle
se
ramène
à
s'assurer que
le
réseau est fonement connexe et contient au moins une marque.
Les
graphes simples
Un réseau R = <P,T;Pre,Post> est considéré comme un graphe simple ssi
IV (p,p') E p2, si P' n p" '#- l2J
alors soit P' Cp"
soit p" C P' soit P' = p" , ~
On peut noter que les graphes simples incluent les graphes d'événements
et les machines à états.
A.5 NOTIONS
D'ABSTRACTION
ET
D'EQUIVALENCE
DE
COMPORTEMENT [André 81 1
L'étiquetage
permet de restraindre l'observation du
comportement décrit
par un RdP,
à un sous-ensemble d'événements considérés comme essentiels, ou
de
confondre
les
tirs
de
transitions
modélisant
l'occurrence
d'un
même
événement.
De façon générale, on définit un RdP étiqueté RE par un quadruplet
< R;MO;E;e> où
R = <P,T;Pre,Post> désigne un RdP
MOle marquage initial
E un vocabulaire

ANNEXE A
Page: 16
et e : T...... E + lÀ.} une application qui associe à chaque transition t E Tune
étiquette de E ou l'élément neutre À.
et on note par e : T*
......
E* l'extension naturelle de e qui associe à chaque mot de
T* un mot de E* définie comme suit:
Soit s E T*. Si s = À. alors e(s) = À.
sinon s = s't
et
e(s) = e(s') e(t). @
L'ensemble
des
mots
que
l'on
obtient
par
concaténation
des
étiquettes
associées
aux
transitions des
différentes
séquences
de
franchissement
possibles
dans < R;MO > forme un langage
qui
définit l'ensemble des séquences
d'événements
observables dans
le
système
modélisé. Chaque élément e(s) E LE(RE) est alors appelé image de s par e.
Si E = T et si e désigne l'application identité. on remarquera que le langage
que l'on obtient correspond à L(R;MO)'
La projection sur un ensemble de transitions distinguées Td C T définit
une
application
d'étiquetage particulière
telle
que
\\ri t ET: e(t)
si t E Td et
À.
si t E T - Td'
Elle permet de restraindre l'observation du componement du réseau
<R;MO >
aux transitions contenues dans Td' On note alors par Proj(Td .s) la projection de
E
L(R;M O) sur Td qui s'obtient en supprimant de s les symboles n'appanenant
pas à T
»
d • et par Proj(Td' L(R;MO
la projection de L(R;MO) sur Td .

ANNEXE A
Page: 17
Différents
critères
sont
proposés
dans
la
littérature
pour
décider
de
l'équivalence de deux RdP étiquetés [ Sifakis 79 ] [ Berthelot 78 ] [ André 81 ].
Les critères d'équivalence fondés
sur la notion d'abstraction proposés dans
[Andre 81] permettent de garantir que si l'on contraint deux systèmes considérés
comme
équivalents
à
évoluer
en
réalisant
dans
le
même
ordre
les
mêmes
événements, à chaque instant, ces deux système offriront chaque fois les mêmes
possibilités
d'évolution
future.
De
ce
fait,
ces
critères
sont
équivalents
aux
critères
d'observabilité
proposés
dans
[Milner
80].
Ils
s'énoncent
plus
simplement
lorsque
l'étiquetage
des
réseaux
définit
une
projection
sur
un
sous-ensemble
de
transitions.
Soit < R;MO > avec R = < P,T;Pre,Post > un RdP marqué, et Td C T un
sous-ensemble de transitions distinguées. Si pour M,M' €
A(R;M O) il existe s1,s2 €
(T - Td)* + p.. } et t €
Td tels que M ( sI t s2 > M', nous noterons par convention
M (. t. > M.
On dit que < R;MO > admet une abstraction sur Td ssi
'1 s1,s2 €
L(R;MO)' '1 t € Td, '1 MI.M2 € A(R;MO) :
MO( sI > Ml ' MO( s2 > M2 ' Proj(Td,sl)=Proj(Td,s2)
.. M l(. t.>'" M2(' t .>. l8l
Cette
condition
permet
de
définir
l'équivalence
de
deux
réseaux
de
la
façon
suivante:
Soient < R;MO > avec R=< P,T;Post,Pre > et < R';Mo' > avec R' = < P',T;Pre',Post' >
deux RdP tels que Td C T et Td C T'. On dit que < R;MO > et < R';MO' > décrivent le
même comportement sur Td ssi

ANNEXE A
Page: 18
(1)
Proj(Td,L(R;M » =

O
Proj(Td.L(R',MO
(2)
'V s E L(R;Mo), 'V M E A(R;MO)
'V s' E L(R';MO')' 'V M' E A(R';Mo')
'VtETd :
MO( s >M, Mo'( s' >M', Proj(Td,s) =Proj(Td' s') => M(. t.> ... M'(. t .> . ~
A.6 LES REGLES DE REDUCTION [ Brams 83 1 [ Berthélot 8S a 1
Les règles de réduction permettent de réduire ou d'augmenter la taille d'un
réseau sans modifier certaines de ses propriétés (caractère borné et
conservatif,
propriétés
liées
à la
vivacité, et abstraction).
Lorsque de
par sa structure un
réseau
est
complètement
réductible.
ces
règles
constituent
de
ce
fait
un
excellent moyen d'analyse, sinon, elles peuvent servir à réduire sa taille pour le
rendre plus
facilement
analysable.
Dans ce qui
suit,
nous
présentons quelques
règles
qui
nous
sont
utiles
pour
fonder
nos
règles
de
construction
et
de
transformation.
N.B. : MQ désigne un ensemble de marquages initiaux.
Définition pA 1 . Place substituable (ou oost-agglomératjon)
[ Brams 83 1.
[Berthelot 85 a 1
Soit N = < R ; Mu > avec R = < P, T ; Pre. Post> un réseau marqué. Une place ps
de
N est
substituable ssi
il
existe
un
entier m
positif et
non
nul
et
deux
sous-ensembles
de
transitions
H et
F
non
vides
qui
satisfont
les
conditions
suivantes
:
(1)
'V f E F: Pre (p, f) =
m
si p = ps
0 sinon. (La seule entrée de
f est ps).
(2)
'V f E F:
Post (ps' f) =0 (ps n'est pas une place sortie de
f)
(3)
'V f E F: :3
pEP t. q. Post (p. f) > 0

ANNEXE A
Page: 19
( Une transition au moins de
F à une sortie)
(4)
Il h E H: Pre (ps' h) = 0
(ps n'est pas en entrie de
h)
Il hE H: 3 K h E t1, Kh '" 0 t.q. Post (ps' h) = m * Kh
(Le nombre de marques mises par
h dans
Ps est multiple de
m)
(5)
Il t
lé H + F: Pre (ps' t) = Post (ps' t) = 0
(Toute transition qui n'appartient ni à
H, ni à F, n'eslcpas relile à
ps)'
La substitution de la place Ps donne le réseau réduit N' = < R' ; ~'> avec R' =
< P', T' ; Pre', Post' > où
( 6 )
P' = P - ( Ps J
(7)
T' = ( ~h€HRI (h) ) + T - (H + F)

RI
(h)
est
l'ensemble
de
transitions
obtenu
en
substituant
dans
Post (. , Il) toutes les combinaisons possibles des Post (. , n, (f E F) à Post
(ps' h).
(8)
Il tE T - (H + F): Pre'{.. t) = Pre(., 1),
Post'{., t) = Post{., t)
(9)
Mu' = ( MO - QM * v + ~fEF nf * Post{., n 1MO E MQ et ~feF nf= QM'
v{p) = m si p = Ps 0 sinon J.

QM est la panie entière de M {p)/m . 0
Définition DA 2 . Place implicite [ Brams 83 1 [ Benhelot 85 a 1
Une place implicite est telle que, quel que soit le marquage atteint, elle
n'est jamais un obstacle
aux
franchissements
des
transitions
dont elle est une
entrée. Plus formellement, une place PI d'un RdP N = < R; ~ > avec R = < P, T, Pre,
Post > est
une
place
implicite
ssi
il
existe
un ensemble
de
référence
l,
ne
contenant pas PI et éventuellement vide, une pondération f de 1 + (PI J tels que :

ANNEXE A
Page: 20
( 1 )
f: 1+ (PI} ....... N + (Toutes les places concernées ont une pondération positive)
(2)
'V MO €~ : 3 b M € N t.q. f(PI)· MO(pl) - L q€ I(f(q) • MO(q» = bM
(Pour
tout marquage
initial MO, la différence
entre
le marquage pondéré
de p et la somme des marquages pondérés des places de 1 est positive ou
nulle)
(3)
'V t €
T: f(PI) • Pre(PI' t) - Lq€I(f(q)·
Pre(q, t»:S; MinMO€M.ll.
(b M ]
(Pour
toute transition t, la différence entre le marquage pondéré de PI
nécessaire
au franchissement
de
t et
la
somme
des
marquages pondérés
nécessaires à ce franchissement n'est pas supérieure à celle de chacun des
marquages
initiaux).
(4)
'V t €
T : 3 Ct €
N t.p. f(PI)· C(p,t) - L q€ I(f(q) • c(q, t» = Ct
(Pour
le
franchissement
de
toute
transition
t,
la
différence
entre
l'accroissement
(positif
ou
négatif)
du
marquage
pondéré
de
PIe t
l'accroissement de la somme des marquages pondérés des places de 1 n'est
pas
négative).
La
simplification du
réseau
s'effectue
alors
en
supprimant
tous
les
arcs
entrants et sortants de la place PI et en rajoutant
un arc valué Ct de t vers PI
pour toute transition t. Si tous les Ct sont nuls, la place peut
être supprimée.
Définition DA 3
Transitions identiques [ Brams 83 1
Soit N = < R ; ~ > avec R = < P, T
Pre, Post > un RdP marqué. Deux
transitions t 1 et t2
sont identiques ssi
(1)
Pre (., tl) = Pre (., t2)
et
Post (., tl) = Post (., t2)
La suppression de la transition identique t2 donne le réseau réduit N'
< R'
; MQ' > avec R' = < P', T' ; Pre', Post' > où

ANNEXE A
Page: 21
(2)
P'=P
(3)
T'=T-(al
(4)
Pre' = Pre
(5)
Post' = Post
(6)
Mu'=Mu'~
Définition DA 4
Transjtion nell1œ. [ Brams 83 1
Une transition ln d'un réseau marqué N = < R ; MQ> avec R = < P,T; Pre,Post >
est une transition neutre ssi tn a les mêmes places en entrée et en sanie. Le.:
(l)
'1 pEP: Pre (p, ln) = Post (p, ln)
La
transition
tn est alors supprimable ssi il existe une transition l'
différente de tn telle que:
(2)
Post (., t')
<! Pre C, t)
La suppression de tn donne le réseau réduit N' = < R' ; M.o,' > avec R' = < P', T' ;
Pre', Post' > défini comme suit :
(3)
P'=P
(4)
T'=T-(ln}
(5)
Pre' = Pre
(6)
Post' = Post
(7)
~'=.Mq. ~
Définition DA 5 . Pré-ag&!omératjon
[Benbelot 85 a 1
Soit N = < R ; MQ > avec R = < P, T
Pre, Post > un réseau marqué. Un sous

ANNEXE A
Page: 22
ensemble de transitions Fest pré-agglomérable à une
transition
h ssi il
existe
une place Ps telle que les conditions suivantes sont satisfaites:
( 1 )
V pEP: Post (p, h) = 1 si P = Ps et 0 sinon (La seule sortie de
h est ps)
(2)
Pre (ps' h) = 0 (ps n'est pas entrée de h)
(3)
Pre(., h) > 0
(h a au moins une entrée)
(4)
V tE F : Pre(ps. t) = 1 (Toute traltSition de F prend une marque dans ps)
(5)
V t E F : Post(ps' t) = 0 (Aucune transition de F ne met de marque dans ps)
(6)
V t E T - ( (h) + F ) : Pre(ps' t) = Post(ps' t) = 0
(Aucune autre transition n'est connectée à
ps)
(7)
V MO E Mo. : Mo (ps) = 0 (ps est initialement vide)
(8)
V pEP, V t '" h : Pre(p, h) '" 0.. Pre(p, t) = 0
(h ne partage pas ses entrées)
La pré-agglomération de F à h donne le réseau réduit N' = <R' ; M.o.' > en
substituant les entrées de chaque transition t E F par les entrées de h.0
Comme
on
peut
le
constater,
la
pré-agglomération
est
une
règle
de
réduction voisine de la règle de réduction par substitution de place. La place Ps
doit ici être la seule sortie de h et non plus la seule entrée de F. Par ailleurs, h ne
doit pas partager ses entrées.
A.7 LES ABREVIATIONS DES RdP
Les abréviations de RdP ont été introduites pour faciliter
la construction
et la lecture de
réseaux de très grande taille, tout en conservant la puissance
d'expression et d'analyse du modèle initial.
Les RdP à
prédicats [ Genrich 81
al et les RdP colorés [ Jensen 81 1 [
Alla 87 1 constituent les formes les plus parachevées des abréviations de RdP.

ANNEXE A
Page: 23
Les RdP à prédicats'
Dans
une
place
p
d'un
RdP
à
prédicats,
on
associe
à
une
marque,
caractérisée par un n-uplet de paramètres,
un n-uplet de valeurs qui pennet de
le
distinguer des
autres
marques de
la
place.
On
précise
alors
les
types de
marques qu'une transition t doit consommer ou produire dans une place p
soit de façon
explicite en désignant sur l'arc (p.l) ou
(t.p)
les n-uplets de
valeurs que doivent avoir les paramètres des marques
soit de façon implicite en associant aux ares des n-uplets de variables. et aux
transitions des prédicats sur ces variables décrivant la relation qui doit exister
entre les valeurs de paramètres des marques qu'on consomme ou produit.
La modélisation
par RdP d'une voie de communication présentée dans la
figure
A.3
est
un exemple souvent cité pour illustrer le
pouvoir d'abréviation
des RdP [Brams 83J
[Alla 84 J. La voie de communication modélisée fonctionne
comme une file FIFO (First-In, First-Oul) de capacité 3. et pennet la transmission
de deux types de messages. m et m'. La figure A.3 (a) décrit le componement de la
voie par un RdP généralisé, et la figure A.3 (b) par un RdP à prédicats.
Dans
la
figure
A.3
(a),
l'émelleur transmet les messages de type m en
franchissant
la
transition
te'
et
les messages
de type
m'
en
franchissant
la
transition
te "
tandis
que
le
récepteur
reçoit
un
message
de
type
m
en
franchissant
la
transition
ts ' et un message de type m' en franchissant la
transition
ts '. Le marquage d'une place vi signifie que la case de rang i est vide,
et le marquage d'une place ci
( respectivement d'une place ci') que la case de
rang i contient un message de type m ( respectivement de type m').
Dans la figure A.3 (b), les places d'entrée Pe et Pe' ont été regroupées en
une
seule
place
PPe' les places de sonie Ps et Ps' en une seule place PPs' les

ANNEXE A
Page: 24
places
vi
en une seule place v. et les places ci et ci' en une seule place c. Les
marques
dans
les
places
PPe et PPs
sont
caractérisées
par
un
paramètre
qui
désigne le type de message à transmettre. les marques dans la place v par un
paramètre qui indique le rang d'une case vide. et les marques dans la place c
par deux paramètres. l'un désignant le rang d'une case contenant un message. et
l'autre désignant le type de ce message.
Les transitions te et te' ont été regroupées en une seule transition tte . Pour
être
franchie.
cette
transition
doit
consommer
une
marque
dans
v
dont
le
paramètre indique que la première case du tampon est vide. et une marque dans
PP e
dont
le
paramètre
indique
le
type
de
message
à
transmettre.
Son
franchissement
produit
alors
dans
c
une
marque
dont
le
premier
paramètre
indique que la première case du tampon eontient un message.
Le type de ce
message est désigné par le second paramètre.
De la même façon. les transitions ts et ts' ont été regroupées en une seule
transition
tts ' Pour être franchie. cette transition doit eonsommer une marque
dans
e
dont
le
premier
paramètre
indique
que
la
troisième
case
du
tampon
contient un message. Le type de ee message est indiqué par le seeond paramètre.
~
Le
franehissement
de
tts produit alors dans v une marque dont le paramètre
indique que la troisième ease du tampon a été libérée, et une marque dans PPs
dont le paramètre indique le type du message reçu.
Les transitions t1' t1' .t2' t2 '. t3' et t3' ont également été regroupées en une
seule
transition
désignée
par
tt.
Pour
être
franchie.
cette
transition
doit
consommer dans c une marque dont le premier paramètre indique que la case de
rang i est non vide. Le type du message contenu dans cette case est indiqué par
le deuxième paramètre. La transition t doit aussi consommer une marque dans la
case
v dont
le
paramètre
indique
que
le
la
case
de
rang
i+ 1 est
vide.
Le
franchissement de t produit alors dans v une marque dont le paramètre indique

ANNEXE A
Page: 25
que la case de rang i est devenue inoccupée, et dans c une marque dont le
premier paramètre indique que la case de rang i+ 1 est non vide. Le type du
message contenu dans cette case est indiqué par le second paramètre.
Les RdP colorés'
Les
RdP colorés
offrent
une
autre
variante
pour
l'abréviation
des
RdP.
Dans cette variante,
les marques sont également
différenciées
par des n-uplets
de valeurs.
Chaque
n-uplet
de valeurs
représente
une
couleur.
On
précise les
types de marques qu'une transition t doit consommer ou produire en associant à
cette transition un ensemble de couleurs, et à chacun de ses arcs une fonction.
Les
couleurs
associées
aux
transitions
permettent de distinguer différents types
de
tirs de
transition,
et
les
fonctions
associées
aux
arcs
de
déterminer pour
chacun de ces tirs. les types de marques concernés. Le domaine d'une fonction
associée
à
un
arc
est
donc
['ensemble
des
couleurs
de
la
transition
correspondante, et son codomaine l'ensemble des couleurs que doivent avoir les
marques consommées ou produites dans la place correspondante.
La figure A.3 (c) correspond à la modélisation de la file PIFO à l'aide d'un
RdP coloré proposée dans [ Alla 84 J. Comme on peut le constater, il conduit au
même pliage que dans la figure A.3 (b).
c'
c'
c'
1
2
3
Figure A.3 (a)

ANNEXE A
Page: 26
c
v
Figure A.3 (b)

ANNEXE A
Page: 27
v
ENSEMllE DES CXJUlEu:lS
1 ml, eJ, <ml, eJ> 1
"
1E
(1 ,2)
J E (1 à 3)
MARQUAGE INITIAL
3
M(v) -1 eJ
).1
DEFINITION DES FONCTIONS
!(ml,e])
-
eJ
u(mi)
_
ml, e1
g(ml,ej)
_
ml, eJ+1
v(ml)
-
ml, e3
Figure A.3 (c)
A.8 LES EXTENSIONS DES RdP
Les
extensions
des
RdP
sont
en
général
proposées
pour
augmenter
le
pouvoir d'expression
des
RdP généralisés.
Elles conduisent
à
une
modification
des règles de fonctionnement du modèle de base, ce qui remet en cause parfois

ANNEXE A
Page: 28
de façon profonde la décidabilité des propriétés du réseau.
Parmi
les extensions
les
plus significatives, citons
les RdP
à
priorité.
Dans
un
RdP à priorité, on définit un
ordre
entre les différentes
transitions.
Pour un marquage accessible M. si plusieurs transitions sont
franchissables,
on
choisit de franchir une transition t telle que, selon l'ordre défini, la transition t
est plus petite ou égale à tout autre transition franchissable.
Les RdP non autonomes constituent des classes d'extensions de réseaux non
moins importantes,
qui
permettent de lier l'évolution
d'un
réseau
à
celui
d'un
environnement.
Les RdP temporisés [ Chrétienne 84 J [ Chrétienne 85 J. les
RdP
stochastiques [ Florin 85 J et les RdP
interprétés [ Moalla 85 J sont les
plus caractéristiques de ces classes.
Dans
les RdP temporisés et dans
les RdP stochastiques, on
associe aux
places
ou
aux
transitions
des
temps
qui
sont
fixes
dans
le
premier
cas
et
aléatoires dans le second. Le temps associé à une place désigne la durée pendant
laquelle
toute marque qui
arrive dans
cette place doit
être considérée
comme
indisponible, tandis que le temps associé à une transition désigne la durée de
franehissement
de
cette
transition.
Selon
que
les
actions
sont
associées
aux
places
ou
aux
transitions.
on
peut
ainsi
prendre
en
eompte
dans
une
modélisation. leur durée d'exécution , et réaliser de façon
statique des analyses
sur les performances du système modélisé.
Les
RdP
interprétés
qui
constituent
le
modèle
sur
lequel
nous
nous
appuyons sont présentés de façon plus détaillée dans la section 2.4.

ANNEXEB
Page:
1
ANNEXEB
DEMONSTRATIONS
IXJ
CHAPITRE 6

ANNEXEB
Page:
2
PLAN
Page
B.l DEMONSTRATION DE LA PROPRIETE P6.2
a) Cas de la primitive SEQ
B/3
b) Cas de la primitive ALT
B/3
c) Cas de la primitive REP
B/4
B.2 DEMONSTRATION DE LA PROPRIETE P6.3
B/4
a) Cas de la primitive SEQ
B/4
b) Cas de la primitive ALT
B/6
c) Cas de la primitive REP
B/7
d) Cas de la primitive EXC
B/8
8.3 DEMONSTRATION DE LA PROPRIETE P6.4
B/8
B.4 DEMONSTRATION DE LA PROPRIETE P6.S
BIl 0
B.S DEMONSTRATION DE LA PROPRIETE P6.6
BIll


ANNEXER
Page:
3
B.1
DEMONSTRATION DE LA PROPRIETE P6.2
a) Cas de la primitive SEQ
Si R = < P, T : Pre, Pon > est une machine à états, alors par définition
'" te T: (1:pEP Pre (p, t) = 1) et (1:pEP Post (p, t) = 1)
En se référant à la définition D6.2 qui précise la règle de transfonnation
de la primitive SEQ, à panir des points (2), (3) et (8), on en déduit que
'" te T - (th' tf ): 1:pEP' Pre' (p, t) = 1:pEP Pre (p, t) = 1
1:pE P' Post' (P, t) = 1:pE P Post (p, t) =1.
Par ailleurs :
(c.f. D 6.2 (4»
1:
(c.f. D 6.2 (5»
pE P' Post' (P, th) = 1
1:
(D 6.2 (6»
pEP'
Pre' (p, tr) = 1
1:
(c.f. D
pE P'
Post' (p, tf) = 1:pE P Post (p, tx) =
6.2 (7»
Ce qui revient à dire que R' = < p', T', Pre', Post' > est une machine à états.G!I
b) Cas
de la primitive ALT
La
démonstration
de
celte
propriété
s'effectue
en
constatant
tout
simplement que les nouvelles transitions dans T', tx 1 et tx 2 ' ont les mêmes places
en entrée et en sonie que tx (c.r. D 6.3 (3) (4) et (5».
Si
1:pEP Pre (p, tx) = 1:pEP Post (p, tx) = 1
Alors
1:pEP' Pre' (p, tx 1) =1:pEP' Post' (p, tx 1) =

ANNEXEB
Page:
4
c) Cas de la
primitive REP
Si R = < p. T ; Pre. Post> est une machine à états, alors
'lite T: I:p€p Pre (P. t) = 1 et I:p€ P Post (P. t) = 1.
La définition D 6.4
permet alors de déduire ce qui suit :
- 'II te T - { th' tf' '0 ):
I:p€p'
Pre' (p. t) = I:p€p
Pre ( p, t) = 1 (c.f. D6.4 (8»
I:p€p'
Post (p. t) = I:p€p
Post ( p. t) = 1 (c.f. 06.4 (8»
(c.r. 06.4 (4»
- I:p€P'
Post' (p. th) = 1
(c.f. 06.4 (5»
- I:
(c.f. 06.4 (6»
p € P' Pre (p. tf) = 1
- I:p€ P' Post' (p, tf) = I:
(c.f. D 6.4 (7»
p€ P Post (P. '0) = 1
- I:p€ P' Pre' (p, tn) = 1
(c.f. 06.4 (9»
- I:p€p'
Post (p, '0) = 1
(06.4 (10»
ce qui permet de conclure que R' = < P'. T', Pre', Post' > est une machine à
états.0
8.2 DEMONSTRATION DE LA PROPRIETE P6.3
a) Cas de la primitive SEQ
La propriété P6.3 se démontre pour la primitive SEQ en constatant que les
transformations
de
cette
primitive
est
un
cas
particulier
des
transformations
inverses de
la règle plus générale de réduction
par substitution de place, qui
préserve plusieurs
propriétés dont
la vivacité et
le caractère conservatif.

ANNEXEB
Page:
5
De la définition DA.I (c.f. section A.6). si l'on considère le réseau étiqueté
RE' transfonné par la primitive SEQ. en posant m = 1.
H
= 1 th J et F = 1 tf J. Ps est
une place substituable. En effet, on peut noter que les conditions de la définition
DA.I sont toutes satisfaites
(1)
Pre' (P. tf) = 1 si
P = Ps
0 sinon (c.f. D6.2 (6»
(2)
Post' (Ps' tf) = 0
(c.f. D6.2 (7»
(3)
3 pEP' t.q. Post' (P. tf) > 0
(c.r. 06.2 (1) et (7»
(4)
Pre' (ps' th) = 0
(D 6.2 (4»
Post' (Ps' th) = 1 • m = 1
(c.f. D 6.2 (5»
(5)
\\1 t ~ 1 th' tf } : Pre' (ps. t) = Post' (ps' t) = 0
(c. f. 06.2 (8»
La réduction du réseau R' par substitution de la place Ps donne le réseau R"
= < P", T" ; Pre", Post" > défini comme suit:
(6)
P" = P' - 1 Ps J = P
(c.f. 06.2 (2»
(7)
T" = 1 lx J + T' - (1 th J + 1tf }) = T
(c.f. 06.2 (3»
avec
1 tx J =RI (th)
donc
Pre" (p, tx) = Pre' (p, th) = Pre (p. tx) \\1 pEP"
(c.r. D6.2 (4»
Post" (p, tx) =Post' (p, tf) = Post (p, tx) \\1 pEP"
(c.r. 06.2 (7»
(8)
\\1 t E T' - 1th + tf J:
Pre" (., t) = Pre' (., t)
=Pre (., t)
(c.r. D6.2 (8»
Post" (.,t) = Post' (., t) = Post (., t)
(c.r. D6.2 (8»
(9)
\\1 pEP": MO" (p) = MO' (p) = MO (p)
Comme on peut le constater, les réseaux R" et R' sont tout à fait identiques.
On en déduit que les transfonnations de la primitive SEQ correspondent à un cas
particulier
des
transformations
inverses
de
la
règle
de
réduction
par
substitution de place, et que de ce fait, elles préservent les mêmes propriétés que
cette règle, dont la vivacité et le caractère conservatif [ Brams 83 l.~

ANNEXEB
Page:
6
b)
Cas de la primitive ALT
La démonstration de la propriété P6.3 pour la primitive ALT découle du fait
que
cette
primitive
induit
des
transformations
qui
correspondent
aux
transformations
inverses de
la
régie de réduction par suppression de transitions
identiques (c.r. définition DA.3 section A.6).
De la définition D6.3, si l'on considère le RdP R' obtenu par application de
la primitive ALT, on voit bien que les transitions tx 1 et tx2 qui ont mêmes places
en entrée et mêmes places en sortie sont des transitions identiques (c.r. D6.3 (4)
et (5». La suppression de tx2 donne le réseau R" = < P", T" ; Pre", Post" > défini
comme suit:
(2)
P" =P =P
(c.f. 06.3 (2»
(3)
T" = T - ( tx2 ) = T - ( tx. ) + [ tx.1 )
(c.f. 06.3 (3»
(4)
Pre" '" Pre' •
(c.r. 06.3 (4»
'" tE T" - (tx.1 )
: Pre" C, t) '" Pre (., t)
(c.f. 06.3 (6»
(5)
Post" '" Post' •
Post" C, t x 1) = Post C, tx.)
(c.f. 06.3 (5»
'" t E T" - ( tx 1 ) : Post" (., t) '" Post (.• t) (D6.3 (6»
(6)
MO" = MO' '" MO
(0.6.3 (7».
On voit que la différence entre R" et R est que R" contient la transition tx. 1
à la place de la transition tx ' Ces deux transitions ayant mêmes entrées et mêmes
sorties, on en déduit qu'il s'agit du même réseau. De ce fait, les
transformations
induites
par
la
primitive
ALT
correspondent
bien
aux
transformations
inverses
de la règle de réduction par suppression de transitions identiques. Comme cette
régie de réduction préserve la vivacité et le caractère conservatif [ Brams 83 l,
nous en déduisons que la primitive ALT préserve les mêmes propriétés . 181

ANNEXEB
Page:
7
c)
Cas de la
primitive REP
La propriété P6.3 se démontre pour la pnmluve REP en constatant que les
transformations
de
cette
primitive
correspondent
aux
transformations
inverses
de deux règles de réduction préservant la vivacité et le caractère conservatif : la
règle de réduction par substitution de place (cf. définition DA.I section A.6) et la
règle de suppression de transition neutre (c.f. définition DA.4 section A.6).
En se référant à la défmition D6.4, dans un réseau RE' qu'on obtient par
application
de
la
primitive
REP,
la
transition
t n est une transition neutre
supprimable
:
(1)
Pre (p, ln) = Post (P. tn) =
si P =Ps et 0 sinon
(c.f. 06.4 (9) et (10»
(2)
Post (p, th) = 1 si P =Ps' et 0 sinon (c.f. 06.4 (5»
La suppression de
la transition t
< P",
n donne un réseau intermédiaire R"
T" ; Pre", Post" > défini comme suit :
(3)
p"=p= P+ {ps)
(c.f. D 6.4 (2»
(4)
T" =1" - { ln ) = T - { lx ) + { th' tf )
(06.4 (3»
(5)
Pre" = Pre'.. Pre" (p, th) = Pre (P. tx) si pEP et 0 sinon (c.f. 06.4 (4»
Pre" (ps' tf) = 1
(c.f. D6.4 (6»
\\1 t E T - { tx ) : Pre" (p, t) = Pre (p, t) si pEP et 0 sinon
(c.f. D6.4 (8»
(6)
Post" = Post'.. Post" (ps' th) = 1
(D6.4 (5»
Post" (p, tf) = Post (p. lx) si pEP et 0 sinon (D6.4 (7»
\\1 t E T - [ tx ) Post" (p, t) = Post (p, t) si pEP et 0 sinon
(c.f. D 6.4 (8».
En se référant à la définition D6.2, on voit bien que R"
correspond
tout
à
fait
au réseau que nous aurions eu en appliquant à RE la
primitive
SEQ.
La
propriété P6.3 nous assure que si R est vivant et conservatif. alors R" aussi l'est .

ANNEXEB
Page:
8
Par
ailleurs,
comme
la
suppression
de
transition
neutre
supprimable
préserve
ces deux propriétés, on est ainsi assuré que le réseau R' qu'on obtient à partir de
R"
en
appliquant
la
transformation
inverse
d'une
suppression
de
transition
neutre est aussi vivant et conservatif. ~
d) Cas de la primitive EXC
Pour
cette
primitive,
la
propriété
P6.3
découle
du
fait
que
les
transformations
qu'elle
entrai ne
sur
un
réseau
correspondent
aux
transformations
inverses
de
la
règle
de
réduction
par
simplification
de
place
implicite (c.f. section A.6 définition DA.2). La place PI
qu'elle introduit est à la
fois en entrée et en sortie des transitions tx 1_ ... txn ' Le marquage de cette place
sera donc toujours égal
à
l, et ne sera jamais un obstacle au
franchissement
d'une transition. Elle est de ce fait
une place implicite dont l'ajout ne modifie
pas la vivacité et le caractère conservatif du réseau R. ~
B.3 DEMONSTRATION DE LA PROPRIETE P6.4
La
propriété
P6.4
se
démontre
en
constatant
que
l'on
peut
obtenir
le
réseau
RE' à partir du réseau RE"
en
appliquant
trois
types
de
règles
de
réduction
qui
préservent
les
propriétés
de
RE ":
la simplification
de
place
implicite,
la
substitution
de
place
substituable,
et
la
pré-agglomération.
Nous
illustrons cette démonstration à partir de l'exemple de la figure B. I. Cet exemple
schématise pour trois opérations 0x l' 0x2' et 0x3 ' les transformations qu'il faut
appliquer à RE pour obtenir RE'"
Nous montrons donc qu'après réduction de R",
le
réseau qui
en résulte est le même que le réseau RE' que l'on obtient en
appliquant sur RE la primitive SIM.

ANNEXEB
Page:
9
wu
'''t- t~" ,..t~· tx2d
Ix3d
lx'
ptI2
Pl3
tx2f
Ix31
(a)
(b)
Figure B.l
Dans la figure B.1 (b), les places Ps2 et Ps3 introduites par la primitive SEQ
sont de toute évidence
des
places
implicites.
Leur
marquage
n'est
jamais
un
obstacle
au
franchissement
des
transitions
qu'elles
ont
en
sortie.
Leur
suppression donne le réseau de la figure B.2.
tx2d
Ix3d
Ix2t
lx3f
Figure B.2
Dans le réseau de cette figure. les places Pc22 et Pc 3 2
sont des places
substituables dont la substitution donne le réseau de la figure B.3.

ANNEXEB
Page:
10
tx2d
tic 3d
Figure
B.3
Enfin, les places en entrée de tx2d et tx3d n'étant pas panagées (c.r. D6.7
(2», on peut par pré-agglomération obtenir Je réseau de la figure
BA. Ce qui
montre bien que les réseaux R' et RU ont les mêmes propriétés.
Figure BA
B.4 DEMONSTRATION DE LA PROPRIETE P6.S
Cette propriété découle de la contrainte (2) de la règle D6.6.
Si R est un graphe simple,
par définition,
\\1 (p. p') €
p2, si
p' n p" '" fl1
alors soit
p' ç p"
soit
p" ç p'.

ANNEXEB
Page:
I l
On peut noter que la place Pc qui est ajoutée par la primitive PRE est telle
que
'V tE T - ('Yl •.....•tym) • 'V p E ·t : p' n Pc' = fi!!
(c.r. 06.6 (5) et (9»
Si m = 1.
la place Pc introduite par la primitive PRE ne sera en entrée que
d'une
seule
transition
ty l' Dans ce cas. la contrainte 06.6 (2) n'interdit pas
d'avoir en entrée de
'Y 1 des
places partagées:
'V P E ·ty l : Pc' = ( 'Yl ) ç p'
Par contre
si m > 1,
la place Pc
introduite par la primitive PRE sera en
entrée de toutes les transitions ty 1,........•ty m' La contrainte exprimée par 06.6 (2)
impose dans ces conditions que chaque
transition
tyi n'ait au départ en entrée
que des places non partagées. Par consequent.
'V t E ( 'Y 1.....··· .1ym) 'V p E ·t : p' = 1t 1 ç Pc'
On peut alors conclure que l'introduction de la place Pc préserve la classe
du réseau.~
B.S DEMONSTRATION DE LA PROPRIETE P6.6
Soient r E F
un
semi-fiot
et
C
la
matrice
d'incidence
du
réseau
R
représentés comme suit :

ANNEXBB
Page:
12
11
c11
c1n
12
c21
c2n
1 •
C.
lm
cm1
cmn
Comme le montre la définition 06.6, l'application de la primitive PRE sur R
consiste à ajouter à ce réseau une place Pc • et à lier celte place à des transitions
déjà existantes. De ce fait,
la matrice d'incidence
C' de R' est
identique à C à une
ligne près. Celte ligne correspond à la place Pc et est notée
dans ce qui suit par
(v 1. v2, .... vn».
c11
c1 n
c21
c2n
C' =
an1
cmn
v1
vn
Pour tout f E F, le vecteur f 'E
N m+l tel que
f ' (i) = f (i) si
i = 1.... m et
0 sinon
est un semi-flot de R' car tt • C =0
..
f' t • C = O.@

ANNEXEe
Page: 1
ANNEXEe
DEMONSTRATIONS
ru
CHAPITRE?

ANNEXEe
Page: 2
PLAN
Page
C.O INTRODUCfION
C/3
C.I
VALIDATION DE LA REGLE RD02
C/6
C.2 VALIDATION DE LA REGLE RD03
cn
C.3 VALIDATION DE LA REGLE RD04
C/9
C.4 VALIDATION DE LA REGLE RD05
C/IO
C.5 VALIDATION DE LA REGLE RDOS
C/12
C.6 VALIDATION DE LA REGLE RD09
C/13
C.? VALIDATION DE LA REGLE RDIO
C/16
C.S VALIDATION DE LA REGLE RDI3
C/20
C.9 VALIDATION DE LA REGLE RDl5
C/26


ANNEXEe
Page: 3
C.O INTRODUCTION
Dans la section 2.5.2, nous avions défini la sémantique des opérations de
communication
synchrone
en
indiquant
comment
des
transitions
étiquetées
par
un même rendez-vous
pouvaient être
fusionnées
pour former un
réseau
global équivalent. L'exemple de la figure C.I rappel1e le principe de celle fusion.
Dans cet exemple,
la transition l
introduite par la fusion est une transition
prioritaire, et doit de ce fait être franchie immédiatement après chaque tir de la
transition t, si la place P3
est suffisamment marquée.
p3
p2
p4
Figure C.l
AmI décgmpoaM!OD
Am" rtçompo,Ujqn
Spy
d->?My> 1
......__....
1
(a)
(b)
(c)
Figure C.2

ANNEXEe
Page: 4
On
peut
ainsi
associer
très
simplement
aux
transformations
de
chaque
règle de décomposition,
les
transformations
inverses
qui
permettent d'obtenir à
nouveau un réseau global. Comme le montre la figure C.2 pour
la règle RD04,
par
rapport
au
réseau
initial,
le
réseau
que
l'on
obtient
de
cette
façon
est
surchargé
par
toutes
les
places
et
transitions
introduites
par
les
règles
de
décomposition,
pour
permettre
aux
sous-réseaux
de
garantir
les
mêmes
conditions d'évolution que celles décrites par les transitions frontières.
Dans cet annexe, nous démontrons la validité des règles de décomposition
proposées en montrant qu'à partir du
réseau
initial, on
peut,
sans modifier le
comportement
initialement
défini.
introduire
la
surcharge
qu'on
obtient
par
recomposition
des
sous-réseaux,
en
utilisant
les
trois
règles
de
réduction
suivantes:
1°)
La
règle
de
réduction
par
simplification
de
place
implicite
Cette
règle
préserve
l'abstraction
par
rapport
à
tout
sous-ensemble
de
transitions [ André 81 ] [ Berthelot 85 (a)]. La figure C.3 donne les schémas types
de réduction par simplification de place implicite qui nous seront utïls. Il est
clair
que
le
marquage
des
places
supprimées
n'est
jamais
un
obstacle
au
franchissement des transitions dont elles sont une entrée.
Figure C.3

ANNEXEe
Page: 5
2°)
La
règle
de
réduction
par
substitution
de
place
Dans les situations où H contient une seule transition notée h et F une
seule transition notée f comme indiqué dans la figure CA, la suppression d'une
place substituable
Ps
préserve l'abstraction par rapport à tout sous-ensemble de
transitions incluant h [ André 81 ]0
h
p8
Figure CA
3°)
La
règle
de
réduction
par
pré-agglomération
La figure C05 donne les schémas types de réduction par pré-agglomération
que nous utilisons. Dans le réseau de la figure C.5 (a),
la pré-agglomération
préserve
l'abstraction
par rapport
à
tout
sous-ensemble de
transitions
incluant
fo De la même façon, dans le réseau de la figure C.5 (b), la pré-agglomération
préserve
l'abstraction
par rapport
à
tout
sous-ensemble
de
transitions
incluant
fi et f2 [ Berthelot 85 (a)].

ANNEXEe
Page: 6
h
y
(a)
(b)
Figure C.S
C.I VALIDAnON DE LA REGLE RD02
Comme le montre la figure C.6. pour cette règle. le réseau que l'on obtient
aprés recomposition est identique au réseau initial. De ce fait. la décomposition
ne modifie pas le componement du réseau initial.
Allrès recomDosilion
>K +~!u-t
lx
<!MX>
0
1
0
1
>K
1
(a)
(b)
(c)
Figure C.6

ANNEXEe
Page: 7
C.2 VALIDATION DE LA REGLE RD03
A.wù
Apn" décomDQsltloo
Stx
<1Mx:o
<lM><>
IRX
* SpyStY <r·>?My> <ll.tp
(a)
(b)
(c)
Figure C.?
Pour cette règle. le réseau que l'on obtient par recomposition est différent
du réseau initial (c.r. figure C.7 (c».
On peut cependant l'obtenir de la façon
suivante à partir du réseau initial en appliquant quatre opérations inverses de
réduction.
Soit Td avec tf E
Td un sous-ensemble de transitions pour lequel le réseau
initial
admet une
abstraction.
10 ) Les places en entrée de la transition frontière tf n'étant
pas
partagées.
on
peut
appliquer sur cette transition
l'opération
inverse de
la règle de
réduction
par
pré-agglomération
pour
obtenir
le
réseau
de
la
figure
C.8
(a).
Cette
transformation
préserve
l'abstraction
sur T d'
2 0 ) Par ailleurs, l'ajout de la place implicite PI qui pennet d'obtenir le réseau de

ANNEXEe
Page: 8
la figure C.8(b) préserve l'abstraction sur Td'
3 0) On peut alors ensuite appliquer sur la transition tf l'opération
inverse de la
règle de réduction par substitution de place pour obtenir le réseau de la figure
C.8 (c). Cette opération préserve également l'abstraction sur Td' En outre,
si l'on
considère
lf.
comme
une
transition
prioritaire,
chaque
tir
de
tf
sera
immédiatement suivi du tir de..!!" En d'autres termes, les conséquences du tir de tf
seront toujours identiques dans le réseau initial et dans le réseau transformé.
4°) Enfin,
en
ajoutant
la
place
implicite
~ qui ne modifie pas non plus
l'abstraction sur Td , on obtient le réseau de la figure C.7(c).
Ce
qui
permet
de
conclure
que
la
règle
RD03
ne
modifie
pas
le
comportement du réseau initial : Dans le réseau initial tout comme dans le réseau
transformé,
le tir de la transition tf est
conditionné
par
le
même
prédicat et
entraine
les
mêmes
conséquences.
Par
ailleurs,
l'abstraction
est
préservé
sur
tout sous-ensemble de transitions incluant tf'
(a)
(b)
(c)
Figure C.s

ANNEXEC
Page: 9
C.3 VALIDATION DE LA REGLE RD04
Pour cette règle également, le réseau résultant de la recOmpOSlllOn diffère
du
réseau
initial
(c.f.
figure
C.2(c)),
mais peut
se déduire
de ce
réseau
par
application des
règles de réduction.
Soit Td avec tf e Td un sous-ensemble de transitions pour lequel le réseau
initial
admet une
abstraction.
10 ) L'ajout de la place implicite $px comme indiqué sur la figure C.9(a) préserve
l'abstraction sur Td'
2 0 ) Comme les places en entrée de tf contenues dans Er" (c.r. D7.4(5»
et la place
$ p x
ne
sont
pas
partagées,
on
peut
ensuite
appliquer
les
transformations
inverses de la pré-agglomération pour obtenir le réseau de la figure C.9(b). Cette
transfonnation
préserve
également
l'abstraction
sur
T d'
3 0 ) Par ailleurs,
l'ajout de la place
implicite PI
comme
indiqué
sur
la
figure
C.9(c) préserve également
l'abstraction sur Td'
4°) L'application
des
transformations
inverses
de
la
règle
de
réduction
par
substitution
de
place
sur
tf donne
alors
le
réseau
de
la figure
C.9(d).
Cette
transformation
préserve
également
l'abstraction
sur
T d' En outre, si l'on
considère
1.1 comme une transition
prioritaire, chaque tir de tf dans le réseau
transformé
sera
immédiatement
suivi
d'un
tir
de
1.1 et entrainera les mêmes
conséquences que dans le réseau initial.
5 0) Enfin,
en
ajoutant
la
place
implicite
Ux. qui ne modifie pas non plus

ANNEXEe
Page: 10
l'abstraction sur Td' on obtient le réseau de la figure C.2(c).
(a)
(b)
(c)
(d)
Figure C.9
Ce
qui
permet
de
conclure
que
la
règle
RD04
ne
modifie
pas
le
comportement du réseau initial : Dans le réseau initial tout comme dans le réseau
transformé. le tir de la transition tf est
conditionné
par
le
même
prédicat
et
entraine
les
mêmes
conséquences.
Par
ailleurs,
l'abstraction
est
préservé
sur
tout sous-ensemble de transitions incluant tf.
C.4 VALIDATION DE LA REGLE RDOS
Soit Td avec tf E
Td un sous-ensemble de transitions pour lequel le réseau
initial admet une abstraction. Pour montrer que la règle RD05 ne modifie pas le
comportement
défini
par
le
réseau
initial,
nous
montrons
que
les
transformations qu'on applique à ce réseau pour obtenir le réseau de la figure
C.I0(c) issu de la recomposition, préservent le comportement.

ANNEXEe
Page: Il
Après djcomP9sjtjoc
Après "composition
(a)
(b)
(c)
Figure C.IO
1 C» L'ajout de la place implicite PI comme indiqué sur la figure
C.II
préserve
l'abstraction sur Td'
2 0 ) Comme les places en entrée de tf contenues dans Ef" (c.L D7.5(4»
et la
Douvelle
place
PI
ne
sont pas
partagées. on
peut alors
ensuite
appliquer les
transformations
inverses
de
la
pré-agglomération
pour
obtenir
le
réseau
de la
figure C.lO(c). Cette transformation préserve également l'abstraction sur Td' Par
ailleurs les conséquences du tir de la transition tf sont les mêmes dans le réseau
initial et dans le réseau transformé. et le tir de la transition tf dans le réseau
transformé sera toujours précédé du tir de la transition Ir à laquelle le prédicat
initialement
associé
à
tf
est
affecté.
Comme
ce
prédicat
correspond
à
un
évènement
dont
la
politique
de
prise
en
compte
des
occurrences
est
indépendante
du
temps
(c.L
définition
D7.5(1».
on
peut
considérer
que
le
comportement
initialement
défini
sera
préservé.

ANNEXEe
Page: 12
Figure C.ll
C.S VALIDATION DE LA REGLE RD08
Soit Td avec tf E Td un sous-ensemble de transitions pour lequel
le réseau
initial admet une abstraction. Le résultat de la recomposition (c.f. figure C.12(c»
peut s'obtenir à partir du réseau initial en appliquant deux règles de réduction
qui préservent J'abstraction sur Td :
Après décomposition
Après recomposltjoo
p.
(a)
(b)
(c)
Figure C.I2
10 ) On ajoute tout d'abord au réseau initial la place implicite Pl comme
indiqué
sur la figure C.13. Cette transformation ne modifie pas l'abstraction
sur Td.

ANNEXEe
Page: 13
2 0 ) Ensuite.
on
applique
à
tf les
transformations
inverses
de
la
règle
de
réduction par substitution de place pour obtenir le réseau de la figure C.12(c).
Cette
transformation
préserve
également
l'abstraction
sur T d' En outre, comme
la transition lf est prioritaire. chaque tir de tf dans
le
réseau
transformé
sera
immédiatement suivi d'un tir de l[ et
entrainera
les
mêmes conséquences que
dans le réseau initial.
Figure C.13
Ce
qui
permet
de
conclure
que
la
règle
RDOS
ne
modifie
pas
le
comportement du
réseau
initial
: Dans ce réseau
tout comme dans le réseau
transformé,
le tir de la transition tf est
conditionné
par
le
même
prédicat
et
entraine
les
mêmes
conséquences.
Par
ailleurs,
l'abstraction
est
préservé
sur
tout sous-ensemble de transitions incluant tf'
C.6 VALIDA TION DE LA REGLE RD09
Soit Td avec tf E T d un sous-ensemble de transitions pour lequel le réseau
initial
admct
une
abstraction.
Pour
la
règle
RD09,
le
réseau
résultant
de
la
rccomposition (c.r.
figure
C.14(c»
peut
s'obtenir en
appliquant sur le
réseau
initial
cinq transformations
qui préservent
l'abstraction
sur Td :

ANNEXEe
Page: 14
","*1 dtkpmposjtjon
1
~1
1
Sly
<I~
1
1
1
1
1
1<?Ull:1>
1
1
1
1
(a)
Après flçpmPOsttjon (b)
(c)
Figure C.14
10) Chaque
transition
frontière
tfi E: Tf reçoit en entrée et en sortie la même
place implicite $Py 1 comme indiqué sur la figure C.15(a).
2 0 ) Comme les places contenues dans Ec (c.r. définition 07.9(1» et la nouvelle
place $Py 1 n'ont pour transitions de sortie que les transitions contenues dans Tf.
on
peut
appliquer
sur
ces
transitions
les
transformations
inverses
de
la
pré-agglomération pour obtenir le réseau de la figure C.15(b).

ANNEXEe
Page: 15
(a)
(b)
(c)
(d)
Figure C.IS
3 0 ) Chaque
transition
tfi reçoit ensuite en entrée et en sortie une place implicite
spécifique
Pli comme indiqué par le réseau de la figure C.15(c).
4 0 ) On applique alors
à chaque transition
tfi
les transformations
inverses
de
la
règle de réduction par substitution de place pour obtenir le réseau de la figure
C.15(d). Si l'on considère les transitions lfi comme des transitions prioritaires. le
tir d'unc transition tfi
dans
le
réseau
transformé
sera
toujours
immédiatement
suivi du tir de la transition lfi. qui
lui
correspond
pour
entrainer
les
mêmes

ANNEXEe
Page: 16
conséquences que dans le réseau initial.
50) Enfin, en ajoutant
la place implicite $Py 2' on obtient le réseau de la figure
C.14(c).
On peut alors conclure que la règle RD09 ne modifie pas le comportement
du réseau initial
Dans ce réseau tout comme dans le réseau transformé, le tir
d'une
transition
tfi E
Tf est conditionné par le même prédieat et entraine les
mêmes
conséquences.
Par
ailleurs,
l'abstraction
est
préservé
sur
tout
sous-ensemble de transitions
incluant Tf'
C.7 VALIDATION DE LA REGLE RDiO
Soit Td avec tf E
T d un sous-ensemble de transitions pour lequel le réseau
initial
admet
une
abstraction.
Pour cette
règle
également,
on
peut
obtenir à
partir du
réseau
initial,
le
réseau
qu'on
obtient
par
recomposition
(c.r.
figure
C.16(c»
en
appliquant
successivement
sept
transformations
qui
préservent
J'abstraction sur Td :
10 ) Chaque
transition
frontière
tfi E Tf reçoit en entrée et en sortie la même
place implicite $pz 1 comme indiqué sur la figure C.l7(a).
2 0 ) Comme les places communes contenues dans Ec (c.r. définition 07.10(1» et la
nouvelle
place
$pz l
n'ont
pour
transitions
de
sortie
que
les
transitions
contenues
dans
Tf'
on
peut
appliquer
sur ces
transitions
les
transformations
inverses de la pré-agglomération pour obtenir le réseau de la figure C.17(b).
3 0 ) Chaque
transition
tfi reçoit ensuite en entrée et en sortie une place implicite
spécifique
$Pwi comme indiqué par le réseau de la figure C.l7(c).

ANNEXEe
Page: 17
la)
Apr*' dt)ÇQlDPQ3jt;on
$pz 1
1
1
1
1
1
1
1
1
1
1
1
lb)
AR'" N!tCpmppsb!gn
(c)
Figure C.16

ANNEXEe
Page: 18
4°) Comme
pour chaque
transition
tfi E Tf les places contenues dans E'fi (c.r.
définition 07.10(3» et la nouvelle place $Pwi n'ont pour transition de sortie que
la
transition
tfi.
on
peut
appliquer
sur
chacune
de
ces
transitions
les
transformations
inverses
de
la pré-agglomération
pour
obtenir
le
réseau
de
la
figure
C.17(d).
5 0) Chaque
transition
tfi
reçoit à nouveau en entrée et en sortie une place
implicite spécifique Pli pour donner le réseau de la figure C.17(e).
6 0) On applique alors à chaque transition tfi
les transformations
inverses de la
règle de réduction par substitution de place pour obtenir le réseau de la figure
C.17(f). Si l'on considère les transitions lU comme des transitions prioritaires. le
tir d'une transition tfi
dans
le
réseau
transformé
sera
toujours
immédiatement
suivi du tir de la transition lU qui
lui
correspond
pour
entrainer
les
mêmes
conséquences que dans le réseau initial.
7°) Enfin. en
ajoutant la place implicite $Pz2' et pour chaque transition tfi la
place implicite $Pyi on obtient le réseau de la figure C.16(c).
Ce
qui
permet
de
conclure
que
la
règle
RDI0
ne
modifie
pas
le
comportement du réseau initial:
Dans ce réseau tout comme dans le
réseau
transformé. le tir d'une transition tfi
E Tf est
conditionné par le même prédicat
et entraine
les mêmes conséquences.
Par ailleurs.
l'abstraction est préservé sur
tout sous-ensemble de transitions incluant Tf'

ANNEXEe
Page: 19
(d)
(e)
(1)
Figure 17

ANNEXEe
Page: 20
C.8 VALIDATION DE LA REGLE RD13
Pour valider la règle
RDI3,
nous
montrons
ici
également que le réseau
global que l'on obtient par fusion des sous-réseaux résultant de la décomposition
décrit le même comportement externe que le réseau initial.
A partir de la définition D7.13. nous déduisons tout d'abord ce qui suit:
Corollaire C,l
Appliquer la règle RDl3 sur un réseau RI = < R ; V ; OP ; PR ; '" ; '1' > avec R =
< P, T ; Pre. Post >, puis fusionner ensuite les deux sous-réseaux obtenus revient à
construire à partir de RI un
réseau RI' = < R' ; V' OP' ; PR" ; "" ; 'l" > avec R' = < P',
T' ; Pre', Post' > de la façon suivante :
(1 ) Au départ
P' = {li • T' = {lf

Pre' = Post' = 0
(2) V Pj E P:
P' <- P' + ( Pj ..l!1 )
(Pour
chaque
place Pj E P, on
inclut
dans P' une place
de
même
nom
et une place associée "'1)
liJ!.: Chaque couple (Pj' "'1) reprbente des places dédoublées par la r~gle
RD13 (cf définition D7.13 (3».
"" (Pj) = '" (Pj)
,
cIl' <R-V = NOP
(Dans
RI'on associe l'opüation définie par'" (Pj) à Pj et NOP à "'1 (cf.
également définition D7.13 (5»)
(3)VtiE T telle que 'l'(ti)=prO:
T' <- T + { lj }
(Pour
chaque
transition ti E T étiquetée par le prédicat toujours vrai, on

ANNEXEe
Page: 21
inclut dans T une transition de même nom).
- 'l" (ti) = prO
(ti conserve
la même interprétation dans
RI et RI')
- 'fi (Pj' ll.i) E P'
: Pre' (Pj' ti) = Pre' (ll.i' ti) = Pre (Pj' 4)
'fi (pj. ll.i) E P' : Post' (Pj' li) = Post' (u.i' li) = Post (Pj' ti)
(Dans RI" chaque
couple (Pj' ll.i) est placé en entrée ou en sortie de ti' si
dans
RI Pj est en entrée
ou en sortie de ti)
N....B...: Ces transformations découlent de la rtgle de fusion de transitions
étiquetées par
un même
rendez-vous
et non synchronisées
à
l'évolution de
l'environnement.
Les
transitions fusionnées
correspondent
aux
transitions
dédoublées par la rtgle RD13
qui sont étiquetées par le prédicat
prO(c./.
définition
D7.13(3 )).
(4) 'fi ti E T telle que '1' (li) # prO:
- T <- T' + { li + li )
(Pour chaque
transition li E T étiquetée par un prédicat. on inclut dans T'
une transistion de même nom et une transition prioritaire associée li)'
- 'l" (li) = '1' (li)
'l" Ui) = prO
(li conserve
le
même
prédicat dans
RI et
RI' et on associe le prédicat
toujours vrai à
IJ
P' <- P' + { Pli' P2i )
(On inclut dans
P' deux nouvelles places Pli et P2i associée à li)
M' (Pli) = 1 (On marque la place PI i à
1)
'fi (Pj' ll.i) E P' : Pre' (Pj' lil = Pre' (ll.i' li) = Pre (Pj' li)
(Pour
chaque
couple (Pj' ll.i) E P' tel que Pj est en entrée de li dans
RI'

ANNEXEe
Page: 22
dans
RI' Pj est placée en entrée de
ti et 11.1 en entrée de
li)'
- IV (Pj' 11.1) E P' : Post' (Pj'li) = Post' Ul.l~ lJ = Post (Pj' ti)
(Pour
chaque
couple
(Pj' 11.1) E P' tel que
Pj est en sortie de ti dans
RI_
dans
RI' Pj et
11.1 sont placées en sortie de lJ
- Pre' (Pli' ti) = Post' (Pli-li) = 1
(La nouvelle place PI i est placée en entrée de
ti et en sortie de li)
Pre' (P2i.1J = Post' (P2i • li) = 1
(La nouvelle place P2i est placée en entrée de li et en sortie de ti)'
liJL.: Ces transformations düoulent de la rtgle de fusion de transitions
étiquetées
par
un
mime
rendez-vous
et
synchronisées
à
l'évolution
de
l'environnement. Ici la fusion conserne les
transitions dédoubUes par la
rtgle
RD13
qui
sont étiquetées par
un prédicat
diffüent
de
pro(c'/'
définition
D7.13(3».
La figure C.18 illustre l'application de ces différentes transformations. Les
places PI'11.1.' P2' 11.2.' P3' 11.3..' P4-14. du réseau fusionné ont été obtenues comme
indiqué en (2) • les places PI2 et P22 comme indiqué
en (4). les transitions tl ct
t3 comme indiqué en (3). et les transitions t2. 12. comme indiqué en (4).

ANNEXEe
Page: 23
13
(a)
Après
cftcgmpp81tlgn
p4
p3
p4
(b)
Apr..
[@comPOlltjon
(c)
Figure C.l8

ANNEXEe
Page: 24
En
partant
du
réseau
initial
RI'
on
peut
également
obtenir
le
réseau
fusionné
RI'
en
appliquant successivement les transformations suivantes
(l) Au départ RI' = RI
(2) '" ti E T telle que '1' (ti)'" prO
P' <- P' + ( PI i 1 (011 illclut dallS
P' la place
p li associée à ti)
- M'(Pli) = 1
(011 marque la place
Pli à 1)
- Pre' (Pli' ti) = Post' (Pli' Ij) = 1
(011 met la place
Pli ell elltrée et ell sortie de la trallsitioll ti)'
HIi. : Les places Pli ajoutées de cette façoll sollt toutes des places implicites.
De
ce
fait.
cette
premUre
trallsformatioll
préserve
l'abstractioll
sur
tout
sous-ellSemble de trallsitiollS
Td C T' = T.
(3) '" ti E T telle que
'1' (li)'" prO:
- P' <- P' + ( P2i 1
(011 illclut dallS
P' la place
P2i associée à ti)
T <- T + (li 1
(011 illclut dallS T' la trallsitioll prioritaire
lt associée à ti)
'" pEP' : Post' (p. ti) = 1 si P = P2i 0 sinon
(La place
P2i devlellt la seule place ell sortie de ti)
'" pEP' : Pre' (p. li) = 1 si p =P2 i
0 sinon
(La place P2i est placée ell elltrée de li)
- '" pEP' : Post' (p. lt1 = Post (p. ti) si pEP
0 sinon
(Toutes les places
sortie de ti dalls RI deviellllellt des places sortie de
li)
HIi. : Toutes les places
P2i ajoutées de cette façoll correspolldellt à des plaas

ANNEXEe
Page: 25
substituables.
Cette
deuJ:Ume
transformation
préserve
donc
également
l'abstraction
sur
tout
sous-ensemble de transitions
Td
C
T - { I. li } = T (
I.
li désigne
l'ensemble
des
nouvelles
transitions
1.t ajoutées). Par
ailleurs.
si
l'on
considtre
les
transitions li.
comme
des
transitions
prioritaires.
le
tir
d'une
transition ti dans
le
réseau
transformé
sera
toujours
immédiatement suivi du
tir de
la
transition 1.t qui
lui
correspond
pour entrainer les mêmes conséquences que dans le réseau initial. On notera
également que
si
l'on fait
abstraction
des
places l2.i' ces
deuJ:
premitres
transformations sont équivalentes au
point (4)
du corollaire précédent.
(4) V Pj E P:
P' <- P' + { ILl} (On inclut dans P' la place ILl associée à Pj)
V ti E T telle que 'l' (ti) = prO: Pre' (ILl' ti) = Pre (Pj' ti)
V ti E T telle que 'l' (ti) ~ prO: Pre' (lLj.li! = Pre (Pj' ti)
(Toute transition
ti qui a en entrée Pj dans
RI' reçoit en plus en entrée
l2.i si elle est étiquetée par prO' sinon
l2.i est placée en entrée de la
transition li. qui lui est associü).
V ti E T telle que 'l' (li) = prO : Post' <11.1' ti) = Post (Pj' lj)
V ti E T telle que '1' (ti) ~ pro: Post' (ILl' li) = Post (Pj' ti)
(Toute transition qui a en sortie Pj dans
RI' reçoit en plus une sortie
ILLsi
elle
est
étiquetée
par
prO' sinon
l2.i est placée en sortie de la
transition li. qui lui est associée).
liJL: Chaque couple
(p j' l2.i)
est
donc
placé
en
sortie
d'une
même
transition et en entrée d'une même transition OU de deuJ: transitions (li. li)
franchissables
en
séquence.
Les
places
l2.i sont de ce fait des places

ANNEXEe
Page: 26
implicites.
Cette
troisi~me
transformation
préserve
donc
aussi
l'abstraction sur tout sous-ensemble de transitions
Td C
T' - ( ~ li) = T. Elle
compMte les transformations définies dans les points (3) et
(4) du corollaire
précédent.
Ceci permet de conclure que la règle RDI3 ne modifie pas le comportement
du réseau initial
Dans ce réseau tout comme dans le réseau transformé. le tir
d'une
transition
ti E
T est
conditionné
par
le
même
prédicat
et
entrai ne
les
mêmes
conséquences.
Par
ailleurs.
('abstraction
est
préservé
sur
tout
sous-ensemble de transitions inclu dans T.
C.9 VALIDATION DE LA REGLE RD15
Le réseau global que l'on obtient par fusion des sous-réseaux résultant
de
l'application de la règle RDI5 ne diffère du réseau initial que par la présence de
deux
places
PI et f..l
(cf.
figure
C.19(c».
La
transition
tini
n'étant
pas
t-sensibilisée simultanément avec elle-même. si elle est franchie. elle ne pourra
plus être franchie à nouveau tant que la transition tfi n n'aura pas été franchie
et inversement.
De ce fait.
les places PI et f..l sont des
places
implicites
qui
peuvent
être
supprimées
sans
modifier
le
comportement
du
réseau.
Ce
qui
permet
de
conclure
que
la
règle
RDI5
préserve
le
comportement
externe
du
réseau
initial.

..
ANNEXEe
Page: 27
April dltcornQOljtjPD
Ag'.' recgmPO'jljqn
(a)
(b)
(c)
Figure C.19


BœUOORAPHIE
PlIIe: 1
BffiLIOGRAPHIE

BffiLIOGRAPHIE
page: 2
Abrial 79]
J. R. Abrial, S. A. Schuman
Nondétenninistic
system
specification.
LNCS 70. Springer-Verlag, 1979
p. 34 à 50.
[ AFNOR 75]
Commission d'étude de la productique AFNOR
Une
démarche
productique
pour
l'entreprise.
Convention
Automatique Productique. Paris
1985.
Alaiwan 85]
H. Alaiwan, J.M. Toudic
Recherche des sémi-flots. des verrous et des trappes dans les réseaux de
Petri
TSI Vol 4, no. l ,1985, p. 103 à 112
Alanche 84 1
P. Alanche, K. Benzakour, F. Dollé, P. Gillet. R. Rodrigues. R.
Valette
PSI : A Petri Net based simulator for flexible manufacturing systems.
LNCS 188, Springer-Verlag. 1984. p. 1 à 14.
[ Alanche 86]
P. Alanche. P. Lhoste. G. Morel, M. Roche, M. Salim. P. Salvi
Application de la modélisation de la partie opérative à la structuration de
la
commande
Journées d'études organisées par l'AFCET Automatique:
Méthodes et outils
modernes
de
conception
et
d'exploitation
de
la
commande
des
procédés
discontinus complexes, Montpellier. 1986, p. 1 à 13
[ Alla 84 1 H. Alla. P. Ladet, F. Manin, J. Maninez, M. Silva
Modeling
and
validation
of complex
systems
by
coloured
Petri
nets
.
Application to
a flexible
manufacturing system.
LNCS 188, Springer-Verlag 1984, p. 13 à 31.
[ Alla 86]
H. Alla, P. Ladet, F. Manin, J. Maninez, M. Silva
Spécification de la commande des ateliers flexibles à l'aide de réseaux de
Petri
colorés.

BIBLIOGRAPHIE
page: 3
Journées d'études organisées par l'AFCET Automatique:
Méthodes et outils
modernes
de
conception
et
d'exploitation
de
la
commande
des
procédés
discontinus complexes, Montpellier, 1986, p. 85 à 95
[ Alla 87 1 H. Alla
Réseaux de Petri colorés et réseaux de Petri continus
Application à l'étude
des systèmes à événements discrets.
Thèse de Docteur d'Etat, Grenoble 1987.
André 81 1
C. André
Systèmes
à
évolutions
parallèles
: modélisation
par
réseaux
de
Petri
à
capacité et analyse par abstraction.
Thèse de Docteur d'Etat es-sciences, Nice, 1981
Andrews 82 1
G.R.
Andrews
The
distributed
programming
language
SR.
Mechanisms,
design
and
implementation.
Software Practice an Experiences, Vol 12, 1982, p. 719 à 753.
[ Ayache 8S 1 J.M. Ayache, J.P. Courtiat, M. Diaz. G. Juanole
Utilisation des réseaux de Petri pour la modélisation et la validation des
protocoles
TSI Vol 4, no. l, 1985, p. 51 à 71
Blanchard 79 1
M.
Blanchard
Comprendre, maîtriser. et appliquer le GRAFCET.
Cepadus - éditions, 1979.
Brams 83 1 G.W. Brams
Réseaux de Petri : Théorie et pratique
Edition Masson, 1983
Benmaiza 84 1
M. Benmaïza
Le
concept
d'événement
dans
la
spécification
et
la
programmation

BIBUOGRAPHIE
page: 4
d'applications
temps
réel.
Thèse de Docteur Ingénieur. Nancy 1984.
Benzakour 86 l K. Benzakour, R. Valette
Simulation conjointe de commandes logiques et de systèmes mécaniques.
Journées d'études organisées par l'AFCET Automatique: Méthodes et outils
modernes
de
conception
et d'exploitation
de
la
commande
des
procédés
discontinus complexes. Montpellier. 1986. p. 97 à 105.
Berthelot 78 l
G. Benhelot
Vérification de réseaux de Petri
Thèse 3è cycle. Paris • 1978
Berthelot 85 (a) l
G.
Benhelot
Transformations de réseaux de Petri
TSI, Vol 4. no. 1. 1985. p. 91 à 126.
Berthelot 85 (b) l
G. Berthelot
Analyse de
processus
parallèles par transformation de
réseaux de Petri
Application à un protocole de réseau.
TSI. Vol 4. no. 1. 1985. p. 73 à 83.
Berthomieu 80 l
B.
Benhomieu
Analyse structurelle des réseaux de Petri. methodes et outils.
Thèse Docteur-ingénieur. Toulouse
80
Betourné 85 l
c. Betourné. M. Filali. G. Padiou. A. Sayah
Construction de types répartis par migration du contrôle.
TSI. Vol 4. no. 6, 1985. p. 539 à 551.
Boehmann 77 l G.V. Bochmann, J. Gecsei
A unified melhod for specification and verification of protocols.
IFIP, Infor. Proc. 77. B. Gilchrist editor. North Holland pub. company, 1977.
p. 229 à 234.

BIBLIOGRAPHIE
page: 5
Bochmann 79 1
G.V. Bochmann. J. Tankoano
Development and structure of an X25 implementation.
IEEE Trans. on Soft. Eng.• Vol SE-S. no 5. 1979. p. 429 à 439.
Boudebous 88 1 D.
Boudebous
Thèse de 3ème cycle, Nancy. 1988 (à paraître)
Boussin 78 1
J. Boussin
Synthesis and analysis of logic automation systems.
7th trienal world congres. Helsinki
1978 (Pergamon Press)
[ Calvez 84 1 J.P. Calvez, Y. Thomas
Méthodologie de conception pour les systèmes complexes de commande en
temps
réel.
R.A.I.R.O. Automatique/Systems Analysis and control. Vol 18. no. 2. 1984 p.
251 à 266.
Campbell 74 1
R. H. Campbell
The specification of processes synchronization by
path
expressions.
LNCS 16. Springer-Verlag. 1974. p. 89 à 102.
[ Chandy 86 1 M. Chandy. J. Misra
An example of stepwise
refinement of distributed programs
: Quiescence
detection.
ACM Trans. on prog. lang. and syst.• Vol 8. no. 3, 1986. p 326 à 343.
[ Chen 81 1
Z. C. Chen. C.A.R. Hoare
Partial
correctness
of communicating
sequential
processes.
Proc. 2nd Int. Conf. on distributed comput. syst. • Paris. 1981. p. 1 à 12
[ Chen 83 1
Bo-Shoe Chen. Raymond T. Yeh
FormaI
specification and verification of distributed systems.
IEEE Trans. on soft. eng.• Vol SE-9. no. 6. 1983. p.710 à 722.

BffiLIOGRAPHIE
page: 6
Chrétienne 84
P. Chrétienne
Les réseaux de Petri temporisés.
Thèse de Docteur d'Etat ès-sciences. Univers. P; et M. Curie • 1984
Chrétienne 8S 1
P. Chrétienne
Analyse
des
régimes
transitoire
et
asymptotique
d'un
graphe
d'événements
temporisé.
TSI Vol 4. no. 1. 1985. p. 127 à 142.
Commoner 72 1
F. Commoner
Deadlock in Petri Nets.
Applied data research Inc.• Wakefield MASS. CA7206-2311. 1972
Courtiat 87 1
J.P. Courtiat. P. Demminski. R. Groz. C. Jard
Estelle : un langage ISO pour les algorithmes distribués et les protocoles.
TSI Vol 6. no. 2. 1987. p. 89 à 102.
Courvoisier 83 1 M. Courvoisier. R. Valette. J.M. Bigou. P. Esteban
Réseaux d'automates et ateliers flexibles.
Congrès
AFCET
Automatique
:
Productique
et
robotique
intelligente".
Besançon.
1983.
Derniame 83 1 J.C. Derniame. A. Zakari
Spécification d'application de conduite d'un
atelier flexible.
Convention
informatique Latine, Barcelone.
1983.
Deschizeaux 82 1 P.
Deschizeaux
Temps et évènements dans les systèmes distribués de controle de procédé.
R.A.R.O. Automatique/Systems Analysis and Control, Vol 16, no.3, 1982. p.
259 à 274.
Dijkstra 7S 1
E. W. Dijkstra
Guarded
commands.
nondeterminacy
and
formai
derivation of programs.
CACM Vol 18, no 8. 1975. pA53 à 457.

BIBLIOORAPHIE
page: 7
Dijkstra 76 1
E. W. Dijkstra
A discipline of programming.
Prentice-Hall, Englewood Cliffs. N.J., 1976.
El Fazziki 85 1 A. El Fazziki
Contribution à la structuration et à la programmation des applications de
contrôle de procédés
industriels.
Thèse de Docteur de 3ème cycle, Nancy, 1985
[Florin 85 1 G. Florin, S. Natkin
Les réseaux de Petri stochastiques.
TSI Vol 4. no. 1. 1985, p. 143 à 160.
[ Floyd 68 1 R. W. Floyd
Assigning
meanings
to
programs.
Proc. Amer. Math. Soc. Symposia in Applied Mathematics, 1968
Vol 19, p. 19 à 31.
[ Floyd 85 1 C. Floyd
A systematic look at prototyping, in approaches to prototyping.
(Eds.
R.
Budde,
K.
Kuhlenkamp,
L.
Mathiasen,
H.
Zül1inghoven),
Springer- Verlag.
1984.
Genrich 81(a) 1
H.J. Genrich, K. Lautenbach
System modelling with high-Ievel Petri
Nets.
Theoritical Computer Science 13, 1981, p. 109 à 136.
Genrich 81(b) 1
H.J. Genrich, K. Lautenbach. P.S. Thiagarajan
Elements of general net theory in net theory and applications.
LNCS 84. Springer-Verlag, 1980. p. 21 à 164.
GREPA 1 GRoupe Equipement de Production Automatisée réunie à l'ADEPA
Le GRAFCET. de nouveaux concepts.
Cepadus - éditions, 1985

BŒLIOORAPHIE
page: 8
[ Guyot 87 1 J. Guyot
Vérification de la modélisation des traitements d'une application base de
données.
lnforsid 87. Lyon, 1987, p. 65 à 86.
Hansen 78 1
P.O. Hansen
Distributed
Processes
: A concurrent programming concept.
CACM Vol 21. no. li, 1978. p. 934 à 941.
Herrmann 87 1
F.
Herrmann
CHORUS
Un
environnement
pour
le
developpement
et
l'exécution
d'applications
réparties.
TSI Vol 6, no. 2. 1987. p.162 à 165.
Hikita 85 ] T. Hikita, K. lshihata
A
method
of
program
transformation
between
variable
sharing
and
message
passing.
Software Practice and Experience. Vol 15(7). 1985, p. 677 à 692.
[ Hoare 69]
C.A.R. Hoare
An
axiomatic
basis for computer programming.
CACM Vol 12, no. 10. 1969, p. 576 à 583.
[ Hoare 78 1
C.A.R. Hoare
Communicating
Sequential
Processes.
CACM Vol 21, no. 8, 1978. p. 666 à 677.
Hollinger 85 1
D.
Hollinger
Utilisalion pratique des réseaux de Petri dans la conception des systèmes de
production.
TSI Vol 4, no. 6, 1985, p. 509 à 522.
Hollinger 87 1 D.
Hollinger
Réseaux
de
Petri
el
Flavors
pour
la
spécification
et
la
simulation
de

BIBLIOORAPHIE
page: 9
systèmes
productiques.
Proc. des journées AFCET sur les langages orientés objets.
Bigre+G1obule 48, 1986, P 206 à 215.
Hughes 83 1 J.W. Hughes, M.S. Powell
DTL
:
A
language
for
the
design
and
implementation
of
concurrent
programs
as
structured
networks.
Software Practice and Experience, Vol 13,
1983. p. 1099 à 1112.
Jackson 78 1 M.A.
Jackson
Information
systems
: modeling.
sequencing
and
transformations.
IEEE Proc. Int. Conf. on Soft. Eng.
1978, p. 72 à 8 I.
Jensen 81 1 K.
Jensen
Coloured Petri Nets and invariant method.
Theoritical Computer Science 14.
Nonh. Holland pubI. co.. 1981. P 317 à
336.
[ Kahn 77 1 G. Kahn, D.B. Mac Queen
Coroutines and networks of parallel processes.
IFIP. Infor. Proc. 77. B. Gilchrist editor. Nonh Holland pub. company. 1977.
p. 993 à 998.
[ Karp 69 1 K.M. Karp. RE. Miller
Parallel
program
schemata.
Journal of computer and system sciences. Vol 3. no. 2. 1969.
Keller 76 1 R M. Keller
FormaI
verification
of parallel
programs.
CACM Vol 19. no. 7. 1976. p. 371 à 384.
Kemmerer 85 1 R.A.
Kemmerer
Testing formaI specification to detect design errors.
IEEE Trans. on soft. eng.• Vol SE-li. no. 1. 1985

BIBLIOGRAPHIE
page: 10
Kramer 81]
J. Kramer, J. Magee. M. sloman
Intertask
communication
primitives
for
distributed
computer
control
systems.
Pme. 2nd Int. Conf.
on distr. Camp. Sys\\., Paris, 1981, p. 1 à 8.
Kramer 82 ] J. Kramer, J. Magee, M. Sioman
A software architecture for distributed computer control
systems.
IFAC symp. on theory and application of digital control, New Dehli, 1982.
Kramer 83 ] 1. Kramer, J. Magee, M. Sloman, A. Lister
CONIC : An integrated approach to distributed computer control system.
IEEE Proc. , Vol 130, l, 1983.
Ladet 82 ] P. Ladet
Contribution
à
l'étude
des
systèmes
informatiques
répartis
pour
la
commande
des
procédés
industriels.
Thèse d'Etat es-sciences, Grenoble, 1982.
[ Lam 84]
S.S. Lam. A. U. Shankar
Protocol
verification
via
projections.
IEEE Trans. on Soft. Eng.• Vol SE-IO. no 4, 1984. p.325 à 342.
Lamport 78 1
L. Lampon
Time. clocks, and the ordering of events in a distributed system.
CACM Vol 21, no 7, 1978. P .558 à 565.
Lamport 80 1 L. Lampon
The
"Hoare logic" of concurrent programs.
Acta informatica, Springer-Verlag. 14, 1980, p.2l à 37.
Lamport 83 ] L. Lampon
Specifying
concurrent
pro gram
modules.
ACM trans. on prog. lang. and syst., Vol 5. no 2, 1983, p. 190 à 222.

BIBLIOORAPHlE
page: Il
[ Lee 8S 1 S. Lee
On executable models
for rule-based prototyping.
Proc. 8th Int. Conf. on Soft. Eng., London , 1985.
Le Lann 83 1 G. Le Lann
On
real time distributed computing.
IFIP Information processing 83, R.E.A. Mason, Elsevier science pub.. B. V.
(North Holland), 1983. p. 190 à 222.
Le Lann 87 1
G. Le Lann
Le projet Score : les systèmes informatiques répartis temps réel.
TSI Vol 6. no 2, p 173 à 178.
Lister 80 1 A. Lister, J. Magee. M. Sioman, J. Kramer
Distributed
process control
systems
programming
and
configuring.
Rep. RR 80/12 Imp. College Londres, 1980.
Lonchamp 87 1 J.
Lonchamp
Conception
des
applications
informatiques
réparties
en
commande
de
procédés industriels : une démarche. des outils.
Thèse de Docteur d'Etat es-sciences, Nancy 1987.
Mahadevan 83 1 S.
Mahadevan,
R.K.
Shyamasundar
Correctness
preserving
transformations
for
distributed
programs.
Proe. IFIP Congres Information Processing 1983, p. 307 à 313.
Manna 82 1
Z. Manna • A. Pnueli
Verification
of concurrent
programs:
a temporal
proof system.
Proc. of the 4th school of advanced programming, Amsterdam, 1982.
Manna 84 1 Z. Manna, P. Wolper
Synthesis
of communicating
processes
from
temporal
logic
specifications.
ACM Trans. on prog. lang. and syst., Vol 6, no. l, 1984, p. 68-93.

BIBLIOGRAPHIE
page: 12
Martin 87 J F. Manin
Méthodologie de modélisation et simulation de systèmes complexes décrits
par réseaux de Petri colorés.
Thèse de Docteur de l'Institut National Polytechnique de Grenoble, 1987.
Memmi 83 J G. Memmi
Méthodes d'analyse des réseaux de Petri, réseaux à files, et applications aux
systèmes temps réel.
Thèse d'Etat, Paris VI, 1983.
Milner 80 J R.
Milner
A calcul US of communicating systems
LNCS 92, Springer-Verlag. 1980.
Minet 87 J P.
Minet
MAP : un réseau local pour un environnement industriel
automatisé.
TSI Vol 6. no 2, 1987. p. 182 à 186.
[ Misra 81 J J. Misra, K.M. Chandy
Proofs of networks of processes.
IEEE Trans. on Soft. Eng., Vol SE-7, no 4, 1981, p. 417 à 426.
[ Moalla 78 J M. Moalla, J. Pulou. J. Sifakis
Réseaux
de
Petri
synchronisés.
R.A.l.R.O. Automatique/Systems Analysis and control, Vol 12, no. 2, 1978, p.
103 à 130.
[ Maalla 85 J
M. Moalla
Réseaux de Petri interprétés et Grafcet.
TSI Vol 4, no. 1. 1985, p. 17 à 30.
[ Owicki 76 J S. Owicki. D. Gries
Verifying
properties of parallel
programs
axiomatic
approach.
CACM Vol 19, no 5, 1976, p. 279 à 285.

BIBLIOGRAPHIE
page: 13
Owîcki 82 1 S. Owicki, L. Lampon
Proving
Iiveness
propenies
of
concurrent
programs.
ACM Trans. on progr. lang. and syst. , Vol 4, no 3. 1982, p. 455 à 495.
Pascal 87 1 J.C. Pascal, J.M. Pons, Y. Bandin, M. Courvoisier, R. Valette
Programmation modulaire d'une application
distribuée dans
le contexte du
projet S.E.CO.I.A.
Journées d'étude S.E.E, Gif-sur-Yvette, 1987.
Perrin 85 1 G. R. Perrin
La communication : Un outil pour la spécification, la construction et la
vérification
de
systèmes
parallèles.
Thèse de Docteur d'Etat ès-sciences. Nancy, 1985
Peterson 81 1
J.L.
Peterson
Petri Net theory and the modeling of systems.
Prentice-Hall, inc., Englewood Cliffs, N.J. 07632, 1981.
Pnueli 81 1
Amir Pnueli
The
temporal
semantics of concurrent programs.
Theoretical computer science 13. 1981, p. 45 à 60.
Ramamoorthy 85 1
C.V. Ramamoorthy. S.T. Dony, Y. Usuda
An
implementation
of an
automated
protocol
synthesizer
(APS)
and
its
application to X.21 protocol.
IEEE Trans. on soft. eng., Vol SE-H, no 9. 1985, p. 886 à 909.
Ramamritham 83 1
K. Ramamritham. R. Keller
Specification
of
synchronizing
processes.
IEEE Trans. on Soft. Eng., Vol SE-9 no 6. 1983, p. 722 à 732.
Raynal 81 ] M.
Raynal
Contribution à l'étude de la coopération entre processus dans les langages
et
systèmes
informatiques.

BmLIOGRAPHIE
page: 14
Thèse de Docteur d'Etat ès-sciences, Rennes l, 1981
Sifakis 79 1 J.
Sifakis
Contrôle des systèmes asynchrones
: concepts, propriétés, analyse statique.
Thèse de Docteur d'Etat es-sciences, Grenoble. 1979.
[ Silva 85 ] M. Silva. J. Martinez. P. Ladet, H. Alla
Generalized
inverses
and
the
calculation
of
symbolic
invariants
for
coloured
Petri nets.
TSI Vol 4, no. 1, 1985. p. 113 à 126.
Sintzorr 79 ] M.
Sintzoff
Principles
for
distributing
programs.
LNCS 70, Springer-Verlag 1979, p. 337 à 347.
Tankoano 85]
J.
Tankoano, J.C.
Demiame
Démarche
de
structuration
logique
des
systèmes
informatiques
répartis
pour la commande des procédés industriels.
Rapport CRIN 85-R-R028, 1985.
Tankoano 86]
J. Tankoano. J.C.
Demiame
Conception
de
systèmes
répartis
pour
la
commande
des
ateliers
de
production.
Rapport CRIN 86-R-117 1986.
Tankoano 87]
J. Tankoano, J.C.
Demiame
Structure design of distributed
systems using interpreted
Petri
Nets.
Rapport CRIN 87-R-37, 1987
[ Tardieu 86 ] H. Tardieu, A. Rcchfeld, R. Collelli
La méthode MERISE
Les éditions d'organisation,
1986
[ Thiel 85 ] J.J.
Thiel

BffiLIOGRAPHIE
page: 15
FLEXI, système de développement d'applications répartis.
Document interne CERILOR, 1985.
Thomesse 80 1
J.P. Thomesse
SYGARE
: Une
structuration
pour la conception d'applications
en
temps
réel
et
réparties.
Thèse de Docteur d'Etat es-sciences, Nancy. 1980.
[ TS] 8S ] Numéro spécial réseaux de Petri.
Vol 4, no ], 1985.
Valette 76 1
R. Valette
Sur la description,
l'analyse et la validation
des
systèmes
de commande
parallèles.
Thèse de Docteur d'Etat es-sciences, Toulouse. 1976.
Valette 79 ] R. Valette
Analysis of Petri Nets by stepwise refinements.
Journal of computer and system sciences. Vol 18. no l, 1979. p. 35 à 46.
Valette 82 1 R. Valette, M. Courvoisier, J.M. Bigou
Les réseaux d'automates : analyse de la coopération.
Journées d'études S.E.E., Gif-sur-Yvette, 1982, p.733 à 740.
[ Valette 8S (a) 1 R. Valette. M. Courvoisier, H. Demmou, J.M. Bigou, C. Desclaux
Putting Petri Nets to worle: for controlling flexible manufacturing systems.
Int. symp. on circuits and systems, Vol 2 of 3, 1985, p. 929 à 932.
Valette 8S (b) 1 R. Valette, V. Thomas, S. Bachmann
SEDRIC : un simulateur à évènements discrets basé sur les réseaux de Petri.
APII Informatique industrielle, 19, 1985. p.423 à 436.
ZamropuIo 80 1 P. Zaffiropulo et al
Towards
analyzing
and
synthesizing
protocols.

BIBLIOGRAPHIE
page: 16
IEEE Trans. Comm, Vol COM-28, 1980
Zakari 84 ] A.
Zakari
FLEXI
: Langage
de conception
d'applications
de
conduite
de
procédés
industriels.
Thèse de Docteur de 3è cycle, Nancy, 1984.
[ Zave 84]
P. Zave
The
operationnal
versus
the
conventional
approach
to
software
development.
CACM Vol. 27 no 2, 1984, p.l04 à 118.
[ Zave 8S ] P. Zave
A
distributed
alternative
to
finite-state-machine
specifications.
ACM Trans. on prog. lang. and syst., Vol 7, no l, 1985, p. 10 à 36:
[ Wirth 77]
N. Wirth
Toward
a discipline of real-time programming.
CACM Vol 20, no 8, 1977, p. 577 à 583.

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

NOM DE L'ETUDIANT
TANKOANO Joachim
NATURE DE LA THESE
Doctorat d'Etat ès sciences
VU, APPROUVE ET PERMIS D'IMPRIMER
NANCY,
le
LE PRESIDENT DE ~~,'~"i~EDE NANCY 1
I:.~y \\:""1-
'('
1
\\~
1z, ,1.t°4>t,
\\ ZJ
,:J,
\\ ':~ .,..
..
\\
.
" )
R. MAINA~D
T:'
.
,
~
'\\
'
..... ;