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

50
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

description

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 - PowerPoint PPT Presentation

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

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

1

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

Colombe HéraultLAMIH / ROI / SID

Jeudi 23 juin 2005Soutenance de thèse

Pr A. Freville, directeur N. Bennani, encadrantS. Lecomte, encadrant

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

2

Fournisseurde contenu

opérateur

Equipements de diffusion

Serveurs decommunication

Serveurs Back Office

téléspectateur

Set Top Box

Cartes à puce

VOIEDESCENDANTE

Voie descendante•haut débit, constant•partagée par tous les usagers (STB)

Contexte

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

3

Voie montante• Individuelle • Disponibilité non garantie• Débit limité

Fournisseurde contenu

opérateur

Equipements de diffusion

Serveurs decommunication

Serveurs Back Office

téléspectateur

Set Top Box

Cartes à puce

VOIE MONTANTE

VOIEDESCENDANTE

Voie descendante•haut débit, constant•partagée par tous les usagers (STB)

Contexte

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

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

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

5

Exemple de l’application PMU et service transactionnel

serveur distantParis Turfau domicile

serveur distant PMU

serveur distantWeb de Paris

cotes? cotes?

cotescotes

cotes + horaires

santé chevaux

cotes + horaires

santé chevaux + cotes + horaires

santé chevaux

santé chevaux + cotes + horaires

beginONT

commit

ONT

beginplate

commit

plate

adaptation aux besoins de l’application adaptation à l’environnement

en déplacement serveur distant

cotes?

préparationdes paris

validitédes paris

paris

cotes

cotes?

paris ok

cotes

beginmobile

commit

mobile

dynamique statique

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

6

Apport du modèle à composants

composantcomposant

composant

composant

conteneurs

appel de

méthodeclient

Interface fournie Interface requise liaison

servicestechniques

transaction sécuritépersistance transaction sécuritépersistance

bus logiciel bus logiciel

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

7

Apport du modèle à composants

composantcomposant

composant

composant

conteneurs

appel de

méthodeclient

Interface fournie Interface requise liaison

servicestechniques

transaction sécuritépersistance transaction sécuritépersistance

bus logiciel bus logiciel

transaction2

• limites de l’adaptabilité des services techniques• POO• objet notoire• code appel enfoui

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

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

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

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 l’adaptationdes intergiciels

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

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 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

Patron stratégie [GAMMA 95]

Contexte

InterfaceContexte()

Strategie

InterfaceAlgorithme()

StrategieConcreteA

InterfaceAlgorithme()

StrategieConcreteB

InterfaceAlgorithme()

StrategieConcreteC

InterfaceAlgorithme()

strategie

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

11

introspection / réification intercession / réflexion

niveau de base

objetapplication

méta-objet

niveau méta

Réflexivité

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

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é

Programmationpar composants

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

13

Séparation des Préoccupations (SOP)

Réflexivité

Programmationpar composants

ORB ORB adaptables statiquement•TAO, ZEN, CIAO

JonathanCORBA

ORB adaptables Dynamiquement•dynamicTAO, •OpenORB

Par tissage d’aspect dynamique•AscpectIX

Classification des solutions adaptables

Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques

personnalité et réflexivité

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

14

Séparation des Préoccupations (SOP)

Réflexivité

Programmationpar 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

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

15

Séparation des Préoccupations (SOP)

Réflexivité

Programmationpar composants

Application

Classification des solutions adaptables

Adaptabilité au niveau de ORB Modèles à composants Applications Services Techniques

programmation par composantset patron stratégie

Adaptation statique•CESURE

ACEEL

ARCAD

Adaptation dynamique•Qinna

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

16

Séparation des Préoccupations (SOP)

Réflexivité

Programmationpar 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 ouvertPersonnalité

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

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

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

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 d’assemblage

modèle pour l’assemblage 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

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

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é

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

20

QoS P1S

fonctionnalité

fiabilité, efficacité, portabilité

fonction

modèle

fiabilité,efficacité

environnementd’exécution

11

1

1

1

N

tripletnom de variable

unité de mesure

ouvaleur min et max

valeur de variable et opérateur

N

1

1

1

Notion de « Personnalité d’un Service » P1S

tripletnom de variable

unité de mesure

ouvaleur min et max

valeur de variable et opérateur

1

1

1

N

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

21

QoS P1S

fonctionnalité

fiabilité, efficacité, portabilité

service transactionnel

transaction plate

fiabilité,efficacité

environnementd’exécution

Exemple de P1SService de Transactions plates

type application

= default

utilisation_CPU

%

min: XX, max: XX

transaction par minute

trans/min

= XX

fréquence CPU

Mhz

= XX

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

22

QoS P1S

fonctionnalité

fiabilité, efficacité, portabilité

service transactionnel

transaction ONT

fiabilité,efficacité

environnementd’exécution

Exemple de P1SService de Transactions ONT

type application

= webservice

utilisation_CPU

%

min: XX, max: XX

transaction par minute

trans/min

= XX

fréquence CPU

Mhz

= XX

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

23

Notion de « Lot de Services » L2S

L2S

QoS P1SN

