27
Framework Rainbow Alban Ménager Plan Contexte Framework Rainbow Exemple Implémentation Test et Performances Conclusion Framework Rainbow Architecture-Based Self-Adaptation whith reusable Infrastructure Alban Ménager 18 octobre 2011

Framework Rainbow Architecture-Based Self-Adaptation whith reusable Infrastructure

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.