18
Support Support d'adaptation d'adaptation dynamique pour le dynamique pour le modèle de modèle de composants PauWare composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France LIUPPA, Pau, France Journée ADAPT, Fribourg, Suisse, 14 Février 2008 Journée ADAPT, Fribourg, Suisse, 14 Février 2008

Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Embed Size (px)

Citation preview

Page 1: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Support d'adaptation Support d'adaptation dynamique pour le dynamique pour le

modèle de composants modèle de composants PauWare PauWare

Cyril Ballagny, Nabil Hameurlain, Franck BarbierCyril Ballagny, Nabil Hameurlain, Franck BarbierLIUPPA, Pau, FranceLIUPPA, Pau, France

Journée ADAPT, Fribourg, Suisse, 14 Février 2008Journée ADAPT, Fribourg, Suisse, 14 Février 2008

Page 2: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

PlanPlan

Introduction à l’adaptation dynamiqueIntroduction à l’adaptation dynamique Le modèle de composant PauWare Le modèle de composant PauWare

Le composantLe composant Le container Le container La boucle de contrôleLa boucle de contrôle

ConclusionConclusion

Page 3: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

L’adaptation dynamiqueL’adaptation dynamique Distinction reconfiguration/adaptationDistinction reconfiguration/adaptation

La reconfiguration s’applique sur un assemblage de composants La reconfiguration s’applique sur un assemblage de composants en modifiant des liaisons entre composants et en migrant d’un en modifiant des liaisons entre composants et en migrant d’un environnement d’exécution à un autreenvironnement d’exécution à un autre

L’adaptation s’applique sur un composant en modifiant ses L’adaptation s’applique sur un composant en modifiant ses services, son comportement, son algorithmique, ses propriétésservices, son comportement, son algorithmique, ses propriétés

L’adaptation est généralement moins lourde que la L’adaptation est généralement moins lourde que la reconfigurationreconfiguration

Contexte dynamique : à l’exécutionContexte dynamique : à l’exécution Pour éviter les arrêts du systèmePour éviter les arrêts du système Pour augmenter la réactivité du systèmePour augmenter la réactivité du système Pour réduire le Total Cost of Ownership!Pour réduire le Total Cost of Ownership!

Système ouvertSystème ouvert Pour mettre à jour le composant (palier aux défauts de la Pour mettre à jour le composant (palier aux défauts de la

conception initiale)conception initiale)

Page 4: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Les composants PauWareLes composants PauWare

Comportement du composantComportement du composant Se caractérise comme étant Se caractérise comme étant

Les séquences admissibles de requêtes de services sur un Les séquences admissibles de requêtes de services sur un composant (protocole)composant (protocole)

Les valeurs d’un état conditionnant le fonctionnement global Les valeurs d’un état conditionnant le fonctionnement global d’un composant (Power : On/Off; Buffer : Vide, NonVide, d’un composant (Power : On/Off; Buffer : Vide, NonVide, Plein)Plein)

Contexte fonctionnel du composantContexte fonctionnel du composant Intègre la logique métier du composantIntègre la logique métier du composant

Son algorithmiqueSon algorithmique Ses propriétés (variables métier)Ses propriétés (variables métier)

Page 5: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Le modèle de composant PauWareLe modèle de composant PauWare Un composant PauWare Un composant PauWare

encapsule une machine à encapsule une machine à état pour réaliser son état pour réaliser son comportementcomportement

La machine à états La machine à états persiste à l’exécution : persiste à l’exécution : observation et contrôleobservation et contrôle

Les communications Les communications reposent sur l’envoi reposent sur l’envoi asynchrone de messagesasynchrone de messages

Les services fournis par Les services fournis par le composant sont le composant sont déclenchés par la déclenchés par la réception de messagesréception de messages

Page 6: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Le container PauWareLe container PauWareEst conforme au modèle de composant PauWare

Permet de remplacer la machine à états du composant

Permet de remplacer le contexte fonctionnel du composant

L’état de sous-machine référence la machine à états du composant

L’état Historique (H*) permet de mémoriser/retrouver l’état du composant avant adaptation

L’intégrité de l’adaptation est garantie par le cycle run-to-completion de la machine à états et les invariants d’états

Page 7: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Boucle de contrôle d’un composant Boucle de contrôle d’un composant PauWarePauWare

Un ensemble de sondes Un ensemble de sondes pour détecter des pour détecter des anomalies et produire anomalies et produire des messages les des messages les rapportant rapportant

Un agrégateur pour Un agrégateur pour centraliser les messages centraliser les messages des sondes et les des sondes et les redistribuerredistribuer

Un évaluateur pour Un évaluateur pour choisir une politique choisir une politique d’adaptationd’adaptation

Un ensemble d’effecteurs Un ensemble d’effecteurs pour réaliser le plan de pour réaliser le plan de l’évaluateurl’évaluateur

Page 8: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Les sondesLes sondes