environnement d’exécution

N

1

triplet

nom de variable

unité de mesure

ouvaleur min et max

valeur de variable et opérateur

1

1

1

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

24

Exemple de L2Spour application de Webservice

L2S

environnement d’exécution

QoS P1S

fonctionnalité

service transactionnel

transaction ONT

fonctionnalité

service de persistance

JDO

Type application

= webservice

fonctionnalité

service de courtage

UDDI

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

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

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

26

Exemple de conception de la P1S transactions plate

TMP1S

trans. plates

interface associée à la P1S

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

27

Exemple de conception de la P1S transactions ONT

CDOtable

CM

interpr.ONT

interpr.flat

TechnicalService

TransactionManager

TransactionManagerONT

TechnicalService

СompensationManager

Compensator

CDOTable

CD

OTa

ble

Add

P1S trans. plates

P1S trans. ONT

interfaces associéesaux P1S

composant implantant une tâche élémentaire réutilisé

liaisons

TM

TMONT

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

28

intercepteur

contenucontrôleur

Modèle d’assemblage: sous contrôleurs

CA

sous-contrôleurs

client Méthode()

Pre()Post()

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

29

intercepteur

contenucontrôleur

Modèle d’assemblage: sous contrôleurs

CA

associe un ST à un sous-contrôleur composant de Call-Back

ST2 CB2

CF2

P1S2

liaison entre les deuxsous-contrôleurs

interface de call-back du composant

applicatif

P1S11CF1CB1

P1S12

sous-contrôleur du service technique 1

2 personnalités du service technique 1

ST1

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

30

Compte bancairedébit(s)crédit(s)

Exemple d’assemblage composant bancaire / service transaction

Comp simplecomp_débit(s)

compt_crédit(s)

plate

Servicetransactionnel

CF

Comp +comp_débit(s)

compt_crédit(s)

Servicetransactionnel

ONT

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

31

service technique

niveau méta

niveau de base

service de gestion

composantapplicatif

représentation action représentation

moniteur

<gère <notifiecoordinateur

interroge>annuairecontrat

Gestion de l’adaptation

environnementd’exécution

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

32

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>annuairecontrat

environnementd’exé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

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

33

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

Profil fourni par l’environnement

Profil requis par le service technique

Profil requis par le composant applicatif

Profil fourni par le service technique

fourni dynamiquementpar le moniteur

=P1S fourni par ledéveloppeur de ST

fourni par le développeurde composant applicatif

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>annuairecontrat

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

34

environnementd’exécution

service technique

niveau méta

niveau de base

service de gestion

composantapplicatif

représentation action représentation

moniteur

<gère <notifiecoordinateur

interroge>annuairecontrat

Gestion de l’adaptation

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

35

environnementd’exécution

service transactionnel

niveau méta

niveau de base

CA

Gestion de l’adaptation

moniteur

coordinateur

annuairecontrat

besoin appli

environnement

service transactionnel

P1SONT

P1Splate

Requêteexport

P1Splate

Requêteexport

P1SONT

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

36

environnementd’exécution

niveau méta

niveau de base

CA

Gestion de l’adaptation

moniteur

coordinateur

annuairecontratP1SplateP1S

ONT

besoin appli

environnement

Requêteimport

besoin appli

environnement

P1SONT

service transactionnel

service transactionnel

P1SONT

P1Splate

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

37

représentation

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

Gestion de l’adaptation

service de gestion

action représentation

<gère <notifiecoordinateur

interroge>annuairecontrat moniteur

moniteur

filtre synthèse filtrefiltrecapteurs

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

38

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifie

interroge>annuairecontrat

coordinateurCoordinateur 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

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

39

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>contrat annuaire

annuaire de courtage sémantique expression des préférences

Décomposeur de requêtes Annuaire 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

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

40

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>contrat annuaire

annuaire de courtage sémantique Expression des préférences

Décomposeur de requêtes Annuaire 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êteexport

P1Splate

P1Splate

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

41

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>contrat annuaire

annuaire de courtage sémantique Expression des préférences

Décomposeur de requêtes Annuaire 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êteimport

besoin appli

environnement

P1Smobile

P1SONT

P1Splate

sous-requête 1

besoin appli

environnement

P1SONT

P1Splate

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

42

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>contrat annuaire

annuaire de courtage sémantique Expression des préférences

Décomposeur de requêtes Annuaire 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

P1Smobile

Requêteimport

besoin appli

environnement

Sous-requête 2

P1SONT

P1Splate

P1SONT

P1Splate

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

43

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>contrat annuaire

annuaire de courtage sémantique Expression des préférences

Décomposeur de requêtes Annuaire 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êteimport

besoin appli

environnement

P1Smobile

Sous-requête 2

P1SONT

P1Splate

P1SONT

P1Splate

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

44

environnementd’exécution

service technique

niveau méta

niveau de base

composantapplicatif

représentation

Gestion de l’adaptation

service de gestion

action représentation

moniteur

<gère <notifiecoordinateur

interroge>contrat annuaire

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

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++

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

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

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

47

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

nommage

courtage

Annuaire générique de composants

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

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

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

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

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

50