1 / 17

Contributions de l’équipe ADAM dans le projet JOnES

Contributions de l’équipe ADAM dans le projet JOnES. Mercredi 11Avril 2007. Revue de projet, Montbonnot - France. Nicolas DOLET ( nicolas.dolet@inria.fr ) Philippe MERLE ( philippe.merle@inria.fr ) Equipe ADAM (ex Projet Jacquard) - INRIA Futurs,

nowles
Download Presentation

Contributions de l’équipe ADAM dans le projet JOnES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Contributionsde l’équipe ADAMdans le projet JOnES Mercredi 11Avril 2007 Revue de projet, Montbonnot - France Nicolas DOLET (nicolas.dolet@inria.fr) Philippe MERLE (philippe.merle@inria.fr) Equipe ADAM (ex Projet Jacquard) - INRIA Futurs, Laboratoire d‘Informatique Fondamentale de Lille (LIFL), Université des Sciences et Technologies de Lille (USTL), Villeneuve d’Ascq, France

  2. Quatre contributions • Le modèle de programmation Fraclet • Annotations Java pour simplifier la programmation de composants Fractal • http://fractal.objectweb.org/fraclet • Utilisé (entre autres) par PEtALS (EBM WS) et DREAM (INRIA SARDES) • Le canevas GoTM • Construction de services de transactions à la carte • http://gotm.objectweb.org • Utilisé dans un service de transactions pour WebServices • Thread Management Framework • Observation et contrôle des activités dans un serveur d’application • http://tmf.gforge.inria.fr • Utilisé (entre autres) dans PEtALS • Fractal Deployment Framework • Déploiement de toute pile logicielle (OS, JRE, serveurs, conteneurs, applicatifs) • http://fdf.gforge.inria.fr • Utilisé (entre autres) pour déployer la pile logicielle JBI (JRE, PEtALS, composants JBI)

  3. Dissémination • Le modèle de programmation Fraclet • 5th International ECOOPWorkshop on Fractal Component Model (Fractal'06) • 11th International ECOOPWorkshop on Component-Oriented Programming (WCOP'06) • 5ièmes Journées Composants (JC'06) • Thèse de doctorat Romain Rouvoy • Le canevas GoTM • 5th International ETAPSSymposium on Software Composition (SC'06) • International ERCIM Workshop on Software Evolution (EVOL'06) • 6th International IFIP Conference on Distributed Applications and Interoperable Systems (DAIS'06) • Thèse de doctorat Romain Rouvoy • Thread Management Framework • Rien encore • Fractal Deployment Framework • Présentation à la réunion d'architecture ObjectWeb • 2nd International OTM Symposium on Grid computing, high-performAnce and Distributed Applications (GADA'06) • Soumission à EUROMICRO CBSE 2007

  4. Le modèle de programmation Fraclet

  5. Développement sans Fraclet • publicclass Client implements Main, BindingController { • private Service s; • publicvoid main (final String[] args) { • s.print("hello world"); • } • public String[] listFc () { return new String[] { "s" }; } • public Object lookupFc (final String cItf) { • if (cItf.equals("s")) { return s; } • return null; • } • public void bindFc (final String cItf, final Object sItf) { • if (cItf.equals("s")) { s = (Service)sItf; } • } • public void unbindFc (final String cItf) { • if (cItf.equals("s")) { s = null; } • } } <definition name="Client"> <interface name="r" role="server" signature="Main"/> <interface name="s" role="client" signature="Service"/> <content class="Client"/> </definition> Redondant Propice aux erreurs Répétitif

  6. Développement avec Fraclet • /** @provides name=r */publicinterface Main { • void main (String[] args); • } • /** @provides name=s */publicinterface Service { • void print (String msg); • } • publicclass Client implements Main { • /** @requires name=s */ protected Service service; • publicvoid main (final String[] args) { • service.print("hello world"); • } } publicclass Server implements Service { /** @attribute */ protected String header ; /** @attribute value=1 */ protectedint count ; publicvoid print (final String msg) { for (int i = 0; i < count; ++i) System.err.println(header + msg); } } <definition name="HelloWorld" extends="ClientImplComposite"> <component name="s" definition="ServerImpl(# ,3)"/> </definition>

  7. Bilan sur Fraclet • Simplification et fiabilisation du développement • Intégration progressive du code technique • Réduction de la taille du programme (~50%) • Fortement utilisé • JOnES – PEtALS, DREAM, GoTM, TMF et FDF • ProActive: une plate-forme pour l’informatique sur grille • COSMOS: un canevas pour la composition de ressources systèmes • DACAR: un canevas pour le déploiement autonome • FAC: une extension pour le support de l’AOP au niveau composant • A venir refactoring outils Fractal ADL, Fractal RMI, etc.

  8. Déploiement d’applications distribuées/hétérogènes :Fractal Deployment Framework

  9. Déploiement classique Processus de déploiement scripté Difficile à maintenir en cas de changement dans la topologie du réseau Aucune représentation du système déployé Parallélisme impossible Gestion des dépendances « à la main » Déploiement avec FDF Description du système Un changement dans la topologie impacte seulement la description de l’élément modifié Représentation du système déployé dans l’IHM Parallélisme, quand c’est possible Dépendances techniques prises en compte dans la description du déploiement d’un programme (personnalité) Motivation

  10. Exemple : une agence de voyages

  11. Déploiement de la démo • Plusieurs logiciels à déployer • Java • PEtALS • Tomcat • Les composants applicatifs • Chaque logiciel possède sa propre procédure de déploiement • Processus de déploiement décrits dans les personnalités • Dépendances entre logiciels • Dépendances techniques • Un composant JBI dépend de PEtALS • Une application Web (WAR) dépend de Tomcat • PEtALS et Tomcat dépendent de Java • Dépendances métier • Les serveurs doivent démarrer avant les clients

  12. Fonctionnement de FDF • Bibliothèque de composants primitifs encapsulant les mécanismes système • Composition de ces composants dans les personnalités

  13. Description des dépendances

  14. FDF Explorer • Administration du déploiement via une console graphique

  15. Bilan sur FDF • Canevas générique permettant d’abstraire le processus de déploiement • Gère l’hétérogénéité à tous les niveaux : • Matériel • Logiciel • Applicable dans différents domaines : • Informatique sur grille • Informatique ubiquitaire / mobile (PDAs) • FDF sait déjà déployer : • JRE / PEtALS (+ applicatif) / Apache Tomcat (+ applicatif) / Java RMI Registry / Apache Ant / JOnAS (+ applicatif) / Geronimo / JBoss / JADE / MySql / Fractal – Julia – Fractal RMI Registry – Fractal RMI Server / OpenCCM (+ applicatif) / FDF lui-même ! • Prototypes : • Applicatifs pour Geronimo et JBoss / OSCAR / Apache Tuscany SCA (+ applicatifs) / BPEL (Orchestra) / Qemu (virtualisation d’OS)

  16. Merci • Et maintenant, la démo !

  17. Dissémination • Le modèle de programmation Fraclet • [Rouvoy 2006a] Romain Rouvoy, Nicolas Pessemier, Renaud Pawlak et Philippe Merle. Using Attribute-Oriented Programming to Leverage Fractal-Based Developments. Dans Proceedings of the 5th International ECOOP Workshop on Fractal Component Model (Fractal'06), Nantes, France, Juillet 2006. • [Rouvoy 2006b] Romain Rouvoy et Philippe Merle. Leveraging Component-Oriented Programming with Attribute-Oriented Programming. Dans Proceedings of the 11th International ECOOP Workshop on Component-Oriented Programming (WCOP'06), Nantes, France, Juillet 2006. • [Rouvoy 2006c] Romain Rouvoy, Nicolas Pessemier, Renaud Pawlak et Philippe Merle. Apports de la programmation par attributs au modèle de composants Fractal. Dans Actes des 5ièmes Journées Composants (JC'06), Perpignan, France, Octobre 2006. • Le canevas GoTM • [Rouvoy 2006d] Romain Rouvoy, Patricia Serrano-Alvarado et Philippe Merle. A Component-based Approach to Compose Transaction Standards. Dans Proceedings of the 5th International ETAPS Symposium on Software Composition (SC'06), Volume 4089 de Lecture Notes in Computer Science (LNCS), pages 114 - 130, Vienne, Autriche, Mars 2006. Springer-Verlag. • [Rouvoy 2006e] Romain Rouvoy et Philippe Merle. Using Microcomponents and Design Patterns to Build Evolutionary Transaction Services. Dans Proceedings of the International ERCIM Workshop on Software Evolution (EVOL'06), Lille, France, Avril 2006. • [Rouvoy 2006f] Romain Rouvoy, Patricia Serrano-Alvarado et Philippe Merle. Towards Context-Aware Transaction Services. Dans Proceedings of the 6th International IFIP Conference on Distributed Applications and Interoperable Systems (DAIS'06), Volume 4025 de Lecture Notes in Computer Science (LNCS), pages 272 - 288, Bologne, Italie, Juin 2006. Springer-Verlag. • [Rouvoy 2006h] Romain Rouvoy. Une démarche à granularité extrêmement fine pour la construction de canevas intergiciels hautement adaptables : application aux services de transactions. Thèse de doctorat. Université des Sciences et Technologies de Lille, Villeneuve d’Ascq, France, décembre 2006. • Fractal Deployment Framework • [Merle 2006] Philippe Merle. Towards a Generic Deployment Framework for J2EE, OSGi, Web Services (or Everything). Présentation à la réunion d'architecture ObjectWeb, Lille, France, Juin 2006. • [Flissi 2006] Areski Flissi et Philippe Merle. A Generic Deployment Framework for Grid Computing and Distributed Applications. Dans Proceedings of the 2nd International OTM Symposium on Grid computing, high-performAnce and Distributed Applications (GADA'06), Lecture Notes in Computer Science, volume 4279, pages 1402-1411, Montpellier, France, Novembre 2006. Springer-Verlag.

More Related