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 Fournisseur de contenu opérateur Equipements de diffusion Serveurs de communication Serveurs Back Office téléspectateur Set Top Box Cartes à puce VOIE DESCENDANTE Voie descendante haut débit, constant partagée par tous les usagers (STB) Contexte
3 Voie montante Individuelle Disponibilité non garantie Débit limité Fournisseur de contenu opérateur Equipements de diffusion Serveurs de communication Serveurs Back Office téléspectateur Set Top Box Cartes à puce VOIE MONTANTE VOIE DESCENDANTE Voie descendante haut débit, constant partagée par tous les usagers (STB) Contexte
4 Plan Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques Etat de lart et positionnement Principes de base de ladaptation des intergiciels Travaux autour de ladaptabilité Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de ladaptation Conclusion et perspectives
5 Exemple de lapplication PMU et service transactionnel serveur distant Paris Turf au domicile serveur distant PMU serveur distant Web de Paris cotes? cotes cotes + horaires santé chevaux cotes + horaires santé chevaux + cotes + horaires santé chevaux santé chevaux + cotes + horaires begin ONT commi t ONT begin plate commi t plate adaptation aux besoins de lapplicationadaptation à lenvironnement en déplacementserveur distant cotes? préparation des paris validité des paris paris cotes cotes? paris ok cotes begin mobile commi t mobile dynamiquestatique
6 Apport du modèle à composants composant conteneurs appel de méthode client Interface fournie Interface requise liaison services techniques transactionsécuritépersistancetransactionsécuritépersistance bus logiciel
7 Apport du modèle à composants composant conteneurs appel de méthode client Interface fournie Interface requise liaison services techniques transactionsécuritépersistancetransactionsécuritépersistance bus logiciel transaction2 nommage limites de ladaptabilité des services techniques POO objet notoire code appel enfoui
8 plan Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques Etat de lart et positionnement Principes de base de ladaptation des intergiciels Travaux autour de ladaptabilité Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de ladaptation Conclusion et perspectives
9 séparation des préoccupations réflexivité conception à base de composants adaptation intergiciel Figure tirée de [MCK 04] McKinley P. K. « A taxonomy of Compositional Adaptation », juillet 2004 Principes de base de ladaptation des intergiciels
10 Séparation des préoccupations (SOP) Principe une préoccupation principale est dispersée et entrelacée avec plusieurs préoccupations transversales Apport pour ladaptabilité Gestion indépendante des préoccupations transversales Remplacement dynamique dune préoccupation Représentant principal Programmation Orientée Aspect (AOP) Technique utilisée en SOP Patron de Gamma Patron stratégie Patron stratégie [GAMMA 95] Contexte InterfaceContexte() Strategie InterfaceAlgorithme() StrategieConcreteA InterfaceAlgorithme() StrategieConcreteB InterfaceAlgorithme() StrategieConcreteC InterfaceAlgorithme() strategie
11 introspection / réificationintercession / réflexion niveau de base objet application méta-objet niveau méta Réflexivité
12 Classification des solutions adaptables Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques Figure inspirée de [F.Duclos] Solution adaptable Séparation des Préoccupations (SOP) Réflexivité Programmation par composants
13 Séparation des Préoccupations (SOP) Réflexivité Programmation par composants ORB ORB adaptables statiquement TAO, ZEN, CIAO Jonathan CORBA ORB adaptables Dynamiquement dynamicTAO, OpenORB Par tissage daspect dynamique AscpectIX Classification des solutions adaptables Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques personnalité et réflexivité
14 Séparation des Préoccupations (SOP) Réflexivité Programmation par composants Classification des solutions adaptables Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques Modèles à composants Modèles de composants sans services techniques: JavaBeans COM Modèles à composants avec services techniques: EJB CCM Modèle à composants Avec Conteneurs ouverts: IST-Coach Fractal conteneur ouvert
15 Séparation des Préoccupations (SOP) Réflexivité Programmation par composants Application Classification des solutions adaptables Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques programmation par composants et patron stratégie Adaptation statique CESURE ACEEL ARCAD Adaptation dynamique Qinna
16 Séparation des Préoccupations (SOP) Réflexivité Programmation par composants Services Techniques Services techniques des EJB et de CCM Classification des solutions adaptables Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques Jironde, GoTM Générique Nos travaux Spécifique à un service technique: ArcticBeans Patron stratégie Conteneur ouvert Personnalité
17 plan Contexte et problématique Nouvelles applications distribuées Environnement hétérogène Modèle à composants – Services Techniques Etat de lart et positionnement Principes de base de ladaptation des intergiciels Travaux autour de ladaptabilité Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de ladaptation Conclusion et perspectives
18 modèle de conception modèle pour services techniques modèle de conception modèle à composants modèle de conception Fractal modèle à composants modèle dassemblage modèle pour lassemblage des services techniques et des composants applicatifs PIM (Platform Independent Model) Fractal SM (Fractal Specific Model) Julia SM (Julia Specific Model) Nouveau modèle de conception et de développement des ST
19 Notion de « Personnalité dun 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 ladaptation ensemble de qualités relatives au comportement collectif dun ou plusieurs objets [ISO/IEC 9126] fonctionnalité, fiabilité, convivialité, efficacité, facilité de maintenance, portabilité
20 QoS P1S fonctionnalité fiabilité, efficacité, portabilité fonction modèle fiabilité, efficacité environnement dexécution N triplet nom de variable unité de mesure ou valeur min et max valeur de variable et opérateur N Notion de « Personnalité dun Service » P1S triplet nom de variable unité de mesure ou valeur min et max valeur de variable et opérateur N
21 QoS P1S fonctionnalité fiabilité, efficacité, portabilité service transactionnel transaction plate fiabilité, efficacité environnement dexécution Exemple de P1S Service de Transactions plates type application = default utilisation_CPU % min: XX, max: XX transaction par minute trans/min = XX fréquence CPU Mhz = XX …
22 QoS P1S fonctionnalité fiabilité, efficacité, portabilité service transactionnel transaction ONT fiabilité, efficacité environnement dexécution Exemple de P1S Service de Transactions ONT type application = webservice utilisation_CPU % min: XX, max: XX transaction par minute trans/min = XX fréquence CPU Mhz = XX …
23 Notion de « Lot de Services » L2S L2S QoS P1S N environnement dexécution N 1 triplet nom de variable unité de mesure ou valeur min et max valeur de variable et opérateur 1 1 1
24 Exemple de L2S pour application de Webservice L2S environnement dexécution QoS P1S fonctionnalité service transactionnel transaction ONT fonctionnalité service de persistance JDO Type application = webservice fonctionnalité service de courtage UDDI …
25 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 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
26 Exemple de conception de la P1S transactions plate TM P1S trans. plates interface associée à la P1S
27 Exemple de conception de la P1S transactions ONT CDO table CM interpr. ONT interpr. flat Technical Service Transaction Manager Transaction ManagerONT Technical Service Сompensation Manager Compensator CDOTable CDOTable Add P1S trans. plates P1S trans. ONT interfaces associées aux P1S composant implantant une tâche élémentaire réutilisé liaisons TM ONT
28 intercepteur contenucontrôleur Modèle dassemblage: sous contrôleurs CA sous-contrôleurs client Méthode() Pre()Post()
29 intercepteur contenucontrôleur Modèle dassemblage: sous contrôleurs CA associe un ST à un sous-contrôleur composant de Call-Back ST2 CB2 CF2 P1S2 liaison entre les deux sous-contrôleurs interface de call-back du composant applicatif P1S11 CF1 CB1 P1S12 sous-contrôleur du service technique 1 2 personnalités du service technique 1 ST1
30 Compte bancaire débit(s) crédit(s) Exemple dassemblage composant bancaire / service transaction Comp simple comp_débit(s) compt_crédit(s) plate Service transactionnel CF Comp + comp_débit(s) compt_crédit(s) Service transactionnel ONT
31 service technique niveau méta niveau de base service de gestion composant applicatif représentation action représentation moniteur <gère<notifie coordinateur interroge> annuaire contrat Gestion de ladaptation environnement dexécution
32 service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> annuaire contrat environnement dexécution 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
33 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation Profil fourni par lenvironnement Profil requis par le service technique Profil requis par le composant applicatif Profil fourni par le service technique fourni dynamiquement par le moniteur =P1S fourni par le développeur de ST fourni par le développeur de composant applicatif service de gestion action représentation moniteur <gère<notifie coordinateur interroge> annuaire contrat
34 environnement dexécution service technique niveau méta niveau de base service de gestion composant applicatif représentation action représentation moniteur <gère<notifie coordinateur interroge> annuaire contrat Gestion de ladaptation
35 environnement dexécution service transactionnel niveau méta niveau de base CA Gestion de ladaptation moniteur coordinateur annuaire contrat besoin appli environ nement service transactionnel P1S ONT P1S plate Requête export P1S plate Requête export P1S ONT
36 environnement dexécution niveau méta niveau de base CA Gestion de ladaptation moniteur coordinateur annuaire contrat P1S plate P1S ONT besoin appli environ nement Requête import besoin appli environ nement P1S ONT service transactionnel service transactionnel P1S ONT P1S plate
37 représentation environnement dexécution service technique niveau méta niveau de base composant applicatif Gestion de ladaptation service de gestion action représentation <gère<notifie coordinateur interroge> annuaire contratmoniteur filtresynthèsefiltre capteurs
38 environnement dexécution service technique niveau méta niveau de base composant applicatif Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie interroge> annuaire contrat coordinateur Coordinateur cohérence entre les composants usine de contrat permet denregistrer les nouvelles applications fournit une référence sur le moniteur et lannuaire diffusion des informations du moniteur aux contrats filtre aiguilleur
39 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> contrat annuaire annuaire de courtage sémantique expression des préférences Décomposeur de requêtesAnnuaire générique de composants service de nommage Processeur de requêtes service de décision répartiteur service de courtage service de requêtes analyseur syntaxique
40 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> contrat annuaire annuaire de courtage sémantique Expression des préférences Décomposeur de requêtesAnnuaire générique de composants service de nommage Processeur de requêtes service de décision répartiteur service de courtage service de requêtes analyseur syntaxique Requête export P1S plate P1S plate
41 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> contrat annuaire annuaire de courtage sémantique Expression des préférences Décomposeur de requêtesAnnuaire générique de composants service de nommage Processeur de requêtes service de décision répartiteur service de courtage service de requêtes analyseur syntaxique Requête import besoin appli environ nement P1S mobile P1S ONT P1S plate sous-requête 1 besoin appli environ nement P1S ONT P1S plate
42 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> contrat annuaire annuaire de courtage sémantique Expression des préférences Décomposeur de requêtesAnnuaire générique de composants service de nommage Processeur de requêtes service de décision répartiteur service de courtage service de requêtes analyseur syntaxique P1S mobile Requête import besoin appli environ nement Sous-requête 2 P1S ONT P1S plate P1S ONT P1S plate
43 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> contrat annuaire annuaire de courtage sémantique Expression des préférences Décomposeur de requêtesAnnuaire générique de composants service de nommage Processeur de requêtes service de décision répartiteur service de courtage service de requêtes analyseur syntaxique Requête import besoin appli environ nement P1S mobile Sous-requête 2 P1S ONT P1S plate P1S ONT P1S plate
44 environnement dexécution service technique niveau méta niveau de base composant applicatif représentation Gestion de ladaptation service de gestion action représentation moniteur <gère<notifie coordinateur interroge> contrat annuaire
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 dun 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 lart et positionnement Principes de base de ladaptation des intergiciels Travaux autour de ladaptabilité Propositions Nouveau modèle de conception et de développement Mécanisme de gestion de ladaptation Conclusion et perspectives
47 Conclusion Cadre de conception et de développement des ST conception de ST à base de composants Fractal P1S et L2S redéfinition de lassemblage Mécanisme de gestion dynamique de ladaptation prise en compte de lenvironnement dexécution des besoins de lapplication réflexivité Contrat, Moniteur, Annuaire, Coordinateur Prototype conception et développement service transactionnel gros grain service dannuaire fin grain service de gestion de ladaptation faisabilité étendre les tests nommage courtage Annuaire générique de composants
48 Perspectives à court terme Assurer la continuité dans le changement de P1S composant de « contexte » Outils pour développeur de lapplication 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 dun assemblage de composants prendre en compte composition, interactions, distribution portée du contrat niveau de contrat syntaxique, comportemental, synchronisation, QoS Adaptation au sein dun service technique granularité de découpage dun service technique le niveau dadaptabilité les performances représentation dynamique dune application ADL insuffisant besoin de suivre lévolution dynamique
50