Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parSébastien Normand Modifié depuis plus de 10 années
1
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
2
Plan Introduction à l’adaptation dynamique
Le modèle de composant PauWare Le composant Le container La boucle de contrôle Conclusion Introduction : présentation des différents termes : distinction Reconfiguration/Adaptation Comportement/Contexte fonctionnel
3
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) Adaptation Statique code glue pour faire correspondre deux services.
4
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)
5
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 First let me introduce you the PauWare component model : A PauWare component encapsulated a state machine to realize its behavior, Each service coming from the provided interface is mapped to a statemachine event, Communication between components relies on event broadcasting, that is to say when a component emits a message toward another component, it doesn’t wait for the recipient to proceed the event to continue its own workflow Dynamically observe and control Making this approach well adapted for behavioral adaptation
6
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 Pour le context, application du pattern Strategie Run-to-completion : une seule occurrence d’événement est traité à la fois Pb de compatibilité entre les états de l’ancienne machine et de la nouvelle Après un changement de contexte : contrôle des invariants des états.
7
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 Let’s have a look on the UML control loop metamodel What is the control loop in the PauWare component model? It is a set of sensors, …
8
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
9
L’agrégateur Rassemble les messages provenant des sondes
Les redistribuent aux composants souhaitant participer au processus d’adaptation et à la recherche de solutions
10
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 Pour l’auto-adaptation
11
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
12
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 a set of rules to be respected by individual entities using structured messages. enable validation and verification of properties such as termination
13
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 »
14
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, IEEE Computer Society.
15
La démonstration
16
Merci, des questions?
17
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 Even a simple protocol like the FIPA request one considers autonomy, fallibility… As a starting point, we take a simple protocol coming from the FIPA specifications : the FIPA Request IP. What is FIPA? Foundation for Intelligent Physical Agents an organization that promotes the agent-based technology
18
Profil UML PauWare
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.