ift 2251 génie logiciel spécification de processus concurrents
Post on 05-Jan-2016
60 Views
Preview:
DESCRIPTION
TRANSCRIPT
© Petko Valtchev Université de Montréal Février 2002 1
IFT 2251Génie Logiciel
Spécification deProcessus Concurrents
IFT 2251Génie Logiciel
Spécification deProcessus Concurrents
Hiver 2002 Petko Valtchev
© Petko Valtchev Université de Montréal Février 2002 2
ModélisationModélisation Réseaux de Petri (Introduction)Réseaux de Petri (Introduction)
Objectif: Modéliser le comportement dynamique d’un système discret.
Modèle opérationnel exprimant à la fois le flot de contrôle et le flot de
données.
Avantages:
• Permet de considérer la structure du système et l’évolution du flot de
données.
• Permet de représenter les changements d’états et la causalité des
événements que provoquent ces changements.
• Modèle solidement assis sur des bases formelles.
Formalisme Graphique
© Petko Valtchev Université de Montréal Février 2002 3
ModélisationModélisation Éléments d’un RéseauxÉléments d’un Réseaux
Un réseau de Petri est composé:
1. d’un ensemble fini de places
2. d’un ensemble fini de transitions
3. d’un ensemble fini de flèches reliant- soit une place à une transition, - soit une transition à une place.
p
t
© Petko Valtchev Université de Montréal Février 2002 4
ModélisationModélisation Étiquetage des ÉlémentsÉtiquetage des Éléments
• Chaque place est étiquetée par son nom.
• Chaque transition est étiquetée par son nom.
• Une flèche peut être étiquetée d’un nombre entier (>1) indiquant le nombre d’occurrence de cette flèche, c’est-à-dire, le nombre de jetons nécessaires pour que la flèche soit « activée ». S’il n’y a pas d’étiquette, l’occurrence est 1, par défaut.
t1
p4
p3
p2
p1
p6
p5t2
t3
23
© Petko Valtchev Université de Montréal Février 2002 5
ModélisationModélisation Définition FormelleDéfinition Formelle
P est un ensemble fini de places,T est un ensemble fini de transitions,Pre : P x T N est l’application «
place d’entrée »,Post : P x T N est l’application
« place de sortie ».
P= {p1,p2,p3,p4} ; T={t1,t2}
Pre(p1,t1)= 2; Pre(p2,t1)=1Pre(p3,t2)=1Post(p3,t1)=1; Post(p4,t2)=1Le reste: Post(pi,tj)=0 et Pre(pi,tj)=0
Un réseau de Petri est un quadrupletR = <P,T,Pre, Post>
t1
p3
p2
p1
p4
t2
2
© Petko Valtchev Université de Montréal Février 2002 6
ModélisationModélisation Précisions TerminologiquePrécisions Terminologique
Places d’entrée d’une transition t = places dont proviennent les flèches entrant de la transition.
In(t) = {p P | Pre(p,t) > 0}
- Places de sortie d’une transition t = places vers lesquelles sont orientées les flèches qui sortent de la transition.
- Out(t) = {p P | Post(p,t) > 0}
t1
p3
p2
p1
p4
t2
2
In(t1)= {p1,p2} In(t2)= {p3}
Out(t1)= {p3} Out(t2)= {p4}
© Petko Valtchev Université de Montréal Février 2002 7
ModélisationModélisation Réseau MarquéRéseau Marqué
On définit l’état d’un réseau de Petri en plaçant des jetons dans ses places. Chaque état est caractérisé par un marquage indiquant le nombre de jetons contenus par chaque place.
Un marquage = Affectation d’un entier non-négatif à chaque place.
t1
p4
p3
p2
p1
p6
t3Marquage
M(p1)=3M(p2)=1M(p3)=1M(p4)=0M(p5)=0M(p6)=0
p5t2
23
2
R est un réseau de Petri <P,T,Pre, Post>
M est un marquage, cad une application
M : P N,
M(p) est le nombre de jetons dans p P
Un réseau marqué est un couple
N = <R, M>
© Petko Valtchev Université de Montréal Février 2002 8
ModélisationModélisation Règles de FranchissementRègles de Franchissement
Une transition est dite « franchissable » si chacune de ses places d’entrée contient un nombre de jetons supérieur ou égal à celui indiqué sur la flèche correspondante.
t1
p4
p3
p2
p1
p6
t3
p5t2
23
2
Une transition t est franchissable ssi
p P, M(p) Pre(p,t),ou alternativement,
p In(t), M(p) Pre(p,t),
© Petko Valtchev Université de Montréal Février 2002 9
ModélisationModélisation Franchissement (suite)Franchissement (suite)
Une transition franchissable peut être franchie (ou tirée).
Lorsqu’une transition est franchie, des jetons des places d’entrée sont déplacés vers les places de sortie. Le nombre exact des jetons retirées/rajoutées pour une place donnée correspond à l’étiquette sur la flèche correspondante.
t1
p4
p3
p2
p1
p6
t3
p5t2
23
2
Le franchissement d’une transition franchissable t transforme le marquage initial M en le nouveau marquage M’ tel que:
p P, M’(p) = M(p) – Pre(p,t) + Post(p,t)
© Petko Valtchev Université de Montréal Février 2002 10
ModélisationModélisation Non-déterminismeNon-déterminisme
Si plus d’une transition est franchissable, le choix de la transition à
franchir est non-déterministe.
t1
p4
p3
p2
p1
p6
t3
p5t2
23
2
t2 ou t3 ?
© Petko Valtchev Université de Montréal Février 2002 11
ModélisationModélisation Séquence FranchissementSéquence Franchissement
Cette séquence est dénotée par une chaîne de transitions <t1, …, tn> telle que:- t1 est franchissable depuis le marquage initial- t2 est franchissable depuis le marquage obtenu par la tirée de t1, - etc.
t1
p4
p3
p2
p1
p6
t3
p5t2
23
2
Séquences defranchissementpossibles:
<t1,t2><t1, t3><t3,t1>
Mi <s> Mj
Étant donnée un marquage initial d’un RP, une séquence de franchissement
est une suite de transitions franchies dans l’ordre, l’une après l’autre.
© Petko Valtchev Université de Montréal Février 2002 12
ModélisationModélisation Sémantique des RéseauxSémantique des Réseaux
Un réseaux de Petri peut être interprété en termes de processus, d’actions et de ressources.
• Les transitions servent à modéliser les actions des processus.
• Les jetons représentent des ressources consommables.
• Le franchissement d’une transition représente l’exécution d’une
action (consommation & production de ressources).
• Les flèches entrantes indiquent les conditions à satisfaire avant
l’action (ressources nécessaires). Les flèches sortantes représentent
les conditions à satisfaire après l’action (ressources à produire).
• La présence d’un jeton marque la satisfaction, partielle ou totale,
d’une condition (i.e. présence d’une ressource).
© Petko Valtchev Université de Montréal Février 2002 13
ModélisationModélisation Producteur-ConsommateurProducteur-Consommateur
Un exemple concret (et simple!) de réseau de Petri.
Objectif : Modéliser la coordination entre deux processus dont un est le producteur et l’autre le consommateur d’une ressource.
• Le producteur produit un objet (item) et le dépose dans un tampon (bac),
• Le consommateur prend l’objet dans le bac et le « consomme ».• Contrainte: avant que le consommateur ne puisse exécuter l’action
« consommer », le producteur doit avoir fini l’action « produire ».
Utilité: • simulation de processus industriels (à de fins d’automatisation),• modélisation de traitement de données asynchrone.
© Petko Valtchev Université de Montréal Février 2002 14
ModélisationModélisation Prod.-Cons., le RéseauProd.-Cons., le Réseau
Prêt-à-produire
Prêt-à-déposer
déposeproduitconsommeprend
Prêt-à-prendre
Prêt-à-consommer
bac
Consommateur:• prendre• consommer
Producteur:• produire• déposer
© Petko Valtchev Université de Montréal Février 2002 15
ModélisationModélisation Modéliser la ConcurrenceModéliser la Concurrence
Dans la réalité, les ressources doivent souvent être partagées.
De plus, celles-ci ont leurs limites, c’est-à-dire qu’elles sont épuisables.
t3
t6
t5
t1
t4
t6
t6
t2
p1 p2
p4p3
p5 p6
p7 p8
p9
2 2
Plus de jeton:-Famine?-Interblocage?
© Petko Valtchev Université de Montréal Février 2002 16
ModélisationModélisation ConcurrenceConcurrence
• Transitions concurrentes : un couple de transitions dont le franchissement de l’une n’empêche pas celui de l’autre (quel que soit le marquage).
• Un réseau de Petri modélise la concurrence comme un entrelacement non-déterministe:
a || b = a.b V b.a
t3
t1
t4
t2
p1p2
p4p3
p5
p9
p6
t1 et t2 sont concurrentes…mais pas t3 et t4
© Petko Valtchev Université de Montréal Février 2002 17
ModélisationModélisation ConcurrenceStructurelle vs Effective
ConcurrenceStructurelle vs Effective
Concurrence structurelle: Deux transitions t1 et t2 sont concurrentes structurellement si elles n’ont aucune place d’entrée commune i.e.
In(t1) In(t2) =
Concurrence effective: Deux transitions t1 et t2 sont concurrentes effectivement pour un marquage donnée M ssi elles sont concurrentes structurellement et sont franchissables i.e.
In(t1) In(t2) =
et p P, M(p) Pre(p,t1) et M(p) Pre(p,t2)
© Petko Valtchev Université de Montréal Février 2002 18
ModélisationModélisation ConflitConflit
• Transitions conflictuelles : Ensemble de transitions dont le franchissement de l’une empêche le franchissement de l’autre.
t3
t1
t4
t2
p1
p4p3
p5
p9
p6
Si on tire t3, t4 n’est plus franchissable
Le choix entre t3 et t4est non déterministe.
t3 et t4 sont conflictuelles
© Petko Valtchev Université de Montréal Février 2002 19
ModélisationModélisation
Conflit structurel: Deux transitions t1 et t2 sont en conflit structurel si elles ont au moins une place d’entrée en commun i.e.
In(t1) In(t2)
Conflit effectif: Deux transitions t1 et t2 sont en conflit effectif pour un marquage M ssi elles sont en conflit structurel et sont franchissables de façon exclusive i.e.
In(t1) In(t2)
p P, M(p) Pre(p,t1) et M(p) Pre(p,t2) et
p P, M(p) < Pre(p,t1) + Pre(p,t2)
ConflitStructurel vs Effectif
ConflitStructurel vs Effectif
© Petko Valtchev Université de Montréal Février 2002 20
ModélisationModélisation Situation de FamineSituation de Famine
• Le modèle des RP de base n’impose pas de politique pour résoudre les
conflits et ordonnancer le franchissement des transitions.Il se peut donc qu’un processus soit privé, pendant une période indéfinie,
d’une ressource, car la séquence des transitions franchies ne lui permet
jamais de consommer cette ressource.
t3
t1
t4
t2
p1
p4p3
p5
p9
p6
<t1,t2,t3,t1,t3,t1,t3,…>Séquence de franchissement non équitable.Processus B en famine!
Processus A
Processus B
« Famine (starvation) : Un processus (une partie du réseau)est en situation de famine s’il se voit refuser l’accès
à une ressource pendant un temps indéfini. »
© Petko Valtchev Université de Montréal Février 2002 21
ModélisationModélisation Situation d’InterblocageSituation d’Interblocage
Cas typique: Privation mutuelle
Le processus A est arrêté car il a besoin d’une ressource détenue par B, alors
que le processus B est arrêté car il a besoin d’une ressource détenue par A.
« Interblocage (deadlock) : un RP est dit être en situation d’interblocage lorsque, dans un marquage donné M,
aucune transition n’est franchissable. »
t2
p4p3
t1
p2p1
© Petko Valtchev Université de Montréal Février 2002 22
ModélisationModélisation Interblocage (exemple)Interblocage (exemple)
t3
t7
t5
t1
t4
t8
t6
t2
p1 p2
p4p3
p5 p6
p7 p8
p9
2 2
<t1,t2,t3,t4>
M0(p1)=1M0(p2)=1M0(p9)=2M0(_)=0
Mn(p5)=1
Mn(p6)=1
Mn(_) = 0
Interblocage!!
© Petko Valtchev Université de Montréal Février 2002 23
ModélisationModélisation Bonnes Propriétés des RPBonnes Propriétés des RP
• K- borné: Un RdP est k-borné si le marquage de chaque place est toujours inférieur ou égal à k, quelle que soit la séquence de franchissement réalisée.
• Vivant: Un RdP est vivant si pour toute transition et pour tout marquage accessible, il existe une séquence de franchissement permettant de franchir cette transition.
N.B. Un RP vivant ne peut pas se retrouvé en situation d’interblocage.
© Petko Valtchev Université de Montréal Février 2002 24
ModélisationModélisation K-Borné (exemple) K-Borné (exemple)
Réseau non borné Réseau 2-borné
© Petko Valtchev Université de Montréal Février 2002 25
ModélisationModélisation Vivacité (exemple)Vivacité (exemple)
Réseau vivant
t2
p1
p2
t1
t1
t2
t3
t4
p1
p2
p3
Réseau non vivant
© Petko Valtchev Université de Montréal Février 2002 26
ModélisationModélisation Réseaux de Petri, BilanRéseaux de Petri, Bilan
• Bien adapté pour la modélisation de systèmes concurrents et/ou temps-
réel.
• Possibilités intéressantes de vérification et d’évaluation des performances.
• Outils CASE pour développés, analyser et vérifier les modèle de réseaux
de Petri.
• Complexité
• Lacunes: la version « classique» des RdP ne permet pas :
• d’éviter les situations de famine,
• de distinguer les données d’une place selon les valeurs de leurs
attributs,
• de prendre en compte les contraintes temporelles,
• d’offrir une représentation à différents niveaux d’abstraction.
© Petko Valtchev Université de Montréal Février 2002 27
ModélisationModélisation Modèles Étendus de RPModèles Étendus de RP
- Il existe des modèles avancés de réseaux de Petri permettant d’étendre leur expressivité:
• Réseaux de Petri avec politique d’ordonnancement : possibilité
d’attacher des priorités aux transitions permettant de déterminer quelle
transition tirée parmi toutes celles franchissables.
• Réseaux de Petri hiérarchiques : partitionnement des grands
réseaux de Petri de manière récursive.
• Réseaux de Petri colorés : affectation de valeurs aux jetons.
• Réseaux de Petri temporisés : ajout de contraintes temporelles au
niveau des transitions.
top related