Upload
walllzzz
View
23
Download
1
Embed Size (px)
DESCRIPTION
PlanContexteFrameworkRainbowExempleImplémentationTest etPerformancesConclusionFramework RainbowArchitecture-Based Self-Adaptation whithreusable Infrastructure
Citation preview
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Framework RainbowArchitecture-Based Self-Adaptation whith
reusable Infrastructure
Alban Ménager
18 octobre 2011
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Plan
Contexte
Framework Rainbow
Exemple
Implémentation
Test et Performances
Conclusion
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Quoi ?
I Auto-adaptation d’un logiciel à un systèmeI Évolution du systèmeI Contraintes du système
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Par qui ?
I Defense Advanced Research ProjectsAgency (DARPA)
I Carnegie Mellon University
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Pourquoi ?
I Faire des économiesI Faciliter l’auto-adaptation
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Problèmes
I Environnement évolutifI Contraintes d’environnement et du clientI Il faut donc auto-adapter le logiciel
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Existant
Solution interneI Trop près du codeI Difficile à mettre en placeI Difficile à modifierI → Trop coûteux
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Autre Solution
Solution externeI Nécessité d’avoir un modèleI Mise en place d’un modèle architecturalI Perspective globale du système
I Soulève les propriétés du systèmeI Soulève les contraintes du système
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Autre SolutionProblèmes
I Les systèmes ayant des architecturesdifférentes devrons avoir un modèle decontrôle et des stratégies de modificationsadaptés à chaque modèle.
I Le but de diminuer les coûts peut êtreremis en cause s’il faut adapter tous lesmécanismes de transformation pour chaquenouveau système.
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Et Rainbow ?
Tente de résoudre ces problème car il possède :I une infrastructure réutilisableI des mécanismes de spécialisation pour cetteinfrastructure
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
SolutionI C’est donc à un composant exterieur defaire l’adaptation à l’environnement.
I Utile quand on ne peut pas accéder au codesource.
Figure: Composant externe
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Une Structure Réutilisable
Tous les composants du framework doivent êtreréutilisable. Il a donc été divisé en deux :
I Adaptation infrastructureI Architecture LayerI Translation LayerI System Layer
I System-specific adaptation knowledgeI Propre au système
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Structure
Figure: La Structure de Rainbow
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
System-layer infrastructure
I Probes mechanism Observe et mesure lesétats du système.
I Resource discovery mechanism Découvertede nouvelles ressources.
I Effector mechanism Effectue lesmodifications du système actuel.
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Architecture-layer infrastructure
I Gauges Des jauges ajoutes des informationsaux mesures précédentes et met-à-jour lespropriétés de l’architecture.
I Model Manager fournie una accès aumodèle d’architecture.
I Constrainte evluator Vérifie périodiquementle modèle et l’adapte si des violations decontraintes apparaissent.
I Adaptation engine Determines ledéroulement des actions et effectue lesadaptations nécessaires.
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Translation infrastructure
Permet de mapper des information entre lesdeux couches System et Architecture
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
System-specific adaptationknowledge
Adaptation de l’infrastructure au système.
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Architecture StylePoints communs entre différentes architecturessystèmes. Un ensemble de 4 entités à été mis enplace par la communauté du softwareengineering pour observer les points communs :
I Component and connector types offre unvocabulaire d’éléments :
I Components Database, Client, Server...I Connectors SQL, HTTP, RPC...
I Constraints détermine ce qui est permis defaire pour les éléments instanciés.
I Éviter les boucles.
I Properties Attributs des Component andconnector types.
I Analyses Analyse de performances.
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Architecture StyleCes 4 entités sont des attributs statiques.Le framework Rainbow étend cette notion encapturant des attributs dynamiques du système :
I Adaptation operators Détermine unensemble d’actions spécifiques quel’infrastructure de controle pourra réalisersur les éléments du système ou modifier saconfiguration.
I Adaptation strategies Spécifie desadaptations qui pourront êtres lancées afinde sortir le système d’une conditionindésirable.
I Adaptation strategies
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Client/Serveur
Figure: Client/Serveur
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Propriétés
I Types ClientT, ServerT, ServerGroupT, andLinkT
I Properties ClientT.responseTime,ServerT.load, Server- GroupT.load, andLinkT.bandwidth
I Operators ServerGroupT.addServer() andClientT.move(ServerGroupT, toGroup)
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Pour chaque client
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Architecture-layer
I Implémenté en Java.I Basé sur Acme
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Translation Infrastructure
I Implémenté en Java.I Le Translation Repository fourni uneinterface Java RMI pour stocker et fournirle mapping de translation.
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Environnement
I 5 routeursI 11 machines en communicationI lignes de 10mbpsI réseau surchargéI latence des clients de moins de 2s
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Résultats
FrameworkRainbow
Alban Ménager
Plan
Contexte
FrameworkRainbow
Exemple
Implémentation
Test etPerformances
Conclusion
Conclusion
I Il est possible de réaliser une architectureauto-adaptive low-cost utilisant uneinfrastructure réutilisable.
I Tous les éléments du systèmes sontaccessibles et donc on peut les observer etadapter.