Travaux Dirigés n 1 Ingénierie des protocoles - Réseaux de Petri Correction. Question 1. Modélisation dʼun atelier de fabrication

Documents pareils
Nom de l application

Continuité en un point

TP1 Méthodes de Monte Carlo et techniques de réduction de variance, application au pricing d options

Limites finies en un point

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

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

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Image d un intervalle par une fonction continue

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Apprendre la Programmation Orientée Objet avec le langage Java (avec exercices pratiques et corrigés)

M1 : Ingénierie du Logiciel

Peut-on imiter le hasard?

RAPPORT DE CONCEPTION UML :

Conception des systèmes répartis

Cours Fonctions de deux variables

L exclusion mutuelle distribuée

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

Structurer ses données : les tableaux. Introduction à la programmation

Le produit semi-direct

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

UML Diagramme de communication (communication diagram) Emmanuel Pichon 2013

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Probabilités sur un univers fini

Business Process Execution Language

SECTION 5 BANQUE DE PROJETS

P s a sep e o p r o t S e S r e vi v ce c s Fabrice Dubost

Rappel sur les bases de données

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

Problèmes liés à la concurrence

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

UML (Paquetage) Unified Modeling Language

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Master MIDO 2ème année. Spécification et Conception en UML Maude Manouvrier

Simulation d application des règles CNAV AGIRC ARRCO sur des carrières type de fonctionnaires d Etat

EXAMEN CRITIQUE D UN DOSSIER TECHNIQUE

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

Master CCI. Compétences Complémentaires en Informatique. Livret de l étudiant

Yphise optimise en Coût Valeur Risque l informatique d entreprise

Probabilités sur un univers fini

Fiche Technique Windows Azure

Projet Active Object

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Les indices à surplus constant

Structure typique d un protocole de recherche. Préparé par Johanne Desrosiers dans le cadre d une formation au réseau FORMSAV

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

Entraînement, consolidation, structuration... Que mettre derrière ces expressions?

Workflow et Service Oriented Architecture (SOA)

Mise en œuvre d une Gateway HTTP/HTTPS avec un serveur de Présentation en DMZ

GOL-502 Industrie de services. Travaux Pratique / Devoir #7

Chapitre 2 Le problème de l unicité des solutions

SIMULATION ORIENTEE EVENEMENTS DES MODELES HYBRIDES

# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>

Probabilité. Table des matières. 1 Loi de probabilité Conditions préalables Définitions Loi équirépartie...

Format de l avis d efficience

I. Cas de l équiprobabilité

Sauvegarde des bases SQL Express

Le service FTP. M.BOUABID, Page 1 sur 5

DOCUMENT DE TRAVAIL DES SERVICES DE LA COMMISSION RÉSUMÉ DE L'ANALYSE D'IMPACT. accompagnant le document:

Fibonacci et les paquerettes

Construction d un cercle tangent à deux cercles donnés.

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Indications pour une progression au CM1 et au CM2

Risques et dispositifs médicaux. «Responsabilités encourues» Isabelle Lucas-Baloup. 12, 13 et 14 octobre 2010

Excel Avancé. Plan. Outils de résolution. Interactivité dans les feuilles. Outils de simulation. La valeur cible Le solveur

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

Bac Blanc Terminale ES - Février 2011 Épreuve de Mathématiques (durée 3 heures)

UML et les Bases de Données

Sciences de Gestion Spécialité : SYSTÈMES D INFORMATION DE GESTION

CHAPITRE V SYSTEMES DIFFERENTIELS LINEAIRES A COEFFICIENTS CONSTANTS DU PREMIER ORDRE. EQUATIONS DIFFERENTIELLES.

Exo7. Probabilité conditionnelle. Exercices : Martine Quinio

Chapitre 5 : Flot maximal dans un graphe

Définition, typologie et méthodologie d évaluation des avantages immatériels dans le cadre du service universel postal

De nouveaux indicateurs pour suivre la construction de logements

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

Formation aux écrits professionnels

Méthodes d évolution de modèle produit dans les systèmes du type PLM

