180 likes | 343 Views
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
E N D
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 • La boucle de contrôle • Conclusion
L’adaptation dynamique • Distinction reconfiguration/adaptation • La reconfiguration s’applique sur un assemblage de composants en modifiant des liaisons entre composants et en migrant d’un environnement d’exécution à un autre • L’adaptation s’applique sur un composant en modifiant ses services, son comportement, son algorithmique, ses propriétés • L’adaptation est généralement moins lourde que la reconfiguration • Contexte dynamique : à l’exécution • Pour éviter les arrêts du système • Pour augmenter la réactivité du système • Pour réduire le Total Cost of Ownership! • Système ouvert • Pour mettre à jour le composant (palier aux défauts de la conception initiale)
Les composants PauWare • Comportement du composant • Se caractérise comme étant • Les séquences admissibles de requêtes de services sur un composant (protocole) • Les valeurs d’un état conditionnant le fonctionnement global d’un composant (Power : On/Off; Buffer : Vide, NonVide, Plein) • Contexte fonctionnel du composant • Intègre la logique métier du composant • Son algorithmique • Ses propriétés (variables métier)
Le modèle de composant PauWare • Un composant PauWare encapsule une machine à état pour réaliser son comportement • La machine à états persiste à l’exécution : observation et contrôle • Les communications reposent sur l’envoi asynchrone de messages • Les services fournis par le composant sont déclenchés par la réception de messages
Le container PauWare • Est 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 PauWare • Un ensemble de sondes pour détecter des anomalies et produire des messages les rapportant • Un agrégateur pour centraliser les messages des sondes et les redistribuer • Un évaluateur pour choisir une politique d’adaptation • Un ensemble d’effecteurs pour réaliser le plan de l’évaluateur
Les sondes • Ce sont des composants PauWare • Chargées de mesurer des paramètres systèmes (charge CPU, occupation mémoire) • Chargées d’intercepter les exceptions d’un composant • Produisent des messages de plus haut niveau • Les rapportent à l’agrégateur du composant auquel elles sont rattachées
L’agrégateur • Rassemble les messages provenant des sondes • Les redistribuent aux composants souhaitant participer au processus d’adaptation et à la recherche de solutions
L’évaluateur • L’évaluateur intercepte chaque message arrivant au composant et regarde si une règle le concerne sinon il est transmis au comportement du composant • Politique basé sur paradigme Evénement/Condition/Action • Supporté par les machines à états
Les effecteurs • Réalisent le processus d’adaptation • Ont accès au contexte du composant ainsi qu’à son comportement • Peuvent produire de nouveaux événements
Travail futur • Garantir l’intégrité d’une adaptation au niveau global, i.e. pour tout l’assemblage de composants • utilisation des protocoles de communication des systèmes multi-agents pour structurer les conversations entre composants. • Réification de ces protocoles pour pouvoir intervenir dessus. • Garantir la compatibilité des substitutions : • Entre les états de l’ancien comportement et du nouveau • Entre les propriétés de l’ancien contexte et du nouveau
Conclusion • Le comportement d’un composant PauWare est spécifié à l’aide d’une machine à états UML • Un conteneur basé état permet de remplacer le comportement et la logique fonctionnelle du composant de façon cohérente • Une boucle de contrôle permet de réaliser la fonction « self »
Références • [RBB06] Fabien Romeo, Cyril Ballagny, Franck Barbier. PauWare : un modèle de composant basé état, Actes des Journées Composants, Canet en Roussillon, France, 4-6 octobre, pp. 1-10, 2006. • [AC03] Mehmet Aksit and Zièd Choukair. Dynamic, adaptive and reconfigurable systems overview and prospective vision. In ICDCSW '03: Proceedings of the 23rd International Conference on Distributed Computing Systems, page 84, Washington, DC, USA, 2003. IEEE Computer Society.
On the use of agent interaction protocols :FIPA Request Interaction Protocol • Agent protocols are well formalized and enable negociation, coordination, agreement … • Consider autonomy : Refuse vs Agree • Consider fallibility Failure