DUT Informatique - Module M-4102C Modélisation et construction des applications réparties



Documents pareils
Conception des systèmes répartis

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Les processus métiers : concepts, modèles et systèmes

CNAM - CRA Nancy 2000/2001. Génie Logiciel. Jacques Lonchamp DEUXIEME PARTIE. Les techniques de spécification.

Les diagrammes de modélisation

FIMA, 7 juillet 2005

Modélisation et Simulation

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

C est quoi le SWAT? Les équipes décrites par James Martin s appellent SWAT : Skilled With Advanced Tools.

Modélisation multi-agents - Agents réactifs

Élasticité des applications à base de services dans le Cloud

Analyse des Besoins (Spécifications)

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Model checking temporisé

Problèmes liés à la concurrence

JOURNEES SYSTEMES & LOGICIELS CRITIQUES le 14/11/2000. Mise en Œuvre des techniques synchrones pour des applications industrielles

THÈSE. En vue de l obtention du DOCTORAT DE L UNIVERSITÉ DE TOULOUSE. Touria CHAFQANE BEN RAHHOU

Analyse,, Conception des Systèmes Informatiques

APPROCHE DE LA SURVEILLANCE DES SYSTEMES PAR RESEAUX DE PETRI SYNCHRONISES FLOUS

TD 1 - Structures de Traits et Unification

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

4.2 Unités d enseignement du M1

Remote Method Invocation en Java (RMI)

Introduction à la Programmation Parallèle: MPI

Correction du baccalauréat ES/L Métropole 20 juin 2014

Université de Bangui. Modélisons en UML

Cours de Génie Logiciel

Resolution limit in community detection

Démarches d urbanisation : réorganiser le Système d Information en structurant ses fonctions dans des blocs fonctionnels communicants.

ils entretiennent entre eux des flux, ils partagent des perceptions sur l environnement

Bases de données Cours 5 : Base de données déductives

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Grammaires d unification

On appelle variable condition une var qui peut être testée et

Intelligence Artificielle Planification

Urbanisation des Systèmes d Information Architecture d Entreprise. 04 Architecture du SI : identifier et décrire les services, structurer le SI

Le Collège de France crée une chaire pérenne d Informatique, Algorithmes, machines et langages, et nomme le Pr Gérard BERRY titulaire

MIS 102 Initiation à l Informatique

Calculs de probabilités

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Semestre 1. Objectifs Approfondissement de l environnement Java et de son interface de programmation d applications : réseaux, et processus.

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie

Pourquoi l apprentissage?

Présentation du Master Ingénierie Informatique et du Master Science Informatique , Année 2 Université Paris-Est Marne-la-Vallée

Modélisation et évaluation de performance des systèmes basés composants

Les apports de l informatique. Aux autres disciplines

Une méthode formelle pour la vérification de la consistance temporelle et la gestion prédictive de la Qualité de service pour la présentation des

Architecture distribuée

(OPINIONS 2.0) Le rapport de restitution (papier et digital) reprend la totalité des réponses avec le classement des occurrences (histogrammes)

NFP111 Systèmes et Applications Réparties

Outils logiciels pour la combinaison de vérification fonctionnelle et d évaluation de performances au sein de CADP

Network musical jammin

SIMULATION ORIENTEE EVENEMENTS DES MODELES HYBRIDES

Programme détaillé BTS INFORMATIQUE DE GESTION DIPLÔME D ETAT. Objectifs de la formation. Les métiers. Durée de la formation

Évaluation et implémentation des langages

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB Olivier Augereau Formation UML

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Systèmes décisionnels et programmation avancée

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Systèmes d information et bases de données (niveau 1)

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Chapitre 5 : Flot maximal dans un graphe

LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION

Programme scientifique Majeure INTELLIGENCE NUMERIQUE. Mentions Image et Réalité Virtuelle Intelligence Artificielle et Robotique

Introduction à la théorie des graphes. Solutions des exercices

Big Graph Data Forum Teratec 2013

Chapitre 4 : Exclusion mutuelle

