support d'adaptation dynamique pour le modèle de composants pauware
DESCRIPTION
Support d'adaptation dynamique pour le modèle de composants PauWare. Cyril Ballagny, Nabil Hameurlain, Franck Barbier LIUPPA, Pau, France Journée ADAPT, Fribourg, Suisse, 14 Février 2008. Plan. Introduction à l’adaptation dynamique Le modèle de composant PauWare Le composant Le container - PowerPoint PPT PresentationTRANSCRIPT
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
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
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)
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)
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
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
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
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
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
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
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
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
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 »
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.
La démonstrationLa démonstration
Merci,Merci,des questions?des questions?
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
Profil UML PauWareProfil UML PauWare