Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

Like this presentation? Why not share!

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,023
On Slideshare
1,023
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
30
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Réconcilier les développeursavec une approcheréellement guidée par les modèles o Frédéric Madiot Mia-Software o Tony Rostren Mia-Software Copyright © 2010 Mia-Software All Rights Reserved
  • 2. Mia-SoftwareMia-Software est un éditeur logiciel 100 clients dans une dizaine de pays Membre de la fondation Eclipse (5 committeurs) Développe des solutions Model-Driven depuis 1998 Mia-Insight : Cartographie Applicative Analyse algorithmique Mia-Quality Analyse Qualité Mia-Studio Génération de code Transformation Model-to-Model Eclipse projects MoDisco : atelier de modernisation EMF Facet : extension de modèles Copyright © 2010 Mia-Software All Rights Reserved
  • 3. SodifranceMia-Software est une filiale de Sodifrance 850 collaborateurs 11 agences en France, Belgique et Tunisie Leader de l’IT Modernization en France 15M€ / an (CA 2009 : 63M€) Equipe R&D dédiée > 100 projets réussis Exemples : VB6  JEE/Ajax/JSF NSDK  C# COOL:Gen  JEE / Cobol NSDK  Java / Flex Smalltalk/Deplhi  Java/GWT Copyright © 2010 Mia-Software All Rights Reserved
  • 4. Model-Driven Engineering & Model-Driven Development en 2010Copyright © 2010 Mia-Software All Rights Reserved
  • 5. Le MDD ça marche !Développer une application par modélisation puis génération de codeDe nombreux projets réussis … MAAF, Société Générale, SNCF, Thales, Ifremer, BritAir, … … sur tous types de cibles Java/J2EE, C#, Ada, C++, Flex, Smalltalk, Cobol, … Copyright © 2010 Mia-Software All Rights Reserved
  • 6. Au delà du MDD… MoDisco : une plate-forme pour les projets de Modernisation LogicielleOfficial Eclipse Modeling project (in MDT) Open-source (EPL licence) Based on other Eclipse Modeling projects Released with HeliosSupported by the OMG Eclipse implementations for KDM (Knowledge Discovery Metamodel) SMM (Structured Metrics Metamodel) http://www.eclipse.org/MoDisco/ Copyright © 2010 Mia-Software All Rights Reserved
  • 7. Le MDE ça avance ! Une offre riche autour de standards établisEclipse Modeling Project 45 sous-projets 113 commiteurs 14M de lignes de code 20 sociétés impliquées (dont SAP, IBM, Oracle, CEA, Thales, Atos, …) (Activité des 9 derniers mois)Modeleurs UML2: MagicDraw, Enterprise Architect, RSM, Papyrus, Modelio, … Copyright © 2010 Mia-Software All Rights Reserved
  • 8. Le MDE suscite l’intérêt ! Le MD Day, révélateur de cette tendancePartenaires Inscrits 2007: 5 2007: 261 2010: 11 2010: 399 Copyright © 2010 Mia-Software All Rights Reserved
  • 9. Mais des réticences subsistent encore …Copyright © 2010 Mia-Software All Rights Reserved
  • 10. Quels freins ? Réussir un projet MDD implique de produire de bons modèlesEst-ce plus compliqué que de produire du bon code ?Difficulté de prise en main ? UML pas plus complexe à maîtriser que Struts, Spring, SOAP/WSDL , …Difficulté d’abstraction ? L’approche MDD n’impose aucun niveau d’abstractionProcessus plus complexe ? L’approche MDD s’adapte à tous les types de processus Copyright © 2010 Mia-Software All Rights Reserved
  • 11. Une difficulté subsiste … Garder la cohérence modèle/code est le point crucial d’un projet MDDDifficultés à naviguer du modèle au code, du code au modèle Risque de perte de tempsDifficultés à identifier les zones d’intervention Attention au code manuel hors balisesTentation à séparer les rôles Conception et Développement Risque de déresponsabilisation / démotivationTentation à figer la démarche Syndrome « boîte noire » Un projet MDD cesse d’être agile lorsque le maintien de la cohérence modèle/code devient trop coûteux Copyright © 2010 Mia-Software All Rights Reserved
  • 12. Quelles solutions pour rester agile ?Copyright © 2010 Mia-Software All Rights Reserved
  • 13. Model at runtime ? Le modèle n’est pas traduit sous forme de code, il est déployé et interprété  Le modèle reste la référenceNécessite le développement d’un moteur Approche de type framework paramétrable par fichier de configuration Cf Struts, Spring, Hibernate, … Copyright © 2010 Mia-Software All Rights Reserved
  • 14. Compilation de modèles ? Le modèle est traduit pour produire 100% du code  Le code n’est pas retouché manuellementNécessite la mise au point de règles complexes Règles de modélisation exhaustives Génération de tous les cas possibles Copyright © 2010 Mia-Software All Rights Reserved
  • 15. Agile MDDCombiner modélisation, génération et codage manuel  trouver la bonne répartitionModélisation Agile Génération Agile Utile Générations ciblées Simple Générations incrémentales Par points de vue Traçabilité Incrémentale Analyses d’impacts Codage guidé http://www.agilemodeling.com/ Adaptabilité Copyright © 2010 Mia-Software All Rights Reserved
  • 16. Démo Mia-StudioCopyright © 2010 Mia-Software All Rights Reserved
  • 17. Mia-StudioUn atelier MDE ouvert et simple à utiliser. Génération de code Génération documentaire Transformation modèles à modèles Règles de transformation adaptées à votre contexte Copyright © 2010 Mia-Software All Rights Reserved
  • 18. Mia-Studio Edition Architect Environnement de création et de mise au point des templates de génération  Support natif d’EMF  UML + Profiles  DSL (Domain Specific Languages)  Aide au développement et à la mise au point  Complétion automatique et colorisation syntaxique  Points d’arrêt  Traces navigables  Références croisées entre scripts  Facilités de déploiement  Principe de packages réutilisables  Plugin Maven Copyright © 2010 Mia-Software All Rights Reserved
  • 19. Mia-Studio Edition Developer Lancement des templates de génération  Création de launchers  Paramétrage d’un générateur  Import des modèles des outils du marché  Lançables par API ou ligne de commande  Résultats des génération  Liste des fichiers générés / non regénérés  Visualisation des fragments générés / manuels  Calcul de métriques de génération  Différences de génération au niveau du fragment  Remontée d’alertes  Code manuel hors balises  Balises non regénérées Copyright © 2010 Mia-Software All Rights Reserved
  • 20. Démo Eclipse MagicDraw CartoucheDe génération Struts Mia-Studio Java Development Toolkit + Tomcat Copyright © 2010 Mia-Software All Rights Reserved
  • 21. Merci !Société http://www.mia-software.com/ http://www.sodifrance.fr/Projets Eclipse/Modeling http://www.eclipse.org/MoDisco/ http://www.eclipse.org/modeling/emft/facet/Blog http://fmadiot.blogspot.com/ Copyright © 2010 Mia-Software All Rights Reserved