Données Réparties. Thibault BERNARD.

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Document complémentaire au PPN du DUT Gestion logistique et transport

Réalisabilité et extraction de programmes

Baccalauréat ES Amérique du Nord 4 juin 2008

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Qualité du logiciel: Méthodes de test

Vers l'orchestration de grilles de PC par les mécanismes de publicationsouscription

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig

EP60.92 Projet d application pluridisciplinaire La chasse aux trésors

Partage avec collaboration Important : Ce type de partage exige la connexion à un serveur CmapServer.

Intelligence artificielle appliquée à l automatique

Grafcet Designer v.2.0 Manuel de Référence

Messagerie asynchrone et Services Web

Intelligence Artificielle et Robotique

L ACCROISSEMENT DE L ENTROPIE DES SYSTÈMES D INFORMATION EST-ELLE UNE FATALITÉ?

Introduction au génie logiciel

Spécification et transformation de langages de points de vue des systèmes répartis ouverts

Les processus légers : threads. Système L3, /31

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Utilisation des nombres pour résoudre des problèmes Aspect cardinal Maternelle MS-GS. Francette Martin

Génie Logiciel Avancé Cours 3 Le modèle à objets

FONDEMENTS MATHÉMATIQUES 12 E ANNÉE. Mathématiques financières

Cours de Systèmes d Exploitation

Plus courts chemins, programmation dynamique

MEMOIRE. Présenté à. L École Nationale d Ingénieurs de Sfax. en vue de l obtention du MASTERE

Solutions informatiques (SI) Semestre 1

4. EXPRESSION ET ANALYSE DU BESOIN INTRODUCTION LE CAHIER DES CHARGES... 1 Critères de succès...2 Expression du besoin en langage

Transcription:

DUT Informatique - Module M-4102C Modélisation et construction des applications réparties Applications réparties (distributed systems) J. Christian Attiogbé Février 2009, maj 2015 J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 1 / 34 Plan de la suite Plan 1 Définitions 2 Les bases 3 Fonctionnement d un réseau 4 Graphe de marquage : sémantique J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 2 / 34