Ce sont des composants PauWareCe sont des composants PauWare Chargées de mesurer des paramètres systèmes Chargées de mesurer des paramètres systèmes

(charge CPU, occupation mémoire)(charge CPU, occupation mémoire) Chargées d’intercepter les exceptions d’un Chargées d’intercepter les exceptions d’un

composantcomposant Produisent des messages de plus haut niveauProduisent des messages de plus haut niveau Les rapportent à l’agrégateur du composant Les rapportent à l’agrégateur du composant

auquel elles sont rattachéesauquel elles sont rattachées

Page 9: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

L’agrégateurL’agrégateur

Rassemble les messages provenant des Rassemble les messages provenant des sondessondes

Les redistribuent aux composants Les redistribuent aux composants souhaitant participer au processus souhaitant participer au processus d’adaptation et à la recherche de solutionsd’adaptation et à la recherche de solutions

Page 10: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

L’évaluateurL’évaluateur

L’évaluateur intercepte chaque message L’évaluateur intercepte chaque message arrivant au composant et regarde si une arrivant au composant et regarde si une règle le concerne sinon il est transmis au règle le concerne sinon il est transmis au comportement du composantcomportement du composant

Politique basé sur paradigme Politique basé sur paradigme Evénement/Condition/ActionEvénement/Condition/Action

Supporté par les machines à étatsSupporté par les machines à états

Page 11: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Les effecteursLes effecteurs

Réalisent le processus d’adaptationRéalisent le processus d’adaptation Ont accès au contexte du composant ainsi Ont accès au contexte du composant ainsi

qu’à son comportementqu’à son comportement Peuvent produire de nouveaux Peuvent produire de nouveaux

événementsévénements

Page 12: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Travail futurTravail futur

Garantir l’intégrité d’une adaptation au niveau Garantir l’intégrité d’une adaptation au niveau global, i.e. pour tout l’assemblage de global, i.e. pour tout l’assemblage de composantscomposants utilisation des protocoles de communication des utilisation des protocoles de communication des

systèmes multi-agents pour structurer les systèmes multi-agents pour structurer les conversations entre composants.conversations entre composants.

Réification de ces protocoles pour pouvoir intervenir Réification de ces protocoles pour pouvoir intervenir dessus.dessus.

Garantir la compatibilité des substitutions :Garantir la compatibilité des substitutions : Entre les états de l’ancien comportement et du Entre les états de l’ancien comportement et du

nouveaunouveau Entre les propriétés de l’ancien contexte et du Entre les propriétés de l’ancien contexte et du

nouveaunouveau

Page 13: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

ConclusionConclusion

Le comportement d’un composant Le comportement d’un composant PauWare est spécifié à l’aide d’une PauWare est spécifié à l’aide d’une machine à états UMLmachine à états UML

Un conteneur basé état permet de Un conteneur basé état permet de remplacer le comportement et la logique remplacer le comportement et la logique fonctionnelle du composant de façon fonctionnelle du composant de façon cohérentecohérente

Une boucle de contrôle permet de réaliser Une boucle de contrôle permet de réaliser la fonction « self »la fonction « self »

Page 14: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

RéférencesRéférences [RBB06] Fabien Romeo, Cyril Ballagny, Franck Barbier. PauWare : un modèle de [RBB06] Fabien Romeo, Cyril Ballagny, Franck Barbier. PauWare : un modèle de

composant basé état, Actes des Journées Composants, Canet en Roussillon, composant basé état, Actes des Journées Composants, Canet en Roussillon, France, 4-6 octobre, pp. 1-10, 2006. France, 4-6 octobre, pp. 1-10, 2006.

[AC03] Mehmet Aksit and Zièd Choukair. Dynamic, adaptive and reconfigurable [AC03] Mehmet Aksit and Zièd Choukair. Dynamic, adaptive and reconfigurable systems overview and prospective vision. In systems overview and prospective vision. In ICDCSW '03: Proceedings of the 23rd ICDCSW '03: Proceedings of the 23rd International Conference on Distributed Computing SystemsInternational Conference on Distributed Computing Systems , page 84, Washington, , page 84, Washington, DC, USA, 2003. IEEE Computer Society.DC, USA, 2003. IEEE Computer Society.

Page 15: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

La démonstrationLa démonstration

Page 16: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Merci,Merci,des questions?des questions?

Page 17: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

On the use of agent interaction protocols :On the use of agent interaction protocols :FIPA Request Interaction ProtocolFIPA Request Interaction Protocol

Agent protocols are Agent protocols are well formalized and well formalized and enable negociation, enable negociation, coordination, coordination, agreement …agreement …

Consider autonomy : Consider autonomy : Refuse vs AgreeRefuse vs Agree

Consider fallibilityConsider fallibilityFailureFailure

Page 18: Support d'adaptation dynamique pour le modèle de composants PauWare Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT,

Profil UML PauWareProfil UML PauWare