Académique Documents
Professionnel Documents
Culture Documents
J. Christian Attiogbé
Janvier 2020
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
1 / 46
Motivations
Exercices
Construire un logiciel pour contrôler simultanément plusieurs robots
coopérant dans une usine/maison/entreprise.
Construire un logiciel pour gérer l’interaction entre plusieurs joueurs
dans un logiciel de jeu.
Construire un logiciel pour gérer l’interaction entre des applications qui
partagent une ressource.
Construire un logiciel qui gère l’interaction entre des applications qui à
distance, les unes produisent des données et les autres, consomment
les données.
Méthodes
Quelles méthodes ? quels modèles ?
Quelles technologies ? quels langages ? quelles plateformes ?
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
2 / 46
Motivations
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
3 / 46
Objectifs du cours
Objectifs
Ce cours a pour but de donner aux étudiants les méthodes et
techniques de base pour la modélisation, la conception, et la
réalisation de systèmes et logiciels répartis (distributed systems).
Moyens
Formation encadrée : CM 6h (4*1h20) - TD/TP 17,5h (7 sem., 2*1h20/sem)
Prérequis : Systèmes M3101, Réseaux M3102
Fil conducteur : applications réelles à réaliser au fil des TDs
Intervenants
Christian Attiogbé (CM, TD) & Loïg Jezequel (TD)
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
4 / 46
Plan
1 Définitions
2 Les bases
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
5 / 46
Plan
Introduction
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
6 / 46
Plan
Introduction
Exemple :
Contôle dans les ateliers de production.
Modélisons le comportement de deux robots dans une usine ;
les deux robots usinent des pièces en se servant d’outils communs.
Plusieurs problèmes : accès concurrent, synchronisation, blocage, ...
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
7 / 46
Plan
Robot = Robot =
maillet
retirerp retirerp
Marteau
prendrem prendrem
prendreM prendreM
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
8 / 46
Plan
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications réparties
9 / 46
Plan
Concepts fondamentaux
Ensemble de Places : P
Ensemble de transitions : T
Arcs entrant/sortant des transitions et des places
Jetons (dans des places)
Marquage (des places) : Mi
Fonctionnement du réseau : franchissement des transitions et
donc, changement de l’état global (marquage).
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications10
réparties
/ 46
Plan
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications11
réparties
/ 46
Plan
Exemple : Producteur/Consomateur
repos buffer
produire reposer
production
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications12
réparties
/ 46
Plan
Exemples : fonctionnement
repsoserC
produire reposer prelever
production
consommation
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications13
réparties
/ 46
Les bases
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications14
réparties
/ 46
Les bases
Exemple
Soient
P = {1, 2, 3, 4, 5} et T = {a, b, c, d, e}.
Pre a b c d e Post a b c d e
1 1 0 0 0 0 1 0 0 0 1 0
2 0 1 0 0 0 2 1 0 0 0 0
3 0 0 1 0 0 3 1 0 0 0 1
4 0 0 0 1 0 4 0 1 0 0 0
5 0 0 0 1 1 5 0 0 1 0 0
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications15
réparties
/ 46
Les bases
Graphe du réseau
1 .
2
3
c b
5 4
e d
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications16
réparties
/ 46
Les bases
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications17
réparties
/ 46
Les bases
produire reposer
production
µ(repos) = 1
µ(production) = 0
µ(buffer) = 0
Mi = (1, 0, 0)
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications18
réparties
/ 46
Fonctionnement d’un réseau
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications19
réparties
/ 46
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications21
réparties
/ 46
exclusion mutuelle
(entre les ti)
synchronisation
t1 t2 tn (RdV)
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications22
réparties
/ 46
Fonctionnement d’un réseau
F1
Les philosophes
1
3
Lecteurs/rédacteurs
F2 F3
··· 2
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications23
réparties
/ 46
FD
pFG
pFD
manger
libGD
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications24
réparties
/ 46
Fonctionnement d’un réseau
manger FG
PhilRepos
libGD
pFG
pFD
FD
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications25
réparties
/ 46
Phil4Repos
F3
F2
F1
F4
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications26
réparties
/ 46
Fonctionnement d’un réseau
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications27
réparties
/ 46
manger
pFD
pFG
FD
FG
PhilRepos
manger
FD
libGD
pFD
pFG
FG
PhilRepos
manger
PhilRepos
libGD
pFG
pFD
PhilRepos
FG
FD
FG
FD
pFG
pFD
manger
libGD
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications28
réparties
/ 46
Fonctionnement d’un réseau
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications29
réparties
/ 46
Exemple
et
Pre a b c d e Post a b c d e
1 1 0 0 0 0 1 0 0 0 1 0
2 0 1 0 0 0 2 1 0 0 0 0
3 0 0 1 0 0 3 1 0 0 0 1
4 0 0 0 1 0 4 0 1 0 0 0
5 0 0 0 1 1 5 0 0 1 0 0
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications30
réparties
/ 46
Fonctionnement d’un réseau
Graphe du réseau
1 .
2
3
c b
5 4
e d
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications31
réparties
/ 46
Graphe de marquage
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications32
réparties
/ 46
Graphe de marquage : sémantique
Graphe de marquage
(1, 0, 0, 0, 0)
(0, 1, 1, 0, 0)
e
b
c
(0, 1, 0, 0, 1) (0, 0, 1, 1, 0)
c e
b
(0, 0, 0, 1, 1)
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications33
réparties
/ 46
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications34
réparties
/ 46
Graphe de marquage : sémantique
MAccessibles := {marquageInitial}
AExplorer := MAcessibles
TANTQUE AExplorer /= ensVide FAIRE
Mc := prendre un marquage de AExplorer /* courant*/
AExplorer := AExplorer - {Mc}
POUR toutes les transitions t de Mc FAIRE
SI Mc >= Pre(t) ALORS /* t est franchissable */
M’ := Mc + Post(t) - Pre(t) /* un marquage accessible */
SI M’ /: MAccessibles ALORS
Accessibles := Accessibles U {M’}
AExplorer := AExplorer U {M’}
FINSI
FINSI
FINPOUR
FINFAIRE
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications35
réparties
/ 46
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications36
réparties
/ 46
Graphe de marquage : sémantique Exercice
Exercice
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications37
réparties
/ 46
Arcs pondérés
Arcs pondérés par défaut avec 1
Les arcs peuvent avoir un poids > 1
Exemple d’utilisation :
Lecteurs/rédacteur ; on veut autoriser n lectures ;
mais exclusion entre un rédacteur et les lecteurs ;
rédaction en exclusion avec les lecteurs.
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications38
réparties
/ 46
Graphe de marquage : sémantique Exercice
repos buffer
1 1 1
produire reposer
1 1
production
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications39
réparties
/ 46
repos buffer
1 1 1 3
vider
produire reposer
1 1 1
production
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications40
réparties
/ 46
Graphe de marquage : sémantique Exercice
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications41
réparties
/ 46
Arcs inhibiteurs
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications42
réparties
/ 46
Graphe de marquage : sémantique Exercice
Arcs inhibiteurs
Modélisation de la détection de fin d’un traitement...
p1 n rscrc
prendre1
finir
Traitement
Terminaison
FinTraiter
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications43
réparties
/ 46
Manque de modularité
pas de hiérarchisation
pas de composition explicite
Explosion du modèle (pour la modélisation de grands systèmes)
Prise en compte de la modélisation des données
...
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications44
réparties
/ 46
Graphe de marquage : sémantique Exercice
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications45
réparties
/ 46
Références
J. Christian Attiogbé (Janvier 2020) DUT Informatique - Module M-4102C Modélisation et construction des applications46
réparties
/ 46