Plan Introduction Carl Adam Petri, 1962 Une notation mathématique et graphique Fondée sur une bonne théorie Plusieurs extensions et outils logiciels pour les analyser Modélisation de systèmes asynchrones, concurrents, distribués, non-déterministes, Utilisable à différentes étapes de construction de logiciels : analyse, modélisation, simulation, développement (synthèse) Utilisation dans de nombreux domaines : protocoles, systèmes critiques, systèmes d exploitation,... J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 3 / 34 Introduction Plan Le réseau de Petri comme un outil de l ingénieur : modélisation et étude du fonctionnement d un système (avant sa construction). Exemple : 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é (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 4 / 34

Plan Introduction : un exemple de concurrence J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 5 / 34 Plan Caractéristiques des réseaux de Petri Spécification et étude des systèmes concurrents (communication, synchronisation) Abstraction sur les comportements, et les états Mode de synchronisation : synchrone, asynchrone Mode de composition : via le partage de transitions, (pas de hiérarchie) Modèles sémantiques : opérationnelle, axiomatique (algébrique) J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 6 / 34

Concepts fondamentaux Plan Ensemble de Places : P Ensemble de transitions : T Arcs entrant/sortant des transitions et des places Jetons (dans des places) Marquage (des places) : M i Fonctionnement du réseau : franchissement des transitions et donc, changement de l état global (marquage). J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 7 / 34 Plan Etude empirique du fonctionnement des R. de Petri Exemples de base Modélisation d un système producteur/consommateur avec les RdP Modélisation d une chaîne d assemblage avec des robots... J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 8 / 34

Plan Exemple : Producteur/Consomateur Modélisation du comportement d un producteur : repos buffer produire reposer production P = {repos, production, buffer} T = {produire, reposer} J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications réparties 9 / 34 Plan Exemples : fonctionnement Modélisation de la composition producteur et consommateur : repos buffer reposc produire reposer prelever repsoserc production consommation J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications10 réparties / 34

Les bases Définitions formelles Un réseau de Petri (R) est un quadruplet (P, T, Pre, Post) où : P est un ensemble fini de places (avec P P), = m, le cardinal de T un ensemble fini de transitions, disjoint de P, (avec T cardinal de T) Pre : P T IN une application d incidence avant (une matrice) : les places entrant dans une transition Post : P T IN une application d incidence arrière (une matrice) : les places sortant d une transition = n, le J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications11 réparties / 34 Exemple Les bases Soit P = {1, 2, 3, 4, 5} et T = {a, b, c, d, e}. Soient Pre (places avant les transitions) et Post (places après les transitions) : Pre a b c d e 1 1 0 0 0 0 2 0 1 0 0 0 3 0 0 1 0 0 4 0 0 0 1 0 5 0 0 0 1 1 Post a b c d e 1 0 0 0 1 0 2 1 0 0 0 0 3 1 0 0 0 1 4 0 1 0 0 0 5 0 0 1 0 0 J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications12 réparties / 34

Les bases Graphe du réseau 1. a 3 2 c b 5 4 e d J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications13 réparties / 34 Marquage des réseaux Les bases Un réseau marqué est le couple N = (R, µ) formé de : un réseau R et une application (fonction totale) µ : P IN. µ(p) est le marquage de la place p, on dit aussi le nombre de marques contenues dans p. Jeton : indique le marquage de chaque place. J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications14 réparties / 34

Les bases Marquage des places repos buffer produire reposer production µ(repos) = 1 µ(production) = 0 µ(buffer) = 0 (µ(repos), µ(production), µ(buffer)) (1, 0, 0) J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications15 réparties / 34 Fonctionnement d un réseau Fonctionnement et propriétés des réseaux de Petri Franchissement des transitions (non-déterminisme, synchronisation) Franchissable? quel est le marquage résultant? J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications16 réparties / 34

Fonctionnement d un réseau Fonctionnement des réseaux de Petri (règles sémantiques) Une transition est franchissable (ou tirable) (enabled) lorsqu il y a aumoins un jeton dans chacune de ses places en entrée. Une transition franchissable est franchie (instantanément) ou non franchie. Lorsque plusieurs transitions sont franchissables, une d entre elles (de façon non-déterministe) est franchie. Lorsqu une transition est franchie, on enlève un jeton de chacune de ses places en entrée et on ajoute un jeton dans chacune de ses places en sortie : modification du marquage. Chaque arc a un poids de 1 par défaut. J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications17 réparties / 34 Fonctionnement d un réseau Fonctionnement du réseau : graphe et propriétés On étudie le modèle à partir du graphe de marquage (réseau borné). Marquage et vivacité : Transition vivace (vivante) = il y a toujours un chemin qui y passe ; Réseau vivace = tout noeud sans arc sortant contient au moins chaque transition Réseau sans blocage = à partir d un noeud il y a toujours un arc sortant. Interblocage : aucune action possible à partir d un noeud atteignable.... On peut avoir des réseaux non bornés. J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications18 réparties / 34

Fonctionnement d un réseau Fonctionnement du réseau : graphe et propriétés Exemples de réseaux : Les philosophes (exo au tableau) Lecteurs/rédacteurs J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications19 réparties / 34 Fonctionnement d un réseau Graphe associé à un réseau Le graphe (P, T, Γ, V) associé au réseau R = (P, T, Pre, Post) est défini par : p P Γ p (p) = {t T Pre(p, t) > 0} (transitions atteignables) t T Γ t (t) = {p P Post(p, t) > 0} (places atteignables) p P, t T, V(p, t) = Pre(p, t) et V(t, p) = Post(p, t). (valuation) J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications20 réparties / 34

Fonctionnement d un réseau Exemple Soit P = {1, 2, 3, 4, 5} et T = {a, b, c, d, e}. Soient Pre et Post : 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 soit M 0 = (1 0 0 0 0) le marquage initial. On construit le réseau suivant avec M 0 : J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications21 réparties / 34 Graphe du réseau Fonctionnement d un réseau 1. a 3 2 c b 5 4 e d J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications22 réparties / 34

Graphe de marquage : sémantique Graphe de marquage On construit le graphe sur l ensemble des marquages accessibles noté A(R, M) (ou espace d états) du réseau. Un état est un marquage. Si les places du réseau sont p 1, p 2,..., p P, un marquage est de la forme (µ(p 1 ), µ(p 2 ),..., µ(p P )). Le graphe des marquages est noté G(R, M). Ses sommets sont les éléments de A(R, M). Ses arcs sont etiquetés par t i tel que t i T. Soient M i des sommets, M 1 t M 2 ssi : M 1, M 2 t T, A(R, M), M 2 est accessible par t à partir de M 1 J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications23 réparties / 34 Graphe de marquage : sémantique Entrée et sortie d une transition On appelle entrées d une transition t : les places Γ 1 (t) et On appelle sorties d une transition t : les places de Γ(t). On appelle entrées d une place p : les transitions Γ 1 (p) et sorties d une place p : les transitions de Γ(p). J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications24 réparties / 34

Graphe de marquage : sémantique On donne Γ p et Γ t telles que : (on utilisera Γ t pour les transitions et Γ p pour les places et Γ abusivement pour les deux cas) Γ p (1) = {a} Γ p (2) = {b} Γ p (3) = {c} Γ p (4) = {d} Γ p (5) = {d, e} Γ t (a) = {2, 3} Γ t (b) = {4} Γ t (c) = {5} Γ t (d) = {1} Γ t (e) = {3} Construisez le graphe du réseau associé à cette description. J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications25 réparties / 34 Graphe de marquage : sémantique Pondération des arcs, arcs inhibiteurs 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 redacteur et les lecteurs ; rédaction en exclusion avec les lecteurs. J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications26 réparties / 34

Graphe de marquage : sémantique Pondération des arcs Par défaut les arcs ont un poids de 1 repos buffer 1 1 1 produire 1 1 reposer production J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications27 réparties / 34 Graphe de marquage : sémantique Pondération des arcs : consommation 3 par 3 de ce qui est produit : repos 1 1 1 buffer 3 produire 1 1 reposer 1 vider production J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications28 réparties / 34

Graphe de marquage : sémantique Pondération des arcs : Modélisation de la composition des comportements des processus lecteurs/rédacteurs. N ressources sont disponibles pour la lecture ou la rédaction ; un seul processus rédacteur à la fois, 1 à N processus lecteurs peuvent lire simultanément, On veut assurer l exclusion entre lecture et rédaction. J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications29 réparties / 34 Graphe de marquage : sémantique Arcs inhibiteurs Arcs inhibiteurs : permettent des franchissements spécifiques. Un RdP à arcs inhibiteur est une variante des RdP, où on un peut avoir une transition spécifique franchissable lorsque le marquage de la place entrante est 0. : patients/médecin (au tableau) J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications30 réparties / 34

Graphe de marquage : sémantique Arcs inhibiteurs Modélisation de la détection de fin d un traitement... p1 n rscrc 1 prendre1 finir Traitement Terminaison FinTraiter J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications31 réparties / 34 Graphe de marquage : sémantique Les limites des réseaux de Petri 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é (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications32 réparties / 34

Graphe de marquage : sémantique Les extensions des réseaux de Petri Il existe de nombreuses extensions pour les réseaux de Petri Réseaux de Petri avec des données (langage de données élaboré) HLPN (High-Level Petri Nets, réseaux de Petri avec prédicats, etc)... J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications33 réparties / 34 Graphe de marquage : sémantique Références De nombreuses références existent : Génie logiciel, Réseaux de Petri, Racloz et Buchs Les réseaux de Petri, Un outil de modélisation, Annie Choquet-Geniet, Dunod... J. Christian Attiogbé (Février 2009, maj 2015)DUT Informatique - Module M-4102C Modélisation et construction des applications34 réparties / 34