DEMANDE DE VISA TOURISME/ (VISITE FAMILIALE/OU AMICALE)

Modélisation et Simulation

CIE 1 : Mise en service d un PC, y compris le domaine de la sécurité informatique :

Introduction au temps réel

Tests de sensibilité des projections aux hypothèses démographiques et économiques : variantes de chômage et de solde migratoire

L ANALYSE COUT-EFFICACITE

Ordonnancement temps réel

Chapitre 3. Les distributions à deux variables

Types de REA produites dans le cadre de la séquence pédagogique

Relation d ordre. Manipulation des relations d ordre. Lycée Pierre de Fermat 2012/2013 Feuille d exercices

Optimisation for Cloud Computing and Big Data

CYCLE 3D. Certification RNCP "Lead Infographiste 2D/3D" Niveau II - Bac +3

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

Projet : Ecole Compétences Entreprise ECONOMIE TECHNICIEN/TECHNICIENNE EN COMPTABILITE

Multichronomètre SA10 Présentation générale

T2- COMMENT PASSER DE LA VITESSE DES ROUES A CELLE DE LA VOITURE? L E T U N I N G

CHARTE DE L ING. Code relatif à l utilisation de coordonnées électroniques à des fins de prospection directe

BONUS MALUS. Voici, la façon de calculer la prime : Le montant de la prime à acquitter est égale à : P = PB. C où : P

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

INTRODUCTION A LA MACROECONOMIE Séance de travaux dirigés n 4 Construction des comptes de secteur

Les dangers de l électricité

Transcription:

2 ème année TR ENSEEIHT Travaux Dirigés n 1 Ingénierie des protocoles - Réseaux de Petri Correction Question 1. Modélisation dʼun atelier de fabrication Question 1.1. Modélisation dʼune machine de fabrication simple Considérons une première analyse du système selon une approche à la UML. Le diagramme des cas d utilisation ci-dessous donne l ensemble des s externes du système ainsi que les interactions. produi ordonnateur récepteur Toutefois, cette figure n aide par à préciser le mode des interactions entre les deux s et la machine : est-ce une communication synchrone, du type rendez-vous, ou asynchrone? Pour répondre à cette question, il est nécessaire d imaginer plusieurs scénarios. La machine est décomposée, selon l énoncé, en deux machines organisées en pipe-line : une machine d exécution et une machine d envoi. On peut alors décrire l ensemble des scénarios par des diagrammes de séquences. Trois scénarios sont envisageables : 1 er scénario : ordonnateur envoi_ d'exécution fin_exec Idle_exec Idle_exec Exec début_exec fin_envoi d'envoi Idle_envoi Envoi Idle_envoi début_envoi produit_délivré récepteur réception_produit Ce premier scénario montre les états et les événements présents dans le système. Les états Idle_exec, Exec, Idle_envoi et Envoi deviendront des places, tandis que les événements envoi_, début_exec, fin_exec réception_produit deviendront des transitions. Toutefois, ce premier scénario n indique toujours pas le besoin en synchronisation entre les différentes parties du système. Ce besoin apparaît avec les deux scénarios suivants. Page 1 sur 8 2005-2006

2 ème scénario : arrivée d un alors que la machine d exécution travaille ordonnateur d'exécution d'envoi produit_délivré produit _délivré récepteur nécessité de "stoker" le second reçu => analogue à une communication asynchrone Ce second scénario montre que la communication entre l ordonnateur et la machine d exécution nécessite une place pour stocker les s (qui seront donc modélisés comme des jetons) en attendant leur traitement par la machine. 3 ème scénario : sortie d un produit à envoyer alors que la machine d envoi travaille ordonnateur d'exécution d'envoi produit_délivré produit _délivré récepteur nécessité de "stoker" le second produit avant son envoi => analogue à une communication asynchrone Ce troisième scénario montre que la communication entre la machine d exécution et la machine d envoi nécessite une place pour stocker les produits à envoyer (qui seront donc modélisés comme des jetons) en attendant leur traitement par la machine d envoi. De même on fera l hypothèse que la communication entre la machine d envoi et l récepteur est asynchrone. Les produits délivrés seront stockés dans une place avant réception effective (événement réception_produit) par l récepteur. Modélisation de l «ordonnateur» : L «ordonnateur» se contente, d après ces trois scénarios, d envoyer un indépendamment de l état des machines. Cet est stocké en attendant son traitement par la machine. Ce comportement peut être modélisé par le RdP suivant : envoi_ P_Ordres Page 2 sur 8 2008-2009

La place P_Ordres contiendra autant de jetons que d s émis et en attente de traitement. Cette place assurera la communication de type asynchrone entre l ordonnateur et la machine d exécution identifiée par le deuxième scénario. L envoi d un est modélisé par le tir de la transition «envoi_», transition qui n a aucune précondition, et qui peut donc être tirée à tout moment. Modélisation de la machine d exécution : Un modèle simple de cette machine est donné par le RdP suivant : P_Ordres P_Idle_exec début_exec P_Exec fin_exec P_ Cette machine, selon ce modèle, a deux états : idle et en exécution. Ces deux états correspondent aux deux places P_Idle_exec et P_Exec. On retrouve les deux états identifiés sur le digramme de séquence du premier scénario. La fin d une exécution provoque la production d un produit à envoyer, modélisé par un jeton dans la place «P_». Cette dernière place assurera la communication de type asynchrone entre les machines d exécution et d envoi identifiée par le troisième scénario. Modélisation de la machine d envoi : La machine d envoi est similaire à la machine d exécution : P_ P_Idle_envoi début_envoi P_Envoi fin_envoi P_produit_délivré Cette machine a deux états : idle et en envoi. Elle passe d idle à envoi sur réception d un produit à envoyer. Enfin, la fin de l envoi provoque la production d un «produit_délivré» modélisé par la production d un jeton dans la place P_produit_délivré. Cette dernière place assurera la communication de type asynchrone entre la machine d envoi et l récepteur. Modélisation de l «récepteur» : L «récepteur» se contente, d après ces trois scénarios, d attendre et consommer les «produits» les uns après les autres dès que ceux-ci sont délivrés. Ce comportement peut être modélisé par le RdP suivant : Page 3 sur 8 2008-2009

P_produit_délivré réception_produit Modélisation du système global : Les communications entre les différents s et machines étant asynchrones, le modèle global est construit en fusionnant les places de même nom. Ce qui donne le modèle RdP suivant : envoi_ P_Ordres P_Idle_exec début_exec P_Exec fin_exec P_ P_Idle_envoi début_envoi P_Envoi fin_envoi P_produit_délivré réception_produit Il apparaît clairement que la place «P_s» n est pas bornée. De même, les places «P_» et «P_produit_délivré» ne sont pas bornées (il est facile de construire un marquage M1 tel que M1(P_Idle_exec)=1, M1(P_Idle_envoi)=1, M1(P_)=1 et M1(P_produit_délivré)=1 et M1(p)=0 pour toutes les autres places p. Ce marquage est strictement supérieur au marquage initial, en particulier pour les places «P_» et «P_produit_délivré», ce qui montre que ces places ne sont pas bornées. Ce caractère non borné traduit une incorrection dans la modélisation. Pour corriger ce problème, il est nécessaire d introduire une capacité maximale pour ces places, capacités notées respectivement k1, k2 et k3, et introduire un mécanisme interdisant la production d un, d un produit prêt à être envoyé, et d un produit délivré, lorsque ces capacités sont respectivement atteintes. Un tel mécanisme peut être modélisé par l ajout de places supplémentaires caractérisant les «cases» libres pouvant stocker des s, des produits prêts à êtres envoyés, et des produits délivrés. Le modèle global est donné par le RdP suivant : Page 4 sur 8 2008-2009

P1_cases_libres (initialement, k1 jetons) envoi_ P_Ordres début_exec P_Idle_exec P_Exec P2_cases_libres (initialement, k2 jetons) fin_exec P_ début_envoi P_Idle_envoi P_Envoi P3_cases_libres fin_envoi (initialement, k3 jetons) P_produit_délivré réception_produit Selon ce nouveau modèle, l ordonnateur ne peut envoyer un que s il y a encore au moins un jeton dans la place P1_cases-libres, c est-à-dire s il y a encore un espace pour stocker cet. De même pour la production d un produit prêt à être envoyé et d un produit délivré. Il est facile de voir que les couples de places («P1_cases_libres», «P_s»), («P2_cases_libres», «P_») et («P3_cases_libres», «P_produit_délivré») forme chacun des composantes conservatives positives. Le nombre de jetons contenus dans ces places est donc borné, et cette borne est donnée par le marquage initial : le nombre maximum de jetons dans P_s est k1 le nombre maximum de jetons dans P_ est k2 le nombre maximum de jetons dans P_produit_délivré est k3 Question 1.2. Modélisation dʼun atelier de fabrication On suppose que les machines sont maintenant atomiques. Nous ne modéliserons donc plus à ce niveau le fonctionnement interne de chaque machine comme dans la question précédente, mais nous nous concentrerons en revanche sur le fonctionnement global de l atelier. La première étape de l atelier est composée de la machine M1 avec les deux opérateurs F1 et F2. A ce niveau, M1, F1 et F2 peuvent être modélisés comme des sémaphores, c est-à-dire des ressources libres ou utilisées. Cette étape peut être modélisée par le RdP suivant : Page 5 sur 8 2008-2009

P_F1 début_exec_m1f1 P_F1M1 fin_exec_m1f1 envoi_ P_M1 P_s_M1 P_F2M1 P_s_M2ouM3 début_exec_m1f2 fin_exec_m1f2 P_F2 L envoi d un provoque la production d un jeton dans la place P_s_M1 (notons que là encore nous avons fait le choix d une communication asynchrone entre l atelier et l ordonnateur externe). Ensuite, si la machine M1 est libre (un jeton dans P_M1) et si l opérateur F1 (resp. F2) est libre (un jeton dans P_F1 (resp. dans P_F2)), alors la transition début_exec_m1f1 est franchissable, ce qui conduit à occuper M1 et F1 (resp. F2) (on retire le jeton dans P_M1 et P_F1 (resp. P_F2)), et produire un jeton dans P_M1F1 (resp. P_M1F2). En fin d exécution, on rend à nouveau disponible la machine et l opérateur en remettant un jeton dans les places respectives, puis on produit un vers la seconde étape de l atelier (un jeton dans P_s_M2ouM3). La seconde étape est à peu près similaire à la seconde, à ceci près qu elle met en jeu deux machines M2 (opérateur F1) et M3 (opérateur F3). La encore F1, F2, M2 et M3 sont vus comme des sémaphores : P_F1 début_exec_m2f1 P_F1M2 fin_exec_m2f1 P_M2 envoi_produit P_s_M2ouM3 P_M3 P_produits début_exec_m3f2 P_F2M3 fin_exec_m3f2 P_F2 Il est clair que les places «P_s_M1», «P_s_M2ouM3» et «P_produits» ne sont pas bornées. Par corriger ce problème on applique la même méthode que dans la question précédente. Page 6 sur 8 2008-2009

Question 2. Protocole Producteur - Consommateur Question 2.1. Médium = buffer à une case Modèle du producteur : P_Idle_prod activation_prod P_Init_prod P_messages_à_émettre (initialement, N jetons) fin_init_prod P_prêt_à_émettre émission_prod P_médium_libre P_médium_occupé_message P_messages_émis N P_médium_occupé_déconnexion déconnexion_prod P_Off_prod Modèle du consommateur : Page 7 sur 8 2008-2009

P_Idle_cons activation_cons P_Init_cons fin_init_cons P_prêt_à_consommer P_médium_occupé_message consommation P_traitement_cons fin_traitement_cons P_médium_libre déconnexion_cons P_Off_cons P_médium_occupé_déconnexion Page 8 sur 8 2008-2009