180 likes | 282 Views
Eclipse Plug-ins Factory. Instanciation de l’approche SmartTools sous Eclipse. ODL SmartTools Fouad Allaoui – chez IBM Paris depuis le 2 juin. Didier.Parigot@inria.fr. Sommaire. Les premiers résultats Les principales étapes du travail de Fouad Allaoui Proposition d’un planning
E N D
Eclipse Plug-insFactory Instanciation de l’approche SmartTools sous Eclipse ODL SmartTools Fouad Allaoui – chez IBM Paris depuis le 2 juin Didier.Parigot@inria.fr
Sommaire • Les premiers résultats • Les principales étapes du travail de Fouad Allaoui • Proposition d’un planning • Conclusion
Objectifs • Intégration dans la plateforme Eclipse • Diffusion et distribution de l’approche SmartTools • Communauté d’utilisateurs en forte croissance • Automatisation du processus de développement de plug-ins SmartTools eclipse OSGi XML JAVA
Eclipse Plug-ins Factory • Diffusion et Distribution avec les outils Eclipse Ensemble de plug-ins eclipse Résultats (1)
Résultats (2) Production automatisée de Plug-in: Ingénierie Dirigée par les Modèles eclipse Wizard Modèle Vue Composant = Plug-in 90% du code produit
RCPs Plug-ins Bundles eclipse RCP OSGi Résultats (3) Évolution de la notion d’IDE vers la notion de générateur d’applications Rich-Client-Platform (RCP) Intégration de notre SOA :Architecture Orientée Services Assemblage de composant Plug-in
Travail Réalisé Les principales étapes : • Mise en place du développement de SmartTools sous Eclipse • SVN, Java 1.5, OSGi, Eclipse • Intégration de nos trois composants de base: Absynt, Cosynt et CDML • Editeur Eclipse et Vue générique. • Intégration de nos outils de génération automatique de plugins. • Plug-in Development Environment (PDE). • Distribution de notre approche (ensemble de plugins à charger) • Démonstration sur un exemple basique. • Diffusion de notre approche (Salon Linux et EclipseCon’07). • Intégration de notre Architecture Orientée Service (SOA).
Suivi du planning • Toutes les tâches de la première année ont été quasiment réalisées, mais il reste à: • Finaliser les environnements de nos DSLs (éditeur Eclipse) • Poursuivre l’effort de diffusion et de démonstration • En avance sur le planning • Intégration des vues graphiques et de notre SOA ont été avancées par rapport au planning. • Phase de diffusion avancée (février et mars 2007) sur un exemple très basique.
Planning de la 2eme année • 1) Intégration de notre SOA • Nos DSLs et Plugins: CM, LML, WORDL • Finalisation des environnements d’Eclipse • Elaboration d’exemple de démonstration • 2) Travail de Diffusion • Documentation, Presentation, • Eclipse Europe, EclispeCon’08 etc… • 3) Outils Sémantiques à base de visiteurs • A la base de soumission de projets. • 4) Version repartie de notre SOA • Valorisation de notre approche
Conclusion (1) Retour d’expérience • Résultats de notre démarche • Le développement de plug-ins est fortement automatisé • Réelle complémentarité fonctionnelle entre SmartTools et Eclipse • Faible effort de développement durant l’intégration • Faible dépendance entre SmartTools et Eclipse (SOA) • Avantages de l’Ingénierie Dirigée par les Modèles • Programmer sans utiliser directement les APIs, mais avec des DSLs. Avoir très rapide une trame du produit final
Conclusion (2) Par Fouad Allaoui • Fort enrichissement des connaissances techniques • Platform Eclipse (APIs, environnement, debug, etc) • Architectures Orientées Services • Difficultés rencontrés principalement du coté d’Eclipse • Difficulté à maitriser la durée du développement • Encadrement toujours présent et de qualité • Aides techniques, moyens fournis et supports. • Des retours positifs de la diffusion • Thèmes abordés = préoccupations des industriels.
Approche Technologies :100% Open Source • Profiter des efforts de développement des communautés Open Source • S’appuyer sur des technologies standards (XML, OSGi) • Élargir la diffusion de l’approche à travers ces communautés SmartTools eclipse OSGi XML JAVA
Approche Fabrique Logicielle • Prototype réalisé fin 2002 • Basé sur les standards : XML, JAVA • 10 composants de base (générateurs de code) • 100 000 lignes pour 1 000 000 lignes de code produits • Ingénierie Dirigée par les Modèles • Génération de code à partir de modèles • Architecture Orientée Services • Modèle à composants • Communication par services
cmp2-1 cmp1-1 cmp2-2 Configuration Component Manager Services Eclipse RCP OSGi SOA
ABSYNT DTD XSD ( XML.dtd ) ( XML.xsd ) ( XML.absynt ) DSL Visitor ( XMLVisitor.java ) GENERATION DSL Model ABSYNT -Plugin Absynt
COSYNT ( XML.cosynt ) View n View 1 xsl xsl DSL GENERATION Model GENERATION Parser xsl COSYNT -Plugin Concrete Syntax Cosynt
Container CDML ( XML.cdml ) DSL GENERATION Facade CDML -Plugin Activator CDML