lsr - adele ujf une approche générique pour la reconfiguration dynamique des applications à base...

51
LSR - ADELE UJF Une Approche Générique pour la Une Approche Générique pour la Reconfiguration Dynamique des Applications Reconfiguration Dynamique des Applications à base de Composants Logiciels à base de Composants Logiciels Abdelmadjid KETFI Abdelmadjid KETFI le 10 décembre 2004 Laboratoire LSR Laboratoire LSR Équipe ADELE Équipe ADELE Université Joseph Fourier – Grenoble Université Joseph Fourier – Grenoble

Upload: ludivine-alexandre

Post on 03-Apr-2015

109 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

LSR - ADELE UJF

Une Approche Générique pour la Une Approche Générique pour la Reconfiguration Dynamique des Reconfiguration Dynamique des

Applications à base de Composants Applications à base de Composants LogicielsLogiciels

Abdelmadjid KETFIAbdelmadjid KETFI

le 10 décembre 2004

Laboratoire LSRLaboratoire LSRÉquipe ADELEÉquipe ADELE

Université Joseph Fourier – GrenobleUniversité Joseph Fourier – Grenoble

Page 2: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

22

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 3: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

33

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 4: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

44

LSR - ADELE UJF

MotivationMotivation

Analyse Conception Développement DéploiementDéploiement

Internet Composants Mobilité

Page 5: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

55

LSR - ADELE UJF

MotivationMotivation

Analyse Conception Développement DéploiementDéploiement

Configuration Fin de support

Installation Désinstallation

Mise à jour Reconfiguration

Activation Désactivation

Reconfiguration

Modifier une application à l’exécution, sans

l’arrêter

Page 6: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

66

LSR - ADELE UJF

MotivationMotivation

Scénarios d’applications : Scénarios d’applications :  Hautement disponiblesHautement disponibles

WWW

Page 7: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

77

LSR - ADELE UJF

MotivationMotivation

Scénarios d’applications : Scénarios d’applications :  Hautement disponiblesHautement disponibles Distribuées, large échelleDistribuées, large échelle

Page 8: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

88

LSR - ADELE UJF

MotivationMotivation

Scénarios d’applications : Scénarios d’applications :  Hautement disponiblesHautement disponibles Distribuées, large échelleDistribuées, large échelle Clients hétérogènesClients hétérogènes

WWW

Page 9: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

99

LSR - ADELE UJF

MotivationMotivation

Scénarios d’applications : Scénarios d’applications :  Hautement disponiblesHautement disponibles Distribuées, large échelleDistribuées, large échelle Clients hétérogènesClients hétérogènes EmbarquéesEmbarquées

Page 10: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1010

LSR - ADELE UJF

ObjectifObjectif

Traiter la reconfiguration Traiter la reconfiguration dynamique comme un dynamique comme un concept non-fonctionnelconcept non-fonctionnel Séparation des préoccupationsSéparation des préoccupations

Conception et développement d’un Conception et développement d’un systèmesystème de de reconfigurationreconfiguration dynamiquedynamique «  « génériquegénérique » pour  » pour les applications à base de les applications à base de composantscomposants Indépendant des applications à reconfigurerIndépendant des applications à reconfigurer Indépendant des modèles de composants sous-jacentsIndépendant des modèles de composants sous-jacents Facile à utiliserFacile à utiliser Automatisé le plus possibleAutomatisé le plus possible

Code de l’application

Code non-fonctionnel

Avec Séparationde préoccupations

Sans Séparationde préoccupations

Code de la reconfiguration

Page 11: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1111

LSR - ADELE UJF

Cadre de travailCadre de travail

Application à base de composantsApplication à base de composants RéutilisationRéutilisation Architecture explicite – assemblageArchitecture explicite – assemblage Séparation aspects fonctionnels/non fonctionnelsSéparation aspects fonctionnels/non fonctionnels Capable de s’auto-décrireCapable de s’auto-décrire

• DépendancesDépendances• Fonctionnalités offertes Fonctionnalités offertes

Déploiement dynamiqueDéploiement dynamique ÉvolutionÉvolution

Aucun modèle de composants ne supporte toutes ces

caractéristiques

Page 12: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1212

LSR - ADELE UJF

Cadre de travail (suite)Cadre de travail (suite)

Définition Définition  ConfigurationConfiguration ReconfigurationReconfiguration Reconfiguration dynamiqueReconfiguration dynamique

Propriétés d’un système de reconfigurationPropriétés d’un système de reconfiguration CohérenceCohérence PerformancePerformance AutomatisationAutomatisation Facilité d’utilisationFacilité d’utilisation

Page 13: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1313

LSR - ADELE UJF

Serveur1

calculer()

Cadre de travail (suite)Cadre de travail (suite)

Taxonomie des modificationsTaxonomie des modifications ImplémentationImplémentation

Client1

calculer()

Page 14: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1414

LSR - ADELE UJF

Cadre de travail (suite)Cadre de travail (suite)

Taxonomie des modificationsTaxonomie des modifications ImplémentationImplémentation InterfaceInterface

Serveur2

traiter()

?? Serveur1

calculer()

Client1

calculer()

Page 15: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1515

LSR - ADELE UJF

Serveur

calculer()

Client

calculer()

Cadre de travail (suite)Cadre de travail (suite)

Taxonomie des modificationsTaxonomie des modifications ImplémentationImplémentation InterfaceInterface ArchitectureArchitecture

Filtre

calculer()

calculer()

Page 16: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1616

LSR - ADELE UJF

Cadre de travail (suite)Cadre de travail (suite)

Taxonomie des modificationsTaxonomie des modifications ArchitectureArchitecture ImplémentationImplémentation InterfaceInterface LocalisationLocalisation

DB

stocker()

Client

calculer()

Serveur

calculer()

stocker()

Machine1

Page 17: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1717

LSR - ADELE UJF

Cadre de travail (suite)Cadre de travail (suite)

Taxonomie des modificationsTaxonomie des modifications ArchitectureArchitecture ImplémentationImplémentation InterfaceInterface LocalisationLocalisation

Client

calculer()

Serveur

calculer()

stocker()

Machine1

DB

stocker()

Machine2

Page 18: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1818

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 19: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

1919

LSR - ADELE UJF

État de l’artÉtat de l’art

OuvertureOuverture

Dimensions : Dimensions : 

GranularitéGranularité

SupportSupport

Page 20: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2020

LSR - ADELE UJF

État de l’artÉtat de l’art

Dimension 1 :Dimension 1 :    SupportSupport Remplacer une entité Remplacer une entité logiciellelogicielle par par

une autreune autre Remplacer une entité Remplacer une entité matériellematérielle par par

une autreune autre ACARS (ARINC, Inc)ACARS (ARINC, Inc)

• Système de messagerie aérienne Système de messagerie aérienne SCP (Bellcore)SCP (Bellcore)

• Système de télécommunicationSystème de télécommunication

Page 21: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2121

LSR - ADELE UJF

Dimension 2  :Dimension 2  :   Solutions Solutions ferméesfermées vs. vs. ouvertesouvertes FerméesFermées

Logique de reconfiguration intégrée Logique de reconfiguration intégrée

dans l’applicationdans l’application Il faut tout envisager à l’avanceIl faut tout envisager à l’avance

Partiellement ouvertesPartiellement ouvertes « Points » de reconfiguration bien définis « plug-ins »« Points » de reconfiguration bien définis « plug-ins » Modifications non spécifiées à l’avance Modifications non spécifiées à l’avance Eclipse, Netscape, OpenVLEclipse, Netscape, OpenVL

OuvertesOuvertes Tous les éléments du système sont sujets à la Tous les éléments du système sont sujets à la

manipulationmanipulation Iguana/JIguana/J

État de l’artÉtat de l’art

Page 22: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2222

LSR - ADELE UJF

Systèmes réflexifsSystèmes réflexifs

Tours réflexives (B. Smith)Tours réflexives (B. Smith)

NotionsNotions IntrospectionIntrospection

• Lire les informations du méta-niveauLire les informations du méta-niveau IntercessionIntercession

• Modifier les informations du méta-Modifier les informations du méta-niveauniveau

RéificationRéification• Construire le méta-niveau à partir du Construire le méta-niveau à partir du

niveau de baseniveau de base

Niveau de base

Méta-niveau

Méta-méta-niveau

Méta-méta-méta…........

Méta-niveau

Niveau de base

Réification

Introspection

Intercession

Page 23: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2323

LSR - ADELE UJF

État de l’artÉtat de l’art

Dimension 3 :Dimension 3 :    GranularitéGranularité ProcéduralesProcédurales

DYMOS (Insup Lee, USA, 1983)DYMOS (Insup Lee, USA, 1983) ModulairesModulaires

Polylith (Maryland, 1985-)Polylith (Maryland, 1985-) Orientées-objetOrientées-objet

Dynamic Java/C++ classesDynamic Java/C++ classes Orientées-composantOrientées-composant

K-Components (Trinity College of Dublin)K-Components (Trinity College of Dublin) SOFA/DCUP (Charles University, Prague)SOFA/DCUP (Charles University, Prague)

Page 24: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2424

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 25: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2525

LSR - ADELE UJF

DémarcheDémarche

Système de reconfiguration

JavaBeans

Système de reconfiguration

OSGi

Approche ascendanteApproche ascendante

GénéralisationGénéralisation

Systèmes de reconfiguration Systèmes de reconfiguration dédiés à des modèles dédiés à des modèles particuliersparticuliers

PersonnalisationPersonnalisation

Système de reconfiguration

Générique

Généralisation

Personnalisation

Page 26: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2626

LSR - ADELE UJF

Système de reconfiguration pour le Système de reconfiguration pour le modèle JavaBeansmodèle JavaBeans

BeanBoxBeanBox DBeanBoxDBeanBox  

Intercepteurs : générés, compilés et chargés à la voléeIntercepteurs : générés, compilés et chargés à la volée Communication limitée aux événementsCommunication limitée aux événements

Page 27: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2727

LSR - ADELE UJF

Système de reconfiguration pour le Système de reconfiguration pour le modèle JavaBeansmodèle JavaBeans

Intercepteurs Intercepteurs Principe : Principe : 

SondeSonde MoniteurMoniteurIntercepteurIntercepteur

notifynotify receivereceive

IReconfigurationIReconfiguration

Rôle : Rôle : 

setTargetObject(...)

setTargetMethod(...)

passivate()

activate()

IReconfigurationIReconfiguration

Gestion des Gestion des connexionsconnexions

Gestion des messagesGestion des messages

Page 28: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2828

LSR - ADELE UJF

Système de reconfiguration pour le Système de reconfiguration pour le modèle JavaBeansmodèle JavaBeans

Gestion des messagesGestion des messages Éviter la perte des messagesÉviter la perte des messages Files d’attenteFiles d’attente

Gestion du transfert d’état Gestion du transfert d’état Solution ad-hocSolution ad-hoc Lire les valeurs des propriétés du Bean à remplacer et les Lire les valeurs des propriétés du Bean à remplacer et les

écrire dans les propriétés du nouveau Beanécrire dans les propriétés du nouveau Bean Problème de correspondanceProblème de correspondance

3311 44

5522Bean1

IkI1

Bean2 Bean3

I1 IkIkI1

Page 29: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

2929

LSR - ADELE UJF

Synthèse des expérimentationsSynthèse des expérimentations

Page 30: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3030

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 31: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3131

LSR - ADELE UJF

DYVA : principe de conceptionDYVA : principe de conception

DYVA :DYVA :   Dynamic Virtual Adaptation machineDynamic Virtual Adaptation machine Noyau générique pour la reconfiguration dynamiqueNoyau générique pour la reconfiguration dynamique Une approche réflexiveUne approche réflexive

Abstraction

Connexion Causale

Méta-niveau

Niveau de baseApplication

Environnement

Système de Reconfiguration

Services supportés : Services supportés : • PersonnalisationPersonnalisation• InstallationInstallation• ExécutionExécution

Page 32: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3232

LSR - ADELE UJF

Base de composants

Bases de composantsBases de composants : organisation des composants,  : organisation des composants, propriétés…propriétés…

DYVA : architecture interneDYVA : architecture interne

Gestionnaire de reconfiguration

Modification

Gestionnaire de reconfigurationGestionnaire de reconfiguration : opérations de : opérations de reconfiguration de basereconfiguration de base

Superviseur

Notification

SuperviseurSuperviseur : responsable de l’auto-reconfiguration : responsable de l’auto-reconfiguration

Politiques de reconfiguration

Politiques de reconfigurationPolitiques de reconfiguration : règles interprétées par le  : règles interprétées par le superviseursuperviseur

Gestionnaire du modèle abstrait

Gestionnaire du modèle abstraitGestionnaire du modèle abstrait des applications à des applications à reconfigurerreconfigurer

Page 33: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3333

LSR - ADELE UJF

DYVA : modèle abstrait d’applicationDYVA : modèle abstrait d’application

Page 34: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3434

LSR - ADELE UJF

DYVA : opérations de reconfigurationDYVA : opérations de reconfiguration

Exemple du remplacement d’instances : Exemple du remplacement d’instances : 

IM1Sonde

IJJournal

IJIM2Moniteur

2

IJIM1 Moniteur1

Moniteur1XX XX

Page 35: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3535

LSR - ADELE UJF

DYVA : auto-reconfigurationDYVA : auto-reconfiguration

AutomatisationAutomatisation

Règles ECA : Règles ECA :  ON <événement> IF <condition> THEN <action>ON <événement> IF <condition> THEN <action>

Exemple : Exemple : [RULE][RULE]

ON: OVERLOAD_EVENTON: OVERLOAD_EVENTIF: LOAD > 80 AND IF: LOAD > 80 AND Moniteur = MoniteurMoniteur = Moniteur11THEN: replace MoniteurTHEN: replace Moniteur11 Moniteur Moniteur22

Application

Environnement

Observation

Action

Décision

Page 36: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3636

LSR - ADELE UJF

DYVA : vue externeDYVA : vue externe

DYVA

Interface de Notification

Interface de notificationInterface de notification Application (instanciation, connexion…)Application (instanciation, connexion…) Environnement (bande passante, disque, charge…)Environnement (bande passante, disque, charge…)

Interface de Reconfiguration

Interface de reconfigurationInterface de reconfiguration Disconnect, remove, replace… (en exécution)Disconnect, remove, replace… (en exécution)

Plugins de Projection

Plugins de projectionPlugins de projection Plugins spécifiquesPlugins spécifiques

Page 37: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3737

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 38: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3838

LSR - ADELE UJF

DYVA : ImplémentationDYVA : ImplémentationArchitecture interneArchitecture interne

Implémentation du modèle abstraitImplémentation du modèle abstrait Génération des classes Java en utilisant XML CastorGénération des classes Java en utilisant XML Castor

Organisation du méta-niveauOrganisation du méta-niveau

Page 39: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

3939

LSR - ADELE UJF

DYVA : ImplémentationDYVA : ImplémentationTransfert d’étatTransfert d’état

Outil d’assistance au transfert d’état Outil d’assistance au transfert d’état 

Introspection

SpécificationXML

Classe Java

Ci

Instrumentation

Outil

Page 40: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4040

LSR - ADELE UJF

DYVA : ImplémentationDYVA : ImplémentationInterface d’administrationInterface d’administration

Affichage du graphe de l'architecture : GrappaAffichage du graphe de l'architecture : Grappa Mode « Local »Mode « Local » Mode « Distant » (RMI)Mode « Distant » (RMI)

Page 41: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4141

LSR - ADELE UJF

DYVA : ImplémentationDYVA : ImplémentationEffort de programmationEffort de programmation

Taille du code Taille du code (calculée en utilisant JavaNCSS)(calculée en utilisant JavaNCSS)

Exemple comparatif : plug-in de bindingExemple comparatif : plug-in de binding

Système de reconfiguration JavaBeans 2000

Système de reconfiguration OSGi 3600

BeanBox = 5400

OSGi = 7200

Noyau 3200

Personnalisation OSGi 1600

Plug-in de binding pour OSGi 400

Plug-in de binding pour Fractal 30

On réutilise la conception

Page 42: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4242

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 43: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4343

LSR - ADELE UJF

DYVA :  Personnalisation pour OSGiDYVA :  Personnalisation pour OSGi

ObjetService

Services

ClasseJava

Interfaces

Instanciation

Composants OSGiComposants OSGi

Le modèle OSGiLe modèle OSGi Chargement/déchargement Chargement/déchargement

dynamiquesdynamiques Gestion limitée aux unités de Gestion limitée aux unités de

déploiementdéploiementJVMJVM

OSGi FrameworkOSGi Framework

htt

p S

erv

ice

log

Serv

ice

Perm

issio

n

MyP

rob

e

MyH

an

dle

r

… …

OS

GiA

dap

tor

Page 44: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4444

LSR - ADELE UJF

DYVA :  Personnalisation pour OSGiDYVA :  Personnalisation pour OSGi

Principe de personnalisationPrincipe de personnalisation

NOYAUInterface de reconfiguration OSGi

Interface de notification OSGi

Plug-ins de projection OSGi

enregistrement de service

dé-enregistrement de service

connexion

déconnexion

événement

binding

transfert d’état

instanciation

libérer interface de servicelibérer objet serviceconnecter interface de servicelibérer bundle

remplacer objet service

Concept de “Bundle”Concept de “Bundle”

Opération “Opération “libérer bundlelibérer bundle”” Bundle={composants}Bundle={composants} Un composant a plusieurs instancesUn composant a plusieurs instances ““libérer bundle” libérer bundle” déconnecter toutes les déconnecter toutes les

instances de tous les composants contenus dans instances de tous les composants contenus dans le bundlele bundle

Page 45: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4545

LSR - ADELE UJF

Démo : Application Portail en OSGiDémo : Application Portail en OSGi

MySQLMySQL

Page 46: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4646

LSR - ADELE UJF

Démo : scénario de reconfigurationDémo : scénario de reconfiguration

Règles

Superviseur

Événement

Gestionnaire deReconfiguration

Gestionnaire du méta-niveau

Application

600

400

Version haute qualité

Version basse qualité

Page 47: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4747

LSR - ADELE UJF

PlanPlan

Motivation, objectif et cadre de travail

État de l’art

Expérimentations

Noyau générique pour la reconfiguration dynamique : DYVA Conception et implémentation

Personnalisation

Conclusion et perspectives

Page 48: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4848

LSR - ADELE UJF

ConclusionConclusion

ProblématiqueProblématique   Reconfiguration dynamique des applications à base de Reconfiguration dynamique des applications à base de

composantscomposants La plupart des solutions existantes : spécifiquesLa plupart des solutions existantes : spécifiques

SolutionSolution Proposition d’une approche générique de reconfiguration Proposition d’une approche générique de reconfiguration

pour les applications à base de composantspour les applications à base de composants MéthodologieMéthodologie    

  Spécifique vers généralisation puis personnalisationSpécifique vers généralisation puis personnalisation ImplémentationImplémentation  

Extension de la BeanBox puis OSGiExtension de la BeanBox puis OSGi Noyau DYVA :  prototypeNoyau DYVA :  prototype Personnalisation pour OSGIPersonnalisation pour OSGI

Page 49: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

4949

LSR - ADELE UJF

Perspectives (1/2)Perspectives (1/2)

Stabilisation du prototype DYVAStabilisation du prototype DYVA Large diffusion : logiciel libre (consortium ObjectWeb)Large diffusion : logiciel libre (consortium ObjectWeb)

ExpérimentationsExpérimentations Valider la personnalisation OSGi (Projet OSMOSE, Valider la personnalisation OSGi (Projet OSMOSE,

PISE…)PISE…) Autres personnalisations : Fractal, EJB…Autres personnalisations : Fractal, EJB…

Page 50: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

5050

LSR - ADELE UJF

Perspectives (2/2)Perspectives (2/2)

RechercheRecherche Formalisation du problème de transfert d’étatFormalisation du problème de transfert d’état

• Solution conceptuelleSolution conceptuelle• Automatisation du transfert d’étatAutomatisation du transfert d’état

MigrationMigration Gestion de la cohérence de la reconfigurationGestion de la cohérence de la reconfiguration

• Détection et résolution des anomalies lors de la Détection et résolution des anomalies lors de la reconfigurationreconfiguration

• États stablesÉtats stables Sensibilité au contexte : auto-reconfigurationSensibilité au contexte : auto-reconfiguration

• Paradigmes : ECA, agents…Paradigmes : ECA, agents…

Page 51: LSR - ADELE UJF Une Approche Générique pour la Reconfiguration Dynamique des Applications à base de Composants Logiciels Abdelmadjid KETFI le 10 décembre

5151

LSR - ADELE UJF

Questions?Questions?