Upload
fernand-jean
View
103
Download
0
Embed Size (px)
Citation preview
26 Juillet 2007 [email protected]
ODL SmartTools
Fouad Allaoui – chez IBM Paris depuis le 2 juin
Eclipse Plug-ins FactoryInstanciation de l’approche SmartTools sous Eclipse
2/11
Sommaire
1.Les premiers résultats
2.Les principales étapes du travail de Fouad Allaoui
3.Proposition d’un planning
4.Conclusion
3/11
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
JAVA
XML
OSGi
eclipse SmartTools
4/11
Résultats (1)
eclipse
• Eclipse Plug-ins Factory
Diffusion et Distribution avec les outils Eclipse
Ensemble de plug-ins
5/11
Wizard Modèle
90% du code produit
ComposantVue
eclipse
= Plug-in
Production automatisée de Plug-in:
Ingénierie Dirigée par les Modèles
Résultats (2)
6/11
eclipse RCP OSGi
Plug-ins RCPs Bundles
Intégration de notre SOA : Architecture Orientée Services
Assemblage de composant
Évolution de la notion d’IDE vers la notion de générateur d’applications Rich-Client-Platform (RCP)
Plug-in
Résultats (3)
7/11
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).
Travail Réalisé
8/11
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.
9/11
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
10/11
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
11/11
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.
12/11
Technologies : 100% Open Source
JAVA
XML
OSGi
eclipse SmartTools
• 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
Approche
13/11
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
14/11
SOA
Component Manager
Eclipse RCPEclipse RCPOSGiOSGi
ConfigurationConfiguration
cmp1-1
cmp2-1
cmp2-2
ServicesServices
15/11
AbsyntDTDDTD XSDXSDABSYNTABSYNT
ModelModel
VisitorVisitor
GENERATION
( XML.absynt )
ABSYNT -ABSYNT - PluginPlugin
( XML.dtd ) ( XML.xsd )
( XMLVisitor.java )
DSLDSL
DSLDSL
16/11
Cosynt
COSYNT -COSYNT - PluginPlugin
ModelModel
Concrete SyntaxConcrete Syntax
View 1View 1
xslxsl ParserParser
COSYNTCOSYNT
( XML.cosynt )
View nView n
GENERATION
GENERATION
xslxsl xslxsl
DSLDSL
17/11
CDML
GENERATION
DSLDSL
CDML -CDML - PluginPlugin
ContainerContainer
FacadeFacade
ActivatorActivator
CDMLCDML
( XML.cdml )
18/11
Approche