1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel.

Slides:



Advertisements
Présentations similaires
Introduction Rétro ingénierie d’interfaces graphiques
Advertisements

Applications N-Tiers Rappels: architecture et méthodologie
Projets Dossier de conception Logiciel
Gabriel Antoniu IRISA / INRIA Rennes
Objets Distribués Chronique d ’une invasion annoncée
Virtualisation dorchestration de services TER Master 1 Infomatique 4 Avril 2008 Encadrant : Philippe Collet.
Cours n° 8 Conception et Programmation à Objets
Object Management Architecture (OMA)
L’architecture .net et ASP.net
Reference Model of Open Distributed Processing
Plan du cours La sérialisation: – comment stocker et restaurer les Objets? Les interfaces graphiques et la programmation évènementielle. –Comment concevoir.
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
C.
Jean-François Deverge, Sébastien Monnet
Parallel Programming in C with MPI and OpenMP
Introduction aux services WEB
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
LOG 02 Bases de Données Avancées Rappels sur JSP / Servlet
Olivier DERUELLE Erwan FOUYER Maxime JOUIN Rodolphe LOUE
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Chaire UNESCO - Calcul numérique intensif
Principes de persistance dans les applications orienté objet
Programmation Approche composants Ing5 SI
Rennes, le 18 septembre 2006 Support du paradigme maître-travailleur dans les applications à base de composants Tâche 2.2 Hinde Bouziane Réunion LEGO.
Projet JAVA EE Approfondi
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Interopérabilité JOnAS - CORBA
SYSTEME DE GESTION DE BASES DE DONNEES
Contribution du projet PARIS Christian Pérez Réunion LEGO LIP, ENS Lyon 10 février 2006.
Structures de données IFT-10541
Intégration ActiveXML - Xyleme
Ecaterina Giacomini Pacurar
Des états Pourquoi toute cette excitation autour des états ? Le traceur nous donne des évènements ponctuels Un état décrit comment se trouve le système.
Types de données abstrait et mécanismes d'encapsulation
Pr ZEGOUR DJAMEL EDDINE Ecole Supérieure dInformatique (ESI) Plate-forme.NET.
Synchronisation Classique
WP2 Modèles de programmation
Patrons de conceptions de créations
LEGO – Rennes, 18 Septembre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de.
Nouvelles de PARIS et État d’avancement des briques Christian Perez – Toulouse – 22 octobre 2008.
Simulation de problèmes couplés d’hydro-géologie :
SGBD orientés Objet Standards : OMG et ODMG.
Travail réalisé par : LATRECHE Imed Eddine MENASRIA Med Lamine
GDS – Paris, 13 Octobre 2006 Un outil de monitoring pour le déploiement dynamique de JuxMem Loïc Cudennec IRISA / INRIA, PARIS project-team Stage de M2RI.
Présentation de CORBA et de IIOP
CORBA Un concept de l ’OMG Mathieu Estival Biomédical, 3°Année.
La Modélisation Orientée Objet Concevoir un programme : modélisation du problème à résoudre Notion de programme : machine de Turing Pouvoir d’expression.
Proposition pour un modèle à grains extrêmement fins David Fauthoux directeur : Jean-Paul Bahsoun IRIT.
Modèles et protocoles de cohérence des données en environnement volatil Grid Data Service IRISA (Rennes), LIP (Lyon) et LIP6 (Paris) Loïc Cudennec Superviseurs.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Mastère Professionnel Systèmes de Communication et Réseaux
Introduction à Visual Studio C++ (VC++)
François CARCENAC,Frédéric BONIOL ONERA-DTIM Zoubir MAMMERI IRIT
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Struts.
Les RPC remote procedure call
Un service de partage de données pour DIET : GDS basé sur JuxMem Mathieu Jan Projet PARIS Lyon, 5 décembre 2003.
Chapitre VII Techniques plus avancées à travers le concept de classe.
L’enseignement de spécialité SLAM
Les Servlets Présentation Cycle de vie Principe de fonctionnement
PaCO++ André Ribes Réunion Hydrogrid Rennes 15/09/03.
1 Un protocole de cohérence des données tolérant aux fautes Jean-Francois Deverge Encadrants : Gabriel Antoniu, Luc Bougé Réunion GDS IRISA – Projet PARIS.
1 Journee gdr COSMAL 27/01/2009 Exécution Distribuée et Agile de Compositions de Services Françoise Baude & Virginie Legrand
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Initiation aux SGBD Frédéric Gava (MCF)
Projet GDS de l’ACI MD Projet PARIS IRISA, Rennes.
Modèle à objets et sérialisation Olivier ChamlaFrançois Chastanet.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Transcription de la présentation:

1 Extension du modèle de composants CORBA avec accès concurrent à des données partagées Travail réalisé par : Landry BREUIL PFE, ISIMA Encadrants : Gabriel ANTONIU Christian PEREZ

2 Besoin Application distribuée avec stockage de données Lire / Écrire Producteur Écrire Lire Calculateur Contrôleur Données Lancer Surveiller Calculateur

3 Plan 1. Concepts utilisés 2. Modélisations possibles 3. Mise en oeuvre

4 Concepts utilisés 1. Concepts CCM JuxMem Proposition d'intégration 2. Modélisations possibles 3. Mise en oeuvre

5 Composant CORBA Réceptacles « uses » Sources d' événements « emits » Puits d' événements « consumes » Facettes « provides » Attributs « attributes » Interface principale du composant CCM : modèle de composants CORBA Schématisation

6 CCM : modèle de composants CORBA Modèle de développement séparation des rôles indépendant du langage Déclaration IDL3 Implémentation / Compilation Assemblage par tierce partie Exécution

7 Producteur Stockage Calculateur Contrôleur CCM : modèle de composants CORBA Application = assemblage de composants

8 Producteur Stockage Calculateur Contrôleur Données CCM : modèle de composants CORBA Application = assemblage de composants ? ? ?

9 Partage de données distribuées sur grilles : JuxMem Interface d'accès / programmation Écrire Allouer JuxMem Données Processus Lire / Écrire Lire Processus

10 Proposition d'intégration Interaction des modèles Allouer JuxMem Données Lire / Écrire Lire Composant AComposant B

11 Rappel du besoin Application distribuée avec stockage de données Lire / Écrire Producteur Écrire Lire Calculateur Contrôleur Données Lancer Surveiller Calculateur

12 Réponse au besoin Intégration entre CCM et JuxMem Lire / Écrire Allouer JuxMem Données Lire Écrire Producteur Calculateur Contrôleur Lancer Surveiller

13 Modélisations possibles 1. Concepts utilisés 2. Modélisations possibles Composant à donnée interne Composant et donnée externe Proposition : un modèle intermédiaire 3. Mise en oeuvre

14 Modélisations possibles Modèle 1 : composant à donnée interne BCA Données interface data_access { boolean set(in octet value, in short offset); octet get(in short offset); void acquire(); void release(); }; component A { uses data_access data_used; }; component B { uses data_access data_used; }; component C { provides data_access data_shared; }; Problème : Peu flexible, centralisé

15 Modélisations possibles Modèle 2 : composant ET données externes BCA Données interface data_access { boolean set(in octet value, in short offset); octet get(in short offset); void acquire(); void release(); }; component A supports data_access {}; component B supports data_access {}; component C supports data_access {}; Problème : Gestion explicite des accès concurrents

16 Modélisations possibles Notre Proposition : modèle intermédiaire B C A Données Extension de l'IDL3 => IDL3+ Type de port orienté données Mots clés «accesses» «shares» Accès via une interface locale Flexible Plutôt décentralisé Equilibrage de charge data_ref

17 Modélisations possibles Architecture en couches Système de gestion de données Données Composant A Composant B Couche d'abstraction de l'accès à la donnée

18 Mise en oeuvre 1. Concepts utilisés 2. Modélisations possibles 3. Mise en oeuvre Exemple IDL3+ Implémentations du modèle intermédiaire Compilation de l'IDL3+

19 Exemple IDL3+ Langage IDL3 étendu typedef Octet data_space[1000]; component A { accesses data_space data_used; }; component B { accesses data_space data_used; }; component C { shares data_space data_shared; }; B C A Données data_ref

20 Implémentation du modèle intermédiaire Fonctionnement interne d'un composant CCM Exécuteur : écrit par le développeur Contexte CCM : généré par le compilateur IDL3 Conteneur CCM : généré par le compilateur IDL3 Object Request Broker

21 Implémentation du modèle intermédiaire Encapsulation de l'exécuteur Au-dessus de CCM Encapsulation Redirection d'appels Transparent / CORBA Référence vers donnée Gestion de données Exécuteur Contexte intermédiaire Conteneur intermédiaire Contexte CCM Conteneur CCM Object Request Broker

22 Implémentation du modèle intermédiaire Diagramme de classes

23 JuxMem Couche d'abstraction de l'accès à la donnée Fichier localNFS id = mkstemp(..); id = open(..); close(..); flock(..); lseek(..); x = read(..); write(val); id = mkstemp(..); id = open(..); close(..); lockf(..); lseek(..); x = read(..); write(val); juxmem_alloc(size); id = juxmem_map(..); juxmem_acquire(..); juxmem_acquireR(..); juxmem_release(..); x = juxmem_read(..); juxmem_write(val); Implémentation du modèle intermédiaire 3 systèmes de gestion de données

24 Compilation IDL3+ Description IDL3+ Compilateur IDL3+ Description IDL3 Code Généré C++ Compilateur IDL3 Compilateur C++ Implémentation C++ Code CCM C++ Binaire Exécutif

25 Conclusion Extension du langage IDL3 en IDL3+ Spécification d'un compilateur Développement de prototypes Définition de scénarios de tests Expérimentation en cours sur Grid’5000 Suite possible projet LEGO (ANR Calcul Intensif)