1 / 50

Adaptabilité des Services Techniques dans le Modèle à Composants .

Adaptabilité des Services Techniques dans le Modèle à Composants. Colombe Hérault LAMIH / ROI / SID Jeudi 23 juin 2005 Soutenance de thèse. Pr A. Freville, directeur N. Bennani, encadrant S. Lecomte, encadrant. Set Top Box. Cartes à puce. Contexte. Fournisseur de contenu. VOIE

chaeli
Download Presentation

Adaptabilité des Services Techniques dans le Modèle à Composants .

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adaptabilité des Services Techniques dans le Modèle à Composants. Colombe Hérault LAMIH / ROI / SID Jeudi 23 juin 2005 Soutenance de thèse Pr A. Freville, directeur N. Bennani, encadrant S. Lecomte, encadrant

  2. Set Top Box Cartes à puce Contexte Fournisseur de contenu VOIE DESCENDANTE Voie descendante • haut débit, constant • partagée par tous les usagers (STB) opérateur Equipements de diffusion Serveurs de communication téléspectateur Serveurs Back Office

  3. Set Top Box Cartes à puce Contexte Fournisseur de contenu VOIE DESCENDANTE Voie descendante • haut débit, constant • partagée par tous les usagers (STB) opérateur Equipements de diffusion Serveurs de communication téléspectateur VOIE MONTANTE Serveurs Back Office Voie montante • Individuelle • Disponibilité non garantie • Débit limité

  4. Plan • Contexte et problématique • Nouvelles applications distribuées • Environnement hétérogène • Modèle à composants – Services Techniques • Etat de l’art et positionnement • Principes de base de l’adaptation des intergiciels • Travaux autour de l’adaptabilité • Propositions • Nouveau modèle de conception et de développement • Mécanisme de gestion de l’adaptation • Conclusion et perspectives

  5. adaptation aux besoins de l’application adaptation à l’environnement dynamique statique en déplacement serveur distant cotes? cotes préparation des paris cotes? cotes validité des paris paris paris ok Exemple de l’application PMU et service transactionnel serveur distant Web de Paris serveur distant PMU serveur distant Paris Turf au domicile begin plate commit plate cotes? cotes? cotes cotes begin ONT begin mobile santé chevaux + cotes + horaires cotes + horaires santé chevaux cotes + horaires santé chevaux commit ONT commit mobile santé chevaux + cotes + horaires

  6. appel de méthode client services techniques bus logiciel bus logiciel transaction persistance sécurité transaction persistance sécurité Apport du modèle à composants Interface requise Interface fournie liaison conteneurs composant composant composant composant

  7. limites de l’adaptabilité des services techniques • POO • objet notoire • code appel enfoui appel de méthode client services techniques bus logiciel bus logiciel transaction persistance sécurité transaction persistance sécurité transaction2 nommage Apport du modèle à composants Interface requise Interface fournie liaison conteneurs composant composant composant composant

  8. plan • Contexte et problématique • Nouvelles applications distribuées • Environnement hétérogène • Modèle à composants – Services Techniques • Etat de l’art et positionnement • Principes de base de l’adaptation des intergiciels • Travaux autour de l’adaptabilité • Propositions • Nouveau modèle de conception et de développement • Mécanisme de gestion de l’adaptation • Conclusion et perspectives

  9. séparation des préoccupations réflexivité conception à base de composants Principes de base de l’adaptationdes intergiciels adaptation intergiciel Figure tirée de [MCK 04] McKinley P. K. « A taxonomy of Compositional Adaptation », juillet 2004

  10. Strategie InterfaceAlgorithme() Patron stratégie [GAMMA 95] strategie Contexte InterfaceContexte() StrategieConcreteA InterfaceAlgorithme() StrategieConcreteB InterfaceAlgorithme() StrategieConcreteC InterfaceAlgorithme() Séparation des préoccupations (SOP) • Principe • une préoccupation principale est dispersée et entrelacée avec plusieurs préoccupations transversales • Apport pour l’adaptabilité • Gestion indépendante des préoccupations transversales • Remplacement dynamique d’une préoccupation • Représentant principal • Programmation Orientée Aspect (AOP) • Technique utilisée en SOP • Patron de Gamma • Patron stratégie

  11. Réflexivité méta-objet niveau méta introspection / réification intercession / réflexion objet application niveau de base

  12. Classification des solutions adaptables • Adaptabilité au niveau de • ORB • Modèles à composants • Applications • Services Techniques Programmation par composants Séparation des Préoccupations (SOP) Solution adaptable Réflexivité Figure inspirée de [F.Duclos]

  13. Classification des solutions adaptables • Adaptabilité au niveau de • ORB • Modèles à composants • Applications • Services Techniques personnalité et réflexivité Programmation par composants Séparation des Préoccupations (SOP) ORB • ORB adaptables • statiquement • TAO, ZEN, CIAO Jonathan CORBA • Par tissage d’aspect • dynamique • AscpectIX Réflexivité • ORB adaptables • Dynamiquement • dynamicTAO, • OpenORB

  14. Classification des solutions adaptables • Adaptabilité au niveau de • ORB • Modèles à composants • Applications • Services Techniques conteneur ouvert Programmation par composants Séparation des Préoccupations (SOP) Modèles à composants • Modèles de composants • sans services techniques: • JavaBeans • COM • Modèles à composants • avec services techniques: • EJB • CCM Réflexivité • Modèle à composants • Avec Conteneurs ouverts: • IST-Coach • Fractal

  15. Classification des solutions adaptables • Adaptabilité au niveau de • ORB • Modèles à composants • Applications • Services Techniques programmation par composants et patron stratégie Programmation par composants Séparation des Préoccupations (SOP) Application • Adaptation statique • CESURE • Adaptation dynamique • Qinna ARCAD Réflexivité ACEEL

  16. Classification des solutions adaptables Patron stratégie Conteneur ouvert Personnalité • Adaptabilité au niveau de • ORB • Modèles à composants • Applications • Services Techniques Programmation par composants Séparation des Préoccupations (SOP) Services Techniques Services techniques des EJB et de CCM Jironde, GoTM Réflexivité • Spécifique à un • service technique: • ArcticBeans • Générique • Nos travaux

  17. plan • Contexte et problématique • Nouvelles applications distribuées • Environnement hétérogène • Modèle à composants – Services Techniques • Etat de l’art et positionnement • Principes de base de l’adaptation des intergiciels • Travaux autour de l’adaptabilité • Propositions • Nouveau modèle de conception et de développement • Mécanisme de gestion de l’adaptation • Conclusion et perspectives

  18. Nouveau modèle de conception et de développement des ST modèle de conception modèle pour services techniques PIM (Platform Independent Model) modèle de conception modèle à composants modèle de conception Fractal modèle à composants Fractal SM (Fractal Specific Model) modèle d’assemblage modèle pour l’assemblage des services techniques et des composants applicatifs Julia SM (Julia Specific Model)

  19. Notion de « Personnalité d’un Service » P1S • un service à plusieurs personnalités • modèle, implantation, version • exemples • transaction : plate, ONT, CNT • annuaire : courtage et nommage • représentation de la qualité de service • pour faire un choix lors de l’adaptation • ensemble de qualités relatives au comportement collectif d’un ou plusieurs objets [ISO/IEC 9126] • fonctionnalité, fiabilité, convivialité, efficacité, facilité de maintenance, portabilité

  20. Notion de « Personnalité d’un Service » P1S QoS P1S fonctionnalité 1 1 fonction 1 modèle fiabilité, efficacité, portabilité N fiabilité, efficacité triplet 1 N nom de variable 1 environnement d’exécution unité de mesure 1 1 ou valeur de variable et opérateur 1 valeur min et max triplet N nom de variable 1 unité de mesure 1 ou valeur de variable et opérateur 1 valeur min et max

  21. Exemple de P1SService de Transactions plates QoS P1S fonctionnalité service transactionnel transaction plate fiabilité, efficacité, portabilité transaction par minute fiabilité, efficacité trans/min =XX environnement d’exécution type application = default utilisation_CPU % min: XX, max: XX fréquence CPU Mhz … = XX

  22. Exemple de P1SService de Transactions ONT QoS P1S fonctionnalité service transactionnel transaction ONT fiabilité, efficacité, portabilité transaction par minute fiabilité, efficacité trans/min =XX environnement d’exécution type application = webservice utilisation_CPU % min: XX, max: XX fréquence CPU Mhz … = XX

  23. Notion de « Lot de Services » L2S L2S N QoS P1S 1 environnement d’exécution N triplet nom de variable 1 unité de mesure 1 ou valeur de variable et opérateur 1 valeur min et max

  24. Exemple de L2Spour application de Webservice L2S QoS P1S fonctionnalité service transactionnel transaction ONT fonctionnalité service de persistance JDO fonctionnalité service de courtage UDDI environnement d’exécution Type application = webservice …

  25. projection sur le modèle Fractal • concepts nécessaires à la programmation par composants • particularités • composants composites et partagés • composants réflexifs → intercession et introspection • hiérarchie de concepts • conteneur ouvert • pas de spécification des services techniques Modèle de conception et de développement : modèle à composants • apport du modèle à composants • modularité • expression des tâches • réutilisation de composants élémentaires entre P1S • interface • expression des P1S • liaisons • assemblage et réutilisation de composants élémentaires

  26. Exemple de conception de la P1S transactions plate interface associée à la P1S P1S trans. plates TM

  27. interfaces associées aux P1S composant implantant une tâche élémentaire réutilisé liaisons TM Exemple de conception de la P1S transactions ONT Compensator СompensationManager CM CDOTable TechnicalService CDOtable P1S trans. plates TransactionManager interpr.flat CDOTableAdd P1S trans. ONT TechnicalService TransactionManagerONT TM ONT interpr.ONT

  28. client Modèle d’assemblage: sous contrôleurs sous-contrôleurs Pre() Post() intercepteur CA Méthode() contrôleur contenu

  29. 2 personnalités du service technique 1 sous-contrôleur du service technique 1 liaison entre les deux sous-contrôleurs CF2 CF1 P1S11 CB1 ST2 CB2 ST1 P1S2 P1S12 interface de call-back du composant applicatif Modèle d’assemblage: sous contrôleurs • associe un ST à un sous-contrôleur • composant de Call-Back intercepteur CA contrôleur contenu

  30. Service transactionnel Comp + comp_débit(s) compt_crédit(s) ONT plate Service transactionnel Comp simple comp_débit(s) compt_crédit(s) Exemple d’assemblage composant bancaire / service transaction CF Compte bancaire débit(s) crédit(s)

  31. Gestion de l’adaptation service de gestion coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  32. Gestion de l’adaptation service de gestion coordinateur • Caractéristiques physiques de la machine • Alimentation • Stockage • CPU • Réseau • Lecteur • Interface H/M • Ressources logicielles • Bus logiciel, JRE • Localisation de la machine • Pays, ville, localisation GPS <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  33. Profil requis par le composant applicatif Profil fourni par le service technique Profil requis par le service technique Profil fourni par l’environnement fourni par le développeur de composant applicatif =P1S fourni par le développeur de ST fourni dynamiquement par le moniteur Gestion de l’adaptation service de gestion coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  34. Gestion de l’adaptation service de gestion coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  35. contrat Gestion de l’adaptation coordinateur moniteur annuaire niveau méta niveau de base P1S plate environ nement CA service transactionnel environnement d’exécution Requête export Requête export besoin appli P1S ONT P1S plate P1S ONT service transactionnel

  36. Requête import contrat besoin appli environ nement Gestion de l’adaptation coordinateur environ nement besoin appli moniteur annuaire P1S plate P1S ONT P1S ONT niveau méta niveau de base P1S plate CA service transactionnel environnement d’exécution P1S ONT service transactionnel

  37. moniteur filtre synthèse filtre filtre capteurs Gestion de l’adaptation service de gestion coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  38. Gestion de l’adaptation service de gestion coordinateur Coordinateur • cohérence entre les composants • usine de contrat • permet d’enregistrer les nouvelles applications • fournit une référence sur le moniteur et l’annuaire • diffusion des informations du moniteur aux contrats • filtre • aiguilleur <gère <notifie interroge> contrat moniteur annuaire action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  39. Décomposeur de requêtes Annuaire générique de composants répartiteur analyseur syntaxique service de nommage service de courtage Processeur de requêtes service de requêtes service de décision Gestion de l’adaptation service de gestion • annuaire de courtage sémantique • expression des préférences coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  40. Requête export P1S plate Décomposeur de requêtes Annuaire générique de composants répartiteur analyseur syntaxique service de nommage service de courtage Processeur de requêtes service de requêtes service de décision Gestion de l’adaptation service de gestion • annuaire de courtage sémantique • Expression des préférences coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base P1S plate composant applicatif service technique environnement d’exécution

  41. Requête import besoin appli environ nement Décomposeur de requêtes Annuaire générique de composants P1S plate P1S plate répartiteur analyseur syntaxique P1S ONT P1S ONT service de nommage sous-requête 1 besoin appli service de courtage Processeur de requêtes service de requêtes environ nement service de décision Gestion de l’adaptation service de gestion • annuaire de courtage sémantique • Expression des préférences coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base P1S mobile composant applicatif service technique environnement d’exécution

  42. Requête import besoin appli environ nement Décomposeur de requêtes Annuaire générique de composants P1S plate P1S plate répartiteur analyseur syntaxique P1S ONT P1S ONT service de nommage Sous-requête 2 service de courtage Processeur de requêtes service de requêtes service de décision Gestion de l’adaptation service de gestion • annuaire de courtage sémantique • Expression des préférences coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base P1S mobile composant applicatif service technique environnement d’exécution

  43. Requête import besoin appli environ nement Décomposeur de requêtes Annuaire générique de composants P1S plate répartiteur analyseur syntaxique P1S ONT service de nommage service de courtage Processeur de requêtes service de requêtes Sous-requête 2 service de décision P1S ONT Gestion de l’adaptation service de gestion • annuaire de courtage sémantique • Expression des préférences coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base P1S mobile composant applicatif service technique environnement d’exécution P1S plate

  44. Gestion de l’adaptation service de gestion coordinateur <gère <notifie interroge> contrat moniteur annuaire représentation action représentation niveau méta niveau de base composant applicatif service technique environnement d’exécution

  45. Prototype • Faisabilité • service Transactionnel ONT • modèle à composants vs modèle objets → + 0,14% • appel au ST par conteneur → + 0,02% • service de gestion • adaptation d’un service = 96 msec + temps Moniteur • sous-contrôleur objet → ajout statique • annuaire avec 4 types, 2 patrons, 20 personnalités • coordinateur simple • PC Pentium 4 / 1,5 GHz / Win2000 • Implantation • contrat et service de gestion • composition • 17 composants composites, 54 composants primitifs • 97 + (2*nb de contrats) liaisons • code • 83 classes et 44 interfaces java, • 10 fichiers FractalADL • moniteur • Windows, PalmOS, WinCE • 7 fichiers C++

  46. Plan • Contexte et problématique • Nouvelles applications distribuées • Environnement hétérogène • Modèle à composants – Services Techniques • Etat de l’art et positionnement • Principes de base de l’adaptation des intergiciels • Travaux autour de l’adaptabilité • Propositions • Nouveau modèle de conception et de développement • Mécanisme de gestion de l’adaptation • Conclusion et perspectives

  47. Annuaire générique de composants nommage courtage Conclusion • Cadre de conception et de développement des ST • conception de ST à base de composants • Fractal • P1S et L2S • redéfinition de l’assemblage • Mécanisme de gestion dynamique de l’adaptation • prise en compte • de l’environnement d’exécution • des besoins de l’application • réflexivité • Contrat, Moniteur, Annuaire, Coordinateur • Prototype • conception et développement • service transactionnel • gros grain • service d’annuaire • fin grain • service de gestion de l’adaptation • faisabilité • étendre les tests

  48. Perspectives à court terme • Assurer la continuité dans le changement de P1S • composant de « contexte » • Outils pour développeur • de l’application • déterminer les besoins applicatifs • des services techniques • préciser la P1S • aide au découpage du service

  49. Perspectives à long terme • Définition QoS d’un assemblage de composants • prendre en compte • composition, interactions, distribution • portée du contrat • niveau de contrat • syntaxique, comportemental, synchronisation, QoS • Adaptation au sein d’un service technique • granularité de découpage d’un service technique • le niveau d’adaptabilité • les performances • représentation dynamique d’une application • ADL insuffisant • besoin de suivre l’évolution dynamique

